Resources · n8n integration

Autopilot n8n integrationAutomate Autopilot with n8n.

Marketing contacts should never be retyped by hand. The Autopilot n8n integration exposes 11 operations across 4 resources, from a single contact lookup to list membership. The Autopilot Trigger listens to 7 contact events over a webhook, so a workflow starts the second a record moves.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Autopilot n8n integration actually do?

Two nodes come with n8n. The Autopilot node calls the Autopilot API to create, read, delete and file contacts, and to manage the lists they sit on: 11 operations spread over Contact, Contact Journey, Contact List and List. The Autopilot Trigger works the other way round. It hands n8n a webhook, a URL that Autopilot calls on its own, and each contact event lands in the workflow within seconds. Both nodes share one credential, an API key you generate once.

Start with the signup path. A form drops a row in Google Sheets, n8n picks it up and runs contact.upsert. The email address decides everything: Autopilot updates the matching contact or creates it, and the List Name or ID field files the person on the right list in the same call. No duplicate check to write, no second node.

The second path runs on events. Someone opts out, contactUnsubscribed fires, and the workflow posts the detail to a Slack channel and flags the row in your sheet before the next campaign goes out. Same idea for contactAddedToList, which is useful when the marketing team builds lists in Autopilot and the rest of the company needs to know.

The third path is a handover. A deal moves in your CRM, n8n reads the contact with contact.get, then calls contactJourney.add to push it into the journey selected in Trigger Name or ID. If the same person also lives in another marketing tool such as Mautic, the workflow keeps both sides aligned instead of asking someone to copy a CSV.

Two things are worth knowing before you build. Anything outside those 11 catalogue operations goes through the HTTP Request node, which calls any Autopilot API endpoint and reuses the very same credential through predefined authentication. And the branding change matters: Autopilot has become Ortto, and the Autopilot credentials and nodes are only compatible with Autopilot, not the new Ortto API.

If you want a wider read on the platform itself before committing a marketing stack to it, the n8n review covers hosting and cost, and the n8n training walks through building workflows like these from scratch.

Connect

How do you connect Autopilot to n8n?

  1. 01

    Generate the API key in Autopilot

    You need an Autopilot account first. Once you are in, open Settings > Autopilot API and generate an API Key. That key is the only authentication method the Autopilot credential supports, so there is no OAuth screen and no scope list to pick through. Copy it somewhere safe before you leave the page, because you will paste it into n8n in the next step.

  2. 02

    Create the credential in n8n

    In n8n, go to the Credentials menu and add an Autopilot credential, then paste the API Key into its single field. A credential is stored once and reused everywhere: the same entry authenticates the Autopilot node and the Autopilot Trigger, on n8n Cloud or on a self-hosted instance, without you touching the key again.

  3. 03

    Pick the credential and run one operation

    Drop an Autopilot node on the canvas and select the credential from its dropdown list. Set the resource to List and the operation to Get Many, then execute the node. If your lists come back, the key is valid and the account is reachable. It is a cheap test, and it saves you from debugging an authentication problem inside a five-node workflow later on.

Triggers

What starts an Autopilot workflow in n8n?

Autopilot Trigger is the node that starts a workflow when something happens in Autopilot. It listens to 7 events, listed below by family. Pick one or several, activate the workflow: n8n registers the webhook on your Autopilot account.

What you see in n8n

Every event, by family

One row per object, one chip per action. The event to tick in the node is object.action; hover a chip to read exactly when it fires.

