Skip to content
  • There are no suggestions because the search field is empty.

Call Flow Events & Trigger Reference

This article documents the Taalk runtime TalkSessionEvent signals and how they map to Trigger By options in the rules UI. Use this as your single source of truth when wiring automations, analytics, QA, or downstream integrations. Audience: AI Solution Engineers / Advanced Builder

Quick Summary

- **Events** are discrete signals emitted during a session (voice, SMS, chat, email, webhook-driven).
- **Triggers** listen to chosen events and run actions (e.g., tag, route, notify, call a webhook).
- The **UI’s Trigger By** list is a curated subset for common workflows; the enum contains the full set.

Typical Session Lifecycle (Voice/SMS)

A common voice session may look like:

START → LISTEN → MESSAGE → (optional TRANSFER → TRANSFER_RING → TRANSFER_PICKED → TRANSFER_END) → FINISH → AFTER_FINISH

For SMS/Chat:

START → MESSAGE (repeats per turn) → FINISH → AFTER_FINISH

Survey subflows and email events can interleave; errors/timeouts/cancellations can short-circuit normal order.

UI “Trigger By” → Event Mapping

The current UI list (TRIGGER\_BY\_OPTIONS) exposes these items:

UI Label (shown) 

Underlying Event 

Notes

Engagement Accepted

START

Session picked by agent/bot; effective session start

Engagement Refused

REFUSED

Party refused to engage or declined.

Engagement Finished

FINISH

Primary session end

Post-Engagement Processing

AFTER_FINISH

Post-finish cleanup window. Good for trailing automations

In Conversation

MESSAGE

Fires on AI/user message turns

Transfer Initiated

TRANSFER

Generic transfer start event

Transfer Connecting

TRANSFER_RING

~5–7 seconds after dial, while the destination is ringing.

Transfer Failed 

TRANSFER_FAILED

Downstream target didn’t accept or errored.

Survey End

SURVEY_END

End of a survey flow.

Reply Email

REPLY_EMAIL

Reply email was generated/sent. 

Embedded URL Clicked

LINK_CLICKED

User clicked a trackable link

Important: The UI list does not expose all events from the enum (see full catalog below). If you need one that isn’t visible, ask Platform to expose it or bind via webhook listeners.


Best Practices & Gotchas

  1. Prefer specific events over OTHER for stable automations.

  2. Commit at Engagement Finished, clean up at Post-Engagement Processing to avoid blocking the user experience.

  3. Differentiate transfer stages for accurate SLAs: Transfer Initiated vs. Transfer Connecting vs. Engagement Accepted (post-transfer) vs. Transfer Failed.

  4. Do not assume ordering under error conditions; race conditions can emit out of the usual sequence.

  5. UI coverage: If an event you need isn’t in the Trigger By list, raise a request to expose it or capture via webhook.

  6. Email safety nets: always pair Reply Email flows with EMAIL_ERROR handling.