Reference · Tools
Autopilot Trigger
Starts workflow when contact events occur in Autopilot HQ
The Autopilot Trigger node starts a workflow the moment a contact event fires in Autopilot HQ — additions, updates, unsubscribes, list moves, and segment changes. Connect it to downstream nodes to, for example, sync a newly unsubscribed contact to your CRM or send an internal Slack alert when a contact enters a high-value segment. Each workflow run is already split per contact, so no extra nodes are needed to loop.
- Node type
- Webhook trigger
- Parameters
- 1
- Outputs
- Output
- Credentials
- Autopilot API
Autopilot Trigger
Trigger on Autopilot contact events
Overview
Receives webhook notifications from Autopilot HQ when contact events occur, such as contacts being added, updated, unsubscribed, or moved between lists and segments. Autopilot sends a POST request with the contact data to the registered webhook URL.
Category: Marketing
Tool Name: autopilot_trigger
Version: 1
Appearance: Icon: lucide-Bot | Color: #4bc882
Node Type
Trigger — webhook (receives incoming HTTP callbacks)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires Autopilot API credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Event | options | Yes | — | The contact event to listen for. |
Options: contactAdded, contactAddedToList, contactEnteredSegment, contactLeftSegment, contactRemovedFromList, contactUnsubscribed, contactUpdated |
Output Data
Autopilot delivers either a single contact object or an array of them. Each contact in the payload becomes its own output item, so one delivery can start the workflow with several items.
Each item carries the contact as Autopilot sent it — typically contact_id, Email, FirstName, LastName, Company, Phone, Status, LeadSource, lists, and segments, plus any custom fields on your contacts — with three added fields:
_trigger— alwaysautopilot_webhook_timestamp— ISO 8601 timestamp of when the request arrived_webhookEvent— the event this webhook was registered for
Reference the payload downstream by expression, e.g. {{ $json.Email }} or {{ $json.contact_id }}.
Usage Examples
- Start a workflow when a new contact is added in Autopilot
- Trigger an action when a contact unsubscribes in Autopilot
- React to contacts being added to or removed from lists
- Detect when a contact enters or leaves a segment
Example Configuration
Start a workflow whenever a contact is added:
{
"type": "autopilot_trigger",
"parameters": {
"event": "contactAdded"
}
}
React to unsubscribes:
{
"type": "autopilot_trigger",
"parameters": {
"event": "contactUnsubscribed"
}
}
Watch for segment entry:
{
"type": "autopilot_trigger",
"parameters": {
"event": "contactEnteredSegment"
}
}
Trigger Behavior
- Activation: When the workflow is activated, a webhook endpoint is registered with the service.
- Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
- Payload: The incoming webhook payload is parsed and output as workflow items.
- Verification: Supports signature verification where applicable.
Tips
Receives webhook events from Autopilot HQ for contact lifecycle changes. Select the event type to listen for and configure your Autopilot API key.
- One node listens for one event. To react to several, add one Autopilot Trigger per event and merge their outputs.
- Because a single delivery can contain several contacts, downstream nodes run once per contact — no Split Out node is needed.
contactAddedToListandcontactRemovedFromListfire for every list, andcontactEnteredSegment/contactLeftSegmentfor every segment. Add a Filter node on{{ $json.lists }}or{{ $json.segments }}when you only care about one.
Frequently asked questions
What credential do I need and where do I get it?
The node requires an Autopilot API credential (type: autopilotApi). You'll find your API key inside Autopilot HQ under Settings → API. Add it once in BusyBot's credential store and it will be available to every Autopilot Trigger node in your workspace.
Can one node listen for multiple event types at once?
No — each Autopilot Trigger node handles exactly one event type. If you need to react to, say, both contactAddedToList and contactUnsubscribed, add a separate Autopilot Trigger node for each event and merge their outputs further down the workflow.
A webhook fires for every list and every segment. How do I limit it to just one?
Events like contactAddedToList and contactEnteredSegment fire regardless of which list or segment was involved. Add a Filter node immediately after the trigger and check the relevant field — use {{ $json.lists }} to target a specific list, or {{ $json.segments }} for a specific segment — so only the matching contacts continue through the workflow.
Do I need a Split Out node to handle webhooks that contain multiple contacts?
No. The Autopilot Trigger already runs downstream nodes once per contact when a single webhook delivery contains multiple contacts. Adding a Split Out node would duplicate processing and is not needed.
How does the trigger receive events — do I configure a URL in Autopilot HQ manually?
Yes. The node works as a webhook trigger, meaning BusyBot generates a unique webhook URL that you register inside Autopilot HQ. Once registered, Autopilot sends a POST request with contact data to that URL each time the selected event occurs.
Build with the Autopilot Trigger node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Autopilot API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.