Real-time Triggers

Creating a Real-time trigger

Caravel provides a New Message Event real-time trigger that will fire once per message added to a feed. From the Automation form, choose Real-time, then add a New Message Event trigger and select the feed you wish to observe.

Creating HTTP actions

Caravel provides HTTP actions that you can use in response to a real-time automation trigger. All actions receive the action payload (👇 more on this below) for use in the request body. Caravel uses Handlebars templating to add dynamic content to your HTTP actions.

Defining an Action Payload

{
"feed": "{{feedName}}",
"text": "{{{message.text}}}",
"mentioned": "{{message.mentionedAt}}"
}

Example request body using handlebars templating with Caravel action payloads

Action Payloads use Handlebars templates. You can use triple braces to unescape text content {{{escapedText}}}

Action payloads

Each automation action receives a JSON payload with the following properties:

message object

The message that triggered this automation, it has the following properties:

text string The text of the message

sentiment string The predicted sentiment of the message (Very Negative, Negative, Neutral, Positive, Very Positive)

sentimentScore number Numerical value of sentiment between -1 and 1. -1 is most negative and 1 is most positive.

aspectSentiments { name: string; sentiment: string }[] Array of objects containing the classification name and sentiment score (-1 to 1)

categories string[] List of category classifier names that matched this message

intents string[] List of intent classifier names that matched this message

topics string[] List of topic classifier names that matched this message

actor string | null Name of person who wrote this message

externalUserId string | null The external identifier of the customer from the message source

originName string | null Name of message origin

originUrl string | null URL of message origin

conversationUrl string URL link to message in your Caravel workspace

sourceName string Name of Caravel source

conversationUrl string URL link to message in your Caravel workspace

id string Caravel message identifier

conversationId string Caravel conversation identifier this message belongs to

externalId string | null The external identifier for this message

mentionedAt string When this message first appeared (defaults to createdAt if originCreatedAt doesn't exist)

createdAt Date Caravel internal timestampconversationUrl string URL link to message in your Caravel workspace

updatedAt Date Caravel internal timestamp

originCreatedAt Date | null Timestamp from external origin

automationName string

Name of the automation currently running.

feedName string

Name of the feed this automation is running on.

logs { level: 'info' | 'error'; message: string; timestamp: number }[]

An array of automation logs for debugging.

Example HTTP Actions