Trigger nodes cannot be deleted from an automation. To change the trigger type, use the Change option in the node’s action menu instead of deleting and recreating.

How triggers work (UI anatomy)
Most triggers share the same layout.
- Account / Configure - Connect an external account (Salesforce, HubSpot, etc.) and pick event options (object, list, form, and so on).
- Output - Shows the sample payload (schema) your trigger provides. When testing in Draft mode, click Refresh after firing a sample to update the schema so field mapping stays accurate.
- Copy the field paths you will need later (for example
contact.email,deal.amount). - If a field is missing, send another sample event and click Refresh again.
- Copy the field paths you will need later (for example
- Next step - Choose what runs after the trigger (Thoughtly steps such as AI, Conditions, Loop, or an integration action such as
Create Contact).
Thoughtly triggers (built-in)
Built-in triggers do not require external accounts and cover the core orchestration cases.1) Time -> Recurring Schedule

- Use cases: business-hours call campaigns, nightly CRM sweeps, weekly no-show follow-ups.
- Key options: timezone, days of week, start time, repeat cadence.
- Best practices: keep schedules narrow (for example Mon-Fri 09:00-18:00) to avoid after-hours calling. Pair with Conditions to skip contacts without phone/email.
2) Webhook -> Incoming Webhook

- Use cases: kick off campaigns from your CRM, respond to cart-abandon events, start follow-ups when a form submits.
- How to use:
- Copy the unique URL.
- Send a JSON
POSTwith your payload. - In Output, click Refresh to lock the schema.
- Security tips: enable webhook verification under Settings -> Developer, generate an API key, and send it in the
x-api-tokenheader.
3) Thoughtly -> On Inbound Call (special)

- Fires before an inbound call connects to an agent-the entry point for pre-call inbound automations.
- Use cases: identity/CRM lookup, spam or fraud checks, VIP routing, setting attributes for downstream logic.
- Output: caller number, dialed number, timestamp, and available carrier metadata.
- Pattern: Trigger -> AI or Conditions -> set Attributes/Metadata -> continue inbound flow.
4) Thoughtly -> On Call Completed (special)

- Fires after a call ends for post-call automations.
- Use cases: dispositions, summaries, sentiment scoring, CRM updates, notifications, analytics.
- Output: rich call data-durations, outcomes, variables captured, action flags, transfers, voicemail detection.
- Pattern: Trigger -> parse payload with Conditions -> write to CRM, spreadsheets, or BI.
- Specific Agents - Select one or more agents from the multi-select dropdown. The automation triggers only when calls complete for the selected agents. Output variables are generated based on the structure of the first selected agent. You can select multiple agents to monitor several agents with a single automation.
- All Agents - The automation triggers whenever a call is completed by any current or future agent. Use this for global monitoring, analytics, or workflows that apply across your entire team. This option is ideal for organization-wide reporting, compliance logging, or universal post-call workflows.
When testing the trigger output with the “Generate response” button, the system will use the most recent completed call from your selected agents (or any agent if “All Agents” is selected) to generate sample data. If no calls are available, a mock response will be generated.
transcript- The spoken contentspeaker- Either"ai"or"user"createdAt- ISO 8601 timestamp when the message was createdstep- (AI messages only) The step number in the conversationnode_id- (AI messages only) The node ID from the agent builder
Integration triggers (by app)
Integration triggers start automations when events occur in other tools. The flow is consistent: connect account -> choose event -> inspect Output -> configure the Next step. Supported triggers:- GoHighLevel - On Contact Created
- HubSpot - On Contact Created
- Keap - On Contact Created
- Salesforce - New Contact, New Object
- Salesforce Sandbox - New Contact, New Object
- SmartSheet - On Row Created, On Column Updated
- Trello - On Card Moved to List
- Typeform - New Form Response
- Zoho CRM - On Contact Created
- Time - Recurring Schedule (alias of Time)
- Webhook - Incoming Webhook (alias of Webhook)
- Thoughtly - On Call Completed, On Inbound Call
- HubSpot / Keap / GoHighLevel / Zoho: new contact -> Thoughtly agent call or SMS -> update contact with attributes.
- Salesforce: new object (Lead) -> lookup phone/email -> route via Conditions; if qualified -> create task and start call flow.
- Typeform: new response -> map answers to attributes -> enqueue outbound calls.
- SmartSheet / Trello: row or card moved -> notify the team, set attributes, call back if the SLA is breached.
Choosing the right trigger (quick guide)
- Run on a schedule -> Time (Recurring Schedule)
- React to an external event -> Webhook or the app’s native trigger
- Pre-call logic before inbound connects -> On Inbound Call
- Work after a call ends -> On Call Completed
Best practices
- Name and tag clearly. Example:
gohighlevel_on_contact_created_q4_campaign - Test in Draft and refresh Output. Avoid mapping fields you have not seen in a sample payload.
- Keep payloads lean. Map only the data you need into attributes or downstream steps.
- Plan for idempotency. Especially for webhooks and external systems that retry events.
See also
- Automation steps - Thoughtly steps (AI, Conditions, Loop) vs. integration actions.
- Attributes vs Metadata - what to store before vs. after calls.
- Automations overview - enrich contacts before and after calls.
- On Inbound Call trigger - logic before connecting inbound calls.