Connect Cordial’s Podium Orchestrations to Attentive by sending custom events to Attentive’s Custom Events API. Each event you send can trigger a custom journey in Attentive, so you can send text messages and emails at key points in a subscriber’s Cordial orchestration.
What is it?
The Cordial Podium integration uses an Open Channel request, which is a webhook step in a Podium Orchestration, to send event data to Attentive. Attentive turns each event type it receives into a custom journey trigger. You can use the event’s properties as macros in your journey messages.
Before you begin:
- Open Channel must be enabled in your Cordial account.
- You need a custom app in Attentive to generate an API token. See Create and manage custom apps.
- You may need development resources to format the request payload.
How do I use it?
Step 1: Generate an API token in Attentive
- Create a custom app in Attentive. See Create and manage custom apps.
- Copy the app’s API token. You’ll add it to the request headers in Step 3.
Note: Send every request for a custom event with the custom app that first created that event.
Step 2: Add an Open Channel request in Cordial
In your Podium Orchestration, add an Open Channel request as a step. For how to add the step, see Cordial’s Podium Orchestrations documentation.
Enter the following in the request fields:
| Field | Value |
| URL | https://api.attentivemobile.com/v1/events/custom |
| Method | POST |
| Content-Type | JSON |
Step 3: Add the request headers
In the Request Headers section, add the following key/value pair:
| Key | Value |
| Authorization (capitalized) | Bearer <your API token> |
Step 4: Add the request body
In the Request Body field, add your formatted payload. Every request needs the following fields. For the full field reference, see the Custom Events API reference.
| Field | Description |
| type (required) | The name of the event. Attentive uses it as the journey trigger. It’s case sensitive, so Order shipped and Order Shipped are different event types. It can’t contain these characters: double quote ", single quote ', parentheses ( ), curly braces { }, square brackets [ ], backslash \, vertical bar |, or comma ,. |
| properties (required) | Metadata about the event. You can use each property as a macro in your journey, and it fills in with the subscriber’s data when the message sends. Keys must be strings and can’t contain: double quote ", curly braces { }, square brackets [ ], backslash \, or vertical bar |. If a value is a URL of 1,024 characters or fewer, Attentive shortens it with your brand’s link shortener. Don’t shorten links in Cordial first. Links shortened twice can break. |
| user (required) | The subscriber the event belongs to. Include a phone number, an email address, or both. |
Example payload:
{
"type": "Order Shipped",
"properties": {
"mediaUrl": "https://cdn.example.com/images/sample-image.jpg",
"orderStatusURL": "https://www.example.com/orders/54321",
"delivery_date": "2026-10-20",
"Order Id": "54321"
},
"user": {
"phone": "+13115552368",
"email": "subscriber@example.com"
}
}
Save the Open Channel request.
Step 5: Send a first event to activate the trigger
Required: Before you can build a journey, send at least one event to Attentive from your orchestration. After Attentive accepts the event, its type shows up as a trigger in the journey builder. In the example above, the trigger is named Order Shipped.
Step 6: Build a custom journey
Create a journey that uses your custom event as its trigger. For instructions, see What are custom journey triggers?.
Step 7: Test the integration
- Send a test event from your Podium Orchestration.
- In Cordial, check the httpCode in the response. A 200 means Attentive accepted the event. Cordial’s test send can show a success status even when Attentive rejected the request, so check the httpCode rather than the status. If you see a 401, check your API token and the Authorization header from Step 3.
- Make sure your test subscriber gets the journey message.
If Attentive accepts the event but no message sends, check the following:
- Journey status: The journey must be turned on before it can send messages.
- Smart Sending: If Smart Sending is on, a subscriber who got a message recently might not get another one. If you test with the same subscriber over and over, Smart Sending can block your later tests.
- Quiet hours: Messages don’t send during quiet hours. A test subscriber in another time zone might be inside quiet hours even when you aren’t.
- Entry frequency: If the test subscriber has already entered the journey, its frequency setting might keep them from entering again. See Create a journey.
If messages still don’t send, contact your account team or Attentive Support.
Why should I use it?
- Use email and text together: Cordial events can trigger text messages and emails in Attentive, so both channels follow the same customer moments.
- Personalize messages with event data: Event properties like order numbers, delivery dates, and tracking links can go into your messages as macros.
- Report on results: Journeys with custom triggers show the same metrics as other journeys: sends, CTR, CVR, and revenue.