
Choose a trigger from the automation canvas
How triggers work (UI anatomy)
Most triggers share the same layout.
Trigger configuration tabs
- 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).
Draft mode lets you fire safe test events. Live mode executes real downstream steps. Only flip to Live when everything is tested.
Thoughtly triggers (built-in)
Built-in triggers do not require external accounts and cover the core orchestration cases.1) Time -> Recurring Schedule

Recurring schedule trigger
- 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

Incoming webhook trigger
- 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)

On inbound call trigger
- 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)

On call completed trigger
- 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.
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.