Sync ad leads to Autopilot (Ortto) contacts and marketing journeys -- with custom fields mapped so your automation triggers the moment a lead submits.
Connect AutopilotHQ with 4 lead sources
Autopilot rebranded to Ortto in 2022, but the underlying API at api2.autopilothq.com/v1/ kept the original name and shape. LeadSync authenticates with your single Autopilot API Key (sent as the custom autopilotapikey: header on every request) and POSTs to /contact with the lead's name, email, custom fields, and the destination list_id wrapped in Autopilot's required {contact: {...}} envelope.
During setup LeadSync calls GET /lists to enumerate every Autopilot list on your account so you can pick a destination per lead source. The list_id arrives on the contact create payload as _autopilot_list -- Autopilot's special pseudo-property that adds the contact to the named list as part of the same atomic operation that creates them.
Autopilot custom fields are typed -- text, number, date -- and the API requires you to declare the fieldType when creating or updating a custom field value. LeadSync calls GET /contacts/custom_fields to enumerate every custom field on your account, builds an internal id of the form fieldType--FieldName (e.g. text--Lead Source, integer--Annual Revenue), and uses that combined id when constructing the contact payload so each value lands in the right slot with the right type.
When you map a lead form question to a custom field in the LeadSync mapping screen, the value is wrapped under send_data['custom'] in the payload -- the structure Autopilot uses to keep custom fields separate from system fields like FirstName, LastName, and Email. Type validation runs on the Autopilot side, so a "Lead Source" text field happily accepts free-text and an "Annual Revenue" integer field rejects non-numeric input.
When the lead arrives with a single full_name field (Facebook's default), LeadSync runs Utils::parseFullName to split it into FirstName + LastName. This means an Autopilot Journey email using {{contact.FirstName}} renders correctly even on leads that arrived with one combined name field, and your contact list isn't cluttered with duplicate-looking entries.
Once the contact is added to the chosen list, any Autopilot Journey with a "List entered" trigger pointing at that list fires within seconds -- ready to send your welcome email, kick off a multi-step nurture sequence, or post to a Slack channel via Autopilot's native Slack integration.
Set up your AutopilotHQ integration in under 60 seconds. Free 14-day trial, no credit card required.
Start Your Free Trial