What Orbit adds to Halo
Connect Orbit at Settings > Integrations > Orbit.
Connecting
Click Connect with OrbitForms and approve the consent screen in Orbit. Halo connects to the Orbit workspace you choose, and the Orbit card on your Orbit Integrations page then shows Installed. Halo asks for these permissions:Connected before the two-way sync existed? Reconnect once. The integration page lists any permission the connection is still missing, with a Reconnect button.
Two-way sync
Turn it on under Two-way sync on the integration page. A change on either side shows up on the other within about a minute.The mapping table
Each object, Contacts and Companies, has its own table. A row has four parts:
New setups start with name ⇄ full name, phone ⇄ phone and the contact’s company ⇄ the Orbit company, plus name, domain, industry and employee count for companies. Add or remove rows as you need.
Fields that one side computes (Halo’s health score, MRR, renewal date; Orbit’s call count, last call, do-not-call) can only flow out of that side. Mapping Halo’s health score to an Orbit custom field is a good way to show account health to your sales team in Orbit.
How a change syncs
Halo keeps, for every linked record and field, the value last synced on each side and when each side last changed it. When a record changes:- Only one side changed: its value goes to the other side (unless the row flows the other way).
- Both sides changed: the row’s rule decides. Latest change wins compares when each side’s change happened, field by field.
- A one-way row overwrites its target whenever the source changes. Edits on the target side stay until the source next changes.
(415) 555-0100 in Halo and +14155550100 in Orbit, or a number stored as text on one side, is not treated as a change.
Matching and creating records
- Contacts are matched by email, companies by domain. Once matched, they stay linked by id, so later email or domain changes don’t break the link. Halo also records its id on the Orbit record.
- Create in Halo: Orbit records with no match in Halo are added (contacts as leads with source
orbitforms). - Create in Orbit: Halo records with no match in Orbit are added. For contacts, choose leads only, product users only, or every contact with an email. Anonymous visitors are never sent.
The first sync
Turning the sync on runs a full sync in the background. Halo reads every Orbit record and links it, imports unmatched Halo records into Orbit in bulk, then links those too. When both sides already hold different values for a field, the First sync setting decides which to keep. Empty fields are always filled from the side that has a value, and a first sync never empties a field. Adding rows to a running sync runs a full sync again, so existing records pick up the new fields. Run full sync does the same on demand.Deletes, loops and missed events
- Deleting a record in Orbit stops the sync from writing to it (it is not deleted in Halo). Restoring it in Orbit resumes the sync.
- Deleting a record in Halo stops it syncing (it is not deleted in Orbit).
- Halo ignores the change events its own writes cause, so the two systems never overwrite each other in a loop.
- Every 15 minutes Halo reads Orbit’s changes feed to catch anything a webhook missed.
Limits
Orbit allows connected apps 300 writes a minute per workspace and caps single contact creates per hour. Halo waits when Orbit asks it to, so a large backlog of new contacts reaches Orbit over a few hours rather than failing. The first sync uses Orbit’s bulk import, which isn’t affected.Forms and meetings
- Each form submission becomes a lead contact (or updates the known contact), with the answers as contact fields, first-touch attribution, a timeline entry and a lead alert. A form embedded in the sales agent’s chat is attached to that conversation (sales agent).
- Meetings booked, rescheduled or cancelled in Orbit arrive in real time and are shown on the contact’s timeline. The hourly sync re-reads recent meetings as a safety net.
Workflow and series triggers
Orbit events are ready-made triggers. In a workflow’s trigger menu, or a series set to Triggers an event, pick the Orbit event. Each one fires for the Halo contact it belongs to, and its details are available as{{trigger.payload.*}} tokens in later steps.
A deal’s contact who isn’t in Halo yet is added as a lead, since a won deal is usually the moment onboarding starts. Tag events only fire for contacts Halo already has.
Example: trigger on Orbit · Deal won, then create an onboarding, assign the CSM and send the welcome email. Everything happens in Halo the moment the deal closes in Orbit.
The Orbit step in Halo workflows
Add an Orbit step from the step menu (shown once Orbit is connected). It acts on the enrolled contact’s Orbit record, or the deal’s primary contact in an onboarding workflow:
The step finds the Orbit contact through the two-way sync’s link, then by email. Turn on Create the contact in Orbit if missing to add contacts Orbit doesn’t have. Test runs preview the request without changing anything in Orbit, and later steps can use the step’s outputs (the Orbit contact id, the new deal or task id).
Halo in Orbit workflows
Once Halo’s actions are enabled for your workspace, Orbit’s workflow editor lists them under Installed apps:
The contact is the Halo contact the two-way sync linked, else the one with the same email, else a new lead. Each step returns
halo_contact_id for later steps in the Orbit workflow.