contact.*7

    Configuration notes

    01Set Up the Autopilot TriggerThe Autopilot Trigger is the node that starts a workflow when something happens on a contact. It runs on a webhook, meaning n8n exposes a URL that Autopilot calls, so each event arrives within seconds and nothing is polled on a schedule.

    The Autopilot Trigger is the node that starts a workflow when something happens on a contact. It runs on a webhook, meaning n8n exposes a URL that Autopilot calls, so each event arrives within seconds and nothing is polled on a schedule.

    Key parameters

    • Event: the single setting on the node. Pick one of the 7 contact events, and only that one wakes the workflow.
    When to use it
    whenever the workflow should react to Autopilot instead of asking it. The webhook is registered when you activate the workflow, so keep a workflow active in production and use manual executions only while you are testing. If you need several events, build one trigger per event, since the node has no catch-all option.
    02Contact Added and Contact UpdatedThese two cover the life of the record itself. contactAdded fires when a contact appears in Autopilot, whatever created it, and contactUpdated fires when an existing one changes.

    These two cover the life of the record itself. contactAdded fires when a contact appears in Autopilot, whatever created it, and contactUpdated fires when an existing one changes.

    One detail belongs to the node, not the trigger: contact.upsert has a Notify field, and Autopilot notifies registered REST hook endpoints for contact_added and contact_updated events by default. Disable it when a workflow writes into Autopilot and you do not want that write to wake another workflow.

    Key parameters

    • Event: set to Contact Added or Contact Updated. The event value lands in the workflow as contactAdded or contactUpdated.
    When to use it
    for onboarding and for keeping a second system honest. A new contact can be written straight to a sheet or announced to sales. An update is the moment to re-read the record and push the fresh values wherever they are needed.
    03Contact Added To List and Contact Removed From ListList membership gets its own pair of events. contactAddedToList fires when a contact joins a list, contactRemovedFromList when it leaves one.

    List membership gets its own pair of events. contactAddedToList fires when a contact joins a list, contactRemovedFromList when it leaves one.

    Key parameters

    • Event: Contact Added To List or Contact Removed From List, one trigger node each.
    When to use it
    when the list is what the rest of the company cares about. Marketing builds a launch list inside Autopilot, and the workflow mirrors every arrival into the sales tool or a shared document. Removal is the interesting half of the pair, because it is the one nobody remembers to communicate. The event names the list that moved, so the workflow can branch on it instead of treating every membership change the same way. Pair it with contactList.getAll when you need the current state of the list rather than the single contact that just moved.
    04Contact Entered Segment, Contact Left Segment and Contact UnsubscribedThe last three events are about behaviour rather than data entry. contactEnteredSegment and contactLeftSegment fire when a contact enters or leaves a segment, contactUnsubscribed when someone opts out.

    The last three events are about behaviour rather than data entry. contactEnteredSegment and contactLeftSegment fire when a contact enters or leaves a segment, contactUnsubscribed when someone opts out.

    Key parameters

    • Event: Contact Entered Segment, Contact Left Segment or Contact Unsubscribed.
    When to use it
    segment events are the ones a sales team actually wants, because entering a segment usually means the contact did something. Route them to a channel or a task list. The unsubscribe event deserves its own workflow: catch it, propagate the status to every other tool that might email that person, and you avoid the situation where someone opts out in one place and keeps receiving messages from another. Segment moves also make a decent audit trail: write each entry and exit to a sheet, and the marketing team can see how a segment filled up over a month.
    Actions

    What can the Autopilot node do?

    The Autopilot node exposes 11 operations across 4 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

    Resources × operations matrix
    ResourceCreateGetGet ManyDeleteAddRemoveExistCreate or Update
    Contact✓✓✓✓
    Contact Journey✓
    Contact List✓✓✓✓
    List✓✓

    Contact

    4 operations
    01

    Create or Update a contact

    contact.upsert

    What you see in n8n

    Notes & use cases

    One call handles both cases, which is what upsert means: if a contact already exists with that email address, Autopilot updates it, otherwise it creates it. A form workflow never needs to check first.

    Key parameters

    • Email: the contact's email address, usually {{ $json.email }} coming from the previous node. The field is required, so an empty value stops the execution.
    • Additional Fields: a collection of 26 optional fields, including First Name, Company, List Name or ID to file the contact on creation, New Email to change the address of the contact identified by Email.
    Use cases
    a webinar signup lands in Autopilot with first name, company and the right list already attached, in a single node.
    02

    Delete a contact

    contact.delete

    What you see in n8n

    Notes & use cases

    Removes the contact from Autopilot for good. Worth wiring behind a manual approval step rather than straight after a trigger.

    Key parameters

    • Contact ID: can be the identifier or the email address. That flexibility matters, because a deletion request usually arrives as an address typed by a human, so {{ $json.email }} works without a lookup first.
    Use cases
    a privacy request lands in a shared inbox, the workflow parses the address, deletes the matching contact and writes the timestamp to a log sheet so the request is traceable.
    03

    Get a contact

    contact.get

    What you see in n8n

    Notes & use cases

    Reads a single contact and returns its record to the next node. This is the lookup you place before a decision: read first, then branch on what came back.

    Key parameters

    • Contact ID: can be the identifier or the email address, so a workflow holding only {{ $json.email }} can still fetch the full record.
    Use cases
    before a sales rep gets a notification, the workflow pulls the contact to attach company and phone to the message, instead of sending an address with nothing around it.
    04

    Get many contacts

    contact.getAll

    What you see in n8n

    Notes & use cases

    Returns contacts in bulk rather than one by one. Use it for exports, audits and scheduled reconciliations.

    Key parameters

    • Return All: switch it on and n8n walks through every page of the Autopilot API until the whole contact base is in the workflow.
    • Limit: active when Return All is off, it caps how many contacts come back. Handy while you are still designing the workflow and do not want to pull everything on each test run.
    Use cases
    a monthly export writes the full base into a spreadsheet so the team can spot contacts with no company or no first name.

    Contact Journey

    1 operation
    05

    Add a contact journey

    contactJourney.add

    What you see in n8n

    Notes & use cases

    Pushes a contact into a journey selected on the node, which is how an external event starts an Autopilot sequence.

    Key parameters

    • Trigger Name or ID: the list ID the journey starts from. Choose it from the dropdown, or pass an ID with an expression when the value is dynamic.
    • Contact ID: can be the identifier or the email address of the person to enrol.
    Use cases
    a deal reaches a given stage in the CRM and the workflow enrols the contact, so the nurture sequence starts from the CRM event instead of waiting for a manual import.

    Contact List

    4 operations
    06

    Add a contact to a list

    contactList.add

    What you see in n8n

    Notes & use cases

    Files an existing contact onto a list. Unlike the upsert route, nothing is created or modified on the contact itself: only the membership changes.

    Key parameters

    • List Name or ID: the list to operate on, picked from the dropdown or passed as an ID through an expression.
    • Contact ID: can be the identifier or the email address.
    Use cases
    someone downloads a guide and joins the list for that guide, while the contact record itself stays exactly as sales left it.
    07

    Check if a contact list exists

    contactList.exist

    What you see in n8n

    Notes & use cases

    Asks Autopilot whether a given contact is on a given list, and returns the answer to the workflow. It is a read, so nothing changes on either side.

    Key parameters

    • List Name or ID: the list to check against.
    • Contact ID: the contact to look for, by identifier or by email.
    Use cases
    put it in front of an IF node so a welcome message only goes out to people who are not already on the list, which keeps a re-run of the workflow from sending the same email twice.
    08

    Get many contact lists

    contactList.getAll

    What you see in n8n

    Notes & use cases

    Returns the contacts that sit on one list, which is the view you want when the list, not the individual, is the subject.

    Key parameters

    • List Name or ID: the list to read, from the dropdown or via an expression.
    • Return All: on, n8n pages through the whole list; off, Limit caps the number of contacts returned.
    Use cases
    before a campaign goes out, the workflow pulls the target list and counts it, so nobody discovers on send day that the segment was built on the wrong filter.
    09

    Remove a contact from a list

    contactList.remove

    What you see in n8n

    Notes & use cases

    Takes a contact off a list while leaving the record itself untouched, correcting a membership that no longer applies. Nothing on the contact changes.

    Key parameters

    • List Name or ID: the list the contact should leave.
    • Contact ID: identifier or email of the person to remove.
    Use cases
    a customer buys the product, so the workflow removes them from the prospect list and they stop getting the acquisition sequence the day after paying.

    List

    2 operations
    10

    Create a list

    list.create

    What you see in n8n

    Notes & use cases

    Creates a new list in Autopilot from the workflow, which is useful when lists follow a rhythm: one per campaign, per event, per month.

    Key parameters

    • Name: the name of the list to create. Build it with an expression when it should carry a date or a campaign code, so every list is named the same way without anyone thinking about it.
    Use cases
    a scheduled workflow opens the list for the next webinar and the registration form starts filling it immediately, with no manual setup in the interface.
    11

    Get many lists

    list.getAll

    What you see in n8n

    Notes & use cases

    Returns the lists that exist in the account, with their identifiers. That is the operation you run when a later node needs a list ID it cannot hardcode.

    Key parameters

    • Return All: on, every list comes back; off, Limit sets the maximum number returned.
    Use cases
    a workflow fetches the lists, matches one by name, and feeds its ID into contactList.add so the automation keeps working after someone renames or recreates a list.
    Need help

    Need help automating Autopilot with n8n?

    A person reads every message.

    FAQ

    Autopilot and n8n, the questions that come next

    01Is the Autopilot n8n integration free?
    Yes, on the n8n side. The Autopilot node and the Autopilot Trigger ship with n8n, so there is nothing to install and no add-on to buy, and that is true on n8n Cloud as well as on a self-hosted instance under the Community Edition and its Sustainable Use licence. A workflow behaves the same either way, which means you can prototype on Cloud and move it to your own server later. What an Autopilot account itself costs is a separate question and is not covered here. The only thing you need from Autopilot to get started is an account and an API key.
    02What credentials do you need to connect Autopilot to n8n?
    One API key, and nothing else. The Autopilot credential supports a single authentication method: an API Key that you generate in your Autopilot account under Settings, then Autopilot API. You create the credential once in the n8n Credentials menu and both nodes offer it in their dropdown afterwards, so a second workflow costs no extra setup. Watch the product name here. Autopilot has become Ortto, and the Autopilot credentials and nodes are only compatible with Autopilot, not the new Ortto API, so the key has to come from the Autopilot side.
    03What are the limits of the Autopilot node in n8n?
    The node covers 11 operations across 4 resources: Contact, Contact Journey, Contact List and List. Anything beyond that list goes through the HTTP Request node, which calls any endpoint of the Autopilot API and reuses the same credential through predefined authentication, so you are not blocked, you just build that call yourself. On reads, remember the pagination switch. Get many contacts, Get many contact lists and Get many lists all expose Return All: leave it off and Limit caps the result, turn it on and n8n walks through every page until everything is back.
    04Does the Autopilot Trigger work in real time?
    Yes. The Autopilot Trigger runs on a webhook, which is simply a URL that n8n exposes and Autopilot calls whenever something happens. n8n registers that URL when you activate the workflow, and each event reaches the workflow within seconds, with no polling and no interval to configure. The node carries a single setting, Event, and offers 7 contact events: Contact Added, Contact Updated, Contact Added To List, Contact Removed From List, Contact Entered Segment, Contact Left Segment and Contact Unsubscribed. There is no catch-all value, so listening to several events means one trigger node per event.
    05n8n or Make for Autopilot?
    It depends on where you want the data to live and how you want to pay. Make is a hosted automation platform with no self-hosting option, billed per operation, so a workflow that syncs a large contact base costs more as it grows. n8n runs on Docker or npm on your own server, or on n8n Cloud if you would rather not run anything, and the same workflow works in both. If contact data has to stay on infrastructure you control, self-hosting settles the question. If you want a visual builder with nothing to maintain, Make is a fair answer. Both cover Autopilot contacts.