Connections
Connections let you push real-time event data from your games to external services. When a player starts a game, finishes a play, or claims a prize, DailyPlay can automatically fire a webhook to the endpoint you configure.
Supported Providers
Section titled “Supported Providers”| Provider | Description |
|---|---|
| Webhook | Any HTTP endpoint with optional auth |
| Custom | Custom API URL with optional API key |
| Zapier | Zapier webhook (HTTPS required) |
| Braze | Braze messaging platform |
| HubSpot | HubSpot CRM |
| Mailchimp | Mailchimp email marketing |
| Salesforce | Salesforce CRM |
| Segment | Segment analytics |
How It Works
Section titled “How It Works”- Create a connection at the organization level with your provider credentials
- Link the connection to one or more streams (campaigns)
- Choose trigger events that determine when the webhook fires
- When a trigger event occurs, DailyPlay sends a POST request to your endpoint with event data
Trigger Events
Section titled “Trigger Events”Each stream connection can be configured to fire on one or more of these events:
| Event | Fires when… |
|---|---|
stream_access | A player opens the stream page |
play_start | A player starts a game |
play_complete | A player finishes a game |
prize_redemption | A player claims a prize or voucher |
Setting Up a Webhook Connection
Section titled “Setting Up a Webhook Connection”1. Create the Connection
Section titled “1. Create the Connection”- Go to Connections from the main navigation
- Click Add Connection
- Choose your provider (e.g. Webhook)
- Enter the required credentials:
- Webhook / Custom — Endpoint URL and optional authorization header or API key
- Zapier — Webhook URL (must be HTTPS)
- Other providers — API key and any provider-specific fields
- Save the connection
2. Link to a Stream
Section titled “2. Link to a Stream”- Open the stream you want to connect
- Go to the Connections tab
- Select an available connection from your organization
- Choose which trigger events should fire the webhook
- Save
Payload Format
Section titled “Payload Format”When a trigger event occurs, DailyPlay sends an HTTP POST request to your configured endpoint. The payload is JSON and includes context about the event, the game, and the player.
Example: play_complete Event
Section titled “Example: play_complete Event”{ "event_type": "play_complete", "game_id": "163", "stream_id": 453, "stream_slug": "my-campaign-slug", "stream_name": "My Campaign Stream", "player_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "session_id": "s9k8j7h6-g5f4-d3c2-b1a0-123456789abc", "score": 85, "play_duration_seconds": 32, "url_params": { "user_id": "usr_123", "email": "player@example.com", "source": "email_campaign" }, "timestamp": "2026-04-09T14:30:00.000Z"}Payload Fields
Section titled “Payload Fields”| Field | Type | Description |
|---|---|---|
event_type | string | The trigger event name (e.g. play_complete) |
game_id | string | The ID of the game that was played |
stream_id | number | The ID of the stream (campaign) the game belongs to |
stream_name | string | The display name of the stream |
player_uuid | string | Unique identifier for the player |
session_id | string | Unique identifier for the play session |
score | number | The player’s score (for play_complete) |
play_duration_seconds | number | How long the player took to complete the game, in seconds |
url_params | object | Any URL query parameters passed when the player accessed the stream |
timestamp | string | ISO 8601 timestamp of when the event occurred |
Managing Connections
Section titled “Managing Connections”- Edit — Update credentials or rename a connection from the Connections page
- Enable / Disable — Toggle a connection on or off without deleting it
- Remove from stream — Unlink a connection from a specific stream while keeping the connection available for other streams
- Delete — Permanently remove a connection from your organization