Real-time Journeys
Learn how to set up and launch real-time journeys to engage users instantly based on live event data
In this guide, we’ll walk through how to set up a real-time journey. Real-time journeys enable dynamic, event-driven engagement based on live data.
Prerequisites
Before you begin, make sure you have:
- Apache Kafka for event streaming (learn more here). Support for SQS and Pub/Sub will be added in the future.
- SendGrid or Salesforce Marketing Cloud (SFMC) for email marketing (currently, these are the only real-time destinations supported).
- Real-time events enabled in your org. If you don’t see this, contact your GrowthLoop rep to enable it.
Step 1: Configure a Real-Time Source Connection
- Log into GrowthLoop and go to the Organization page.
- Open the Source Connections tab and click New Source Connection.
- In the modal, select Kafka.
- Fill out the required details for the event queue connection:
| Field Name | Required | Description | Example | Notes |
|---|---|---|---|---|
| Name | ✅ Yes | A unique name to identify this Kafka connection. | ProductionKafkaCluster, OrdersEventBroker | Must be unique across connections. Used for display and reference. |
| Description | ❌ No | Add context about the connection. | Kafka cluster for production events | Helpful for documentation/debugging. |
| Bootstrap Servers | ✅ Yes | Comma-separated list of broker addresses. | kafka-1.company.com:9092,kafka-2.company.com:9092 | At least one must be reachable. |
| Topic Name | ✅ Yes | Kafka topic the consumer will subscribe to. | user-signups, order.created | Must already exist in the cluster. |
| Group ID | ❌ No | Consumer group ID. | signup-event-workers | Auto-generated if left blank. |
| Security Protocol | ✅ Yes | Defines communication/security protocol. | — | Common: PLAINTEXT, SSL, SASL_SSL. |
| Mechanism | ⚠️ Conditional | Required if using SASL. | PLAIN, SCRAM-SHA-256 | Must match Kafka server config. |
| Username | ⚠️ Conditional | SASL username. | — | Provided by Kafka admin. |
| Password | ⚠️ Conditional | SASL password. | — | Keep secure. |
- Click Create. A test connection will run, and if successful, your new source connection will be saved.
Success
You’ve successfully configured a real-time source connection!
Step 2: Create a Real-Time Event
- In the side menu, go to Datasets and select the Realtime Events tab.
- Click New Realtime Event.
- Fill out the event registration form:
| Field Name | Required | Description |
|---|---|---|
| Event Source | ✅ Yes | Select the real-time source connection (e.g., ProductionKafkaCluster). |
| Event Name | ✅ Yes | A human-readable label for this event (e.g., UserSignup, OrderPlaced). |
| Path to Event | ✅ Yes | Field path in the Kafka message to inspect (supports dot notation, e.g., user.status.type). |
| Event Value | ✅ Yes | Value in the field above that triggers the event (e.g., signup). Messages without this value are ignored. |
| Register Event Schema | ✅ Yes | JSON Schema describing the event payload for validation and field extraction. |
- Click Save.
Success
You’ve successfully created a real-time event!
Step 3: Add the Real-Time Event to a Dataset Group
- Switch to the Dataset Group tab.
- Select your Dataset Group, then open the Realtime Events tab.
- Click Add Realtime Event.
- In the modal, select the event you created.
- Map the real-time field to your dataset’s primary key.
Step 4: Create a Real-Time Journey
- In the side menu, go to Journeys and click New Journey.
- In setup, choose Realtime Journey as the type.
- Select the Dataset Group with your registered event.
- From Select Realtime Event, choose your event.
- Configure the rest of the journey and click Continue. You’ll see a real-time entry node appear on the canvas with a lightning icon.
- Next, drag a Criteria node onto the canvas and filter users by event fields (e.g., event type, attributes).
- Then, drag a Destination node and choose a real-time destination (SendGrid or SFMC).
Note
The fields available in real-time destination node are sourced from the real-time event message schema and can be used for email recipient selection and template personalization.
- Click Publish to activate the journey.
Success
You’ve successfully created a real-time journey!
Need help?
If you run into issues with Real-Time Journeys, reach out to us at [email protected].
Updated about 1 month ago
