Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tedro.io/llms.txt

Use this file to discover all available pages before exploring further.

Trigger Nodes

Trigger nodes are the entry points of every workflow. They define what event starts the workflow execution. Every workflow must have exactly one trigger node.

trigger.inbound_message

Entrypoint for inbound WhatsApp messages. This is the primary trigger node used in production workflows. When a customer sends a WhatsApp message to your connected number, this node fires and passes the message data into the workflow.

Configuration

No configuration required. This node is auto-configured when placed on the canvas.

Outputs

The trigger node passes the following data to connected nodes:
OutputTypeDescription
message.textstringThe text content of the inbound message
message.typestringMessage type (text, image, document, etc.)
contactobjectThe sender’s contact record (name, phone, tags, custom fields)
conversationobjectThe active conversation context (ID, status, history)
timestampstringISO 8601 timestamp of the inbound message

Connections

  • Inputs: None (this is the entry point)
  • Outputs: Single output handle connecting to the next node in the flow

Example Use Case

Every customer-facing workflow starts with this node. When a customer sends “Hi, I need help with my order,” the trigger captures the message and passes it to an AI Router or AI Respond node for processing.

trigger.manual_test

Builder preview testing trigger. This node is used exclusively in the workflow builder for testing your workflow without sending real WhatsApp messages. It simulates an inbound message with test data you define.

Configuration

OptionTypeRequiredDescription
testMessagestringYesThe simulated message text to send through the workflow

Outputs

Same output shape as trigger.inbound_message — your workflow logic works identically with both trigger types.
OutputTypeDescription
message.textstringThe test message text you configured
contactobjectA mock contact record
conversationobjectA mock conversation context

Connections

  • Inputs: None (this is the entry point)
  • Outputs: Single output handle connecting to the next node in the flow

Example Use Case

While building a customer support workflow, use this node to test how your AI Respond node handles different message types (questions, complaints, greetings) without needing to send real WhatsApp messages. Switch to trigger.inbound_message before publishing.
The trigger.manual_test node is for builder preview only. Published workflows always use trigger.inbound_message as their entry point.

trigger.broadcast_reply

Starts when a contact replies to a broadcast message. This trigger fires when a contact sends a reply to a specific broadcast campaign. Use it to build follow-up workflows that handle responses to your outbound campaigns — for example, processing opt-ins, answering questions about a promotion, or routing interested leads.

Configuration

OptionTypeRequiredDescription
broadcastIdstringYesThe ID of the broadcast campaign this trigger listens for replies to

Outputs

OutputTypeDescription
message.textstringThe text content of the reply message
message.typestringMessage type (text, image, document, etc.)
contactobjectThe replying contact’s record (name, phone, tags, custom fields)
conversationobjectThe conversation context
broadcastobjectThe originating broadcast campaign details (name, ID, sent date)
timestampstringISO 8601 timestamp of the reply

Connections

  • Inputs: None (this is the entry point)
  • Outputs: Single output handle connecting to the next node in the flow

Example Use Case

You send a promotional broadcast about a new product. Contacts who reply with “interested” are routed through an AI Agent that provides product details and collects their order preferences. Connect this trigger to a logic.switch node to branch based on reply content.
Each broadcast reply trigger is linked to a specific campaign. To handle replies from different broadcasts, create separate workflows with their own trigger.broadcast_reply nodes.

Channel-Specific Triggers

The following triggers restrict workflow execution to messages from a single channel. Use these when your workflow logic is channel-specific — for example, a workflow that only handles WhatsApp messages differently from other channels.
For workflows that should handle messages from any channel, use trigger.inbound_message instead. Channel-specific triggers are useful when you need different automation logic per channel.

trigger.whatsapp_message

Channel: WhatsApp — Starts only when a WhatsApp message arrives. This trigger fires exclusively for inbound WhatsApp messages. Use it when your workflow contains WhatsApp-specific logic, such as template sending or WhatsApp-specific formatting.

Configuration

No configuration required. Auto-configured when placed on the canvas.

Outputs

Same output shape as trigger.inbound_message.
OutputTypeDescription
message.textstringThe text content of the WhatsApp message
message.typestringMessage type (text, image, document, audio, etc.)
contactobjectThe sender’s contact record
conversationobjectThe active conversation context
timestampstringISO 8601 timestamp

Connections

  • Inputs: None (entry point)
  • Outputs: Single output handle

trigger.instagram_message

Channel: Instagram — Starts only when an Instagram DM arrives. This trigger fires exclusively for inbound Instagram direct messages. Use it for Instagram-specific automation flows.

Configuration

No configuration required. Auto-configured when placed on the canvas.

Outputs

OutputTypeDescription
message.textstringThe text content of the Instagram DM
message.typestringMessage type (text, image, video, etc.)
contactobjectThe sender’s contact record
conversationobjectThe active conversation context
timestampstringISO 8601 timestamp

Connections

  • Inputs: None (entry point)
  • Outputs: Single output handle
Instagram messages have a 1,000 character limit and do not support rich formatting or buttons. Plan your automation responses accordingly.

trigger.messenger_message

Channel: Messenger — Starts only when a Facebook Messenger message arrives. This trigger fires exclusively for inbound Messenger messages. Use it for Messenger-specific automation flows.

Configuration

No configuration required. Auto-configured when placed on the canvas.

Outputs

OutputTypeDescription
message.textstringThe text content of the Messenger message
message.typestringMessage type (text, image, video, etc.)
contactobjectThe sender’s contact record
conversationobjectThe active conversation context
timestampstringISO 8601 timestamp

Connections

  • Inputs: None (entry point)
  • Outputs: Single output handle

trigger.livechat_message

Channel: Live Chat — Starts when a live chat message arrives from a website visitor. This trigger fires exclusively for messages from your website’s live chat widget. Use it for website-specific automation, such as greeting visitors or qualifying leads from your site.

Configuration

No configuration required. Auto-configured when placed on the canvas.

Outputs

OutputTypeDescription
message.textstringThe text content of the live chat message
message.typestringMessage type (text, image, document, etc.)
contactobjectThe visitor’s contact record (includes pre-chat form data if collected)
conversationobjectThe active conversation context
timestampstringISO 8601 timestamp

Connections

  • Inputs: None (entry point)
  • Outputs: Single output handle
Live Chat has no messaging window restrictions. Automated responses can be sent at any time during an active visitor session.