Triggers
A Trigger is a block that starts a workflow when an event happens in this service.
Conversation Created
Triggers when a new conversation is created in Seeyu Chat.
Output
| Parameter | Type | Description |
|---|---|---|
conversationId | string | The ID of the newly created conversation |
inboxId | string | The inbox ID where the conversation was created |
contactId | string | The ID of the contact who started the conversation |
contactName | string | The name of the contact |
contactEmail | string | The email of the contact |
channel | string | The communication channel (e.g., web, whatsapp, email) |
initialMessage | string | The first message in the conversation |
Message Received
Triggers when a new message is received in a Seeyu Chat conversation.
Output
| Parameter | Type | Description |
|---|---|---|
conversationId | string | The ID of the conversation |
messageId | string | The ID of the received message |
content | string | The text content of the message |
contentType | string | The content type of the message (e.g., text, input_email, input_csat, input_select, cards, form, article) |
attachments | file[] | Media attachments on the message as files. Each file has: id, name, url, type (MIME type), size, key |
contactId | string | The ID of the contact who sent the message |
contactName | string | The name of the contact who sent the message |
contactEmail | string | The email address of the contact who sent the message |
contactPhone | string | The phone number of the contact who sent the message |
contactCustomAttributes | json | Custom attributes defined on the contact record, as a key-value object |
conversationCustomAttributes | json | Custom attributes defined on the conversation record, as a key-value object |
widgetParams | json | Additional params the host page passed to the web widget SDK, as a key-value object. Empty on every other channel |
inboxId | string | The inbox ID of the conversation |
channel | string | The communication channel (e.g., web, whatsapp, email) |
isResumed | boolean | Whether this message resumed a previously snoozed or resolved conversation |
conversationStatus | string | Conversation status: open, pending, snoozed, resolved or waiting_csat |
conversationPriority | string | Conversation priority: none, low, medium, high or urgent |
labels | array | Labels attached to the conversation |
messageCreatedAt | string | When the newest message in this batch was created, ISO 8601. Capture it before a wait and compare it against timings.lastInboundAt afterwards to tell whether the contact replied in the meantime |
serverTime | string | The server clock at the moment this trigger fired. Anchor every relative time calculation to this instead of assuming the current time |
timings | json | serverTime, conversationCreatedAt, lastActivityAt, lastInboundAt (newest contact message), lastOutboundAt (newest agent or AI reply), waitingSince, firstReplyAt, resolvedAt, snoozedUntil, aiAgentPausedAt, aiHandoffAt, plus minutesSinceCreated, minutesSinceLastActivity, minutesSinceLastInbound, minutesSinceLastOutbound and minutesWaiting. A null delta means the event has not happened, never zero minutes ago |
replyWindow | json | channel, gated, isOpen, expiresAt, minutesRemaining and requiresTemplate for the customer-care reply window. Only WhatsApp is gated; every other channel reports isOpen true |
assignee | json | id, name, availability (online, busy or offline), availabilityReason, availabilityReasonNote and availabilitySource for the assigned agent. availabilitySource is "live" when the realtime presence service answered and "stored" when it did not — a "stored" reading is unconfirmed, not proof the agent went offline |
team | json | id and name of the assigned team |