> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useorbitcrm.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Halo Integration

> Two-way contact and company sync with Halo, Orbit events that start Halo workflows, and Halo as a step in your Orbit workflows

![Halo](https://mintcdn.com/orbitai-d647f397/-IJw4rz4cgghZ2zC/_images/integrations/halo.svg?fit=max\&auto=format\&n=-IJw4rz4cgghZ2zC\&q=85\&s=59197a34b1e727b371dc01116c9bcc23)

> [!NOTE]
>
> Built by **Halo AI**. The connection is made from the Halo app via OAuth.

## Start Here

[Halo](https://www.haloagents.ai) is an AI customer-success platform: support and sales agents, a shared inbox, and customer-success workflows. Connected to your Orbit workspace, it keeps your contacts and companies in step with Orbit, reacts to what happens in Orbit, and can act in Orbit from its own workflows. Halo also appears as a step in your Orbit workflows.

Once connected, the Halo card on your Integrations page shows as **Installed**.

## Key Features

* **Two-way contact and company sync**: map Orbit fields to Halo fields and choose, field by field, which way each flows and which side wins when both changed
* **Forms and meetings in Halo**: submissions and bookings become Halo contacts and timeline entries in real time, and Halo's AI agents can book meetings on your scheduling pages
* **Orbit events start Halo workflows**: a deal won, a lead qualified by AI, a tag added, a meeting booked or rescheduled
* **Halo acts in Orbit**: Halo workflows can update a contact, add a tag, create a deal, task or note, enroll in a sequence, or run an Orbit workflow
* **Halo in your workflows**: start a Halo workflow, update a Halo contact, send Halo an event or add a note as a step in an Orbit workflow
* **Secure OAuth**: scoped, revocable access to your workspace

## Setting Up the Integration

**1. Connect from Halo**

In Halo, open **Settings → Integrations → Orbit** and click **Connect with OrbitForms**.

**2. Authorize via OAuth**

You're redirected to Orbit to approve the scopes Halo requests (listed below). Pick the workspace to connect and authorize.

**3. Turn on the two-way sync**

Back in Halo, under **Two-way sync**, review the field mapping and turn it on. Halo runs a first sync in the background: it links records that already exist on both sides (contacts by email, companies by domain) and adds the rest where you allowed it.

**4. Verify in Orbit**

Open **Integrations → Halo** in your Orbit dashboard. The card shows **Installed** once the connection is active.

## What Halo can access

| Scope | Used for |
| - | - |
| `contacts:read`, `contacts:write` | The two-way sync; tags and contact updates from Halo workflows |
| `companies:read`, `companies:write` | The two-way sync of companies |
| `crm:read` | Your fields, which Halo lists in its mapping table, and your pipelines |
| `deals:read`, `deals:write` | Deal events in Halo workflows; creating deals from Halo |
| `tasks:read`, `tasks:write`, `notes:write` | Creating tasks and notes from Halo workflows |
| `sequences:read`, `sequences:write` | Enrolling contacts in your sequences from Halo workflows |
| `workflows:read`, `workflows:write` | Running your Orbit workflows from Halo |
| `forms:read`, `submissions:read` | Your forms in Halo's sales agent; submissions as Halo contacts |
| `scheduling:read`, `meetings:read`, `meetings:write` | Scheduling links, availability and bookings in Halo's chat |
| `webhooks:read`, `webhooks:write` | The real-time subscription that tells Halo what changed |
| `team:read` | Your workspace's name, and telling Halo's own changes apart |

Halo never reads your passwords, API keys or other integrations' credentials.

## How the two-way sync works

The mapping table lives in Halo. Each row pairs an Orbit field (built-in or custom) with a Halo field and sets:

* **Direction**: both ways, Orbit → Halo (Orbit is the source), or Halo → Orbit
* **When both change**: Orbit wins, Halo wins, or the latest change wins

A change on either side reaches the other within about a minute. Halo ignores the changes its own writes cause, so the two systems never overwrite each other in a loop, and it reads your changes feed every 15 minutes to catch anything a webhook missed. Deleting a record in Orbit stops Halo writing to it; deleting it in Halo leaves the Orbit record alone.

The full reference is in [Halo's Orbit documentation](https://docs.haloagents.ai/integrations/orbitforms).

## Using Halo in your workflows

With Halo installed, the workflow editor lists its actions under **Installed apps** in the add-step menu. They appear once the Halo AI app's workflow actions are enabled and approved by Orbit; until then the menu doesn't show them.

| Step | What it does | Inputs |
| - | - | - |
| **Halo AI: Start a Halo workflow** | Enrolls the workflow's contact in an active Halo contact workflow | The Halo workflow's ID |
| **Halo AI: Update a Halo contact** | Sets a field on the contact in Halo | The field (`name`, `phone` or a Halo custom field key) and the value |
| **Halo AI: Send event** | Records an event on the contact in Halo, which starts Halo workflows and series listening for that event name | The event name, and an optional value |
| **Halo AI: Add a note** | Adds a note to the contact's timeline in Halo | The note's text |

The contact is the one the two-way sync linked, else the Halo contact with the same email, else a new Halo lead. Each run reports `halo_contact_id` as an output for later steps.

## Disconnecting

* **From Halo**: disconnect under **Settings → Integrations → Orbit**. Halo removes its webhook subscription and revokes its access; the card here flips back to **Not installed**.
* **From Orbit**: remove Halo under **Integrations → Halo**. Halo's tokens are revoked at once and Halo is notified: it turns its sync off and asks your Halo team to reconnect.

Contacts, companies and history already synced stay on both sides either way.

## Troubleshooting

> [accordion] The card shows "Not installed" after connecting?
>
> The status updates when Halo completes the OAuth flow. Refresh the Integrations page, and make sure you authorized the right workspace.

> [accordion] Halo says a permission is missing
>
> Halo shows the scopes it still needs on its Orbit page, with a **Reconnect** button. Reconnecting asks you to approve them.

> [accordion] A field isn't syncing
>
> Halo flags rows that couldn't sync on its Orbit page, with the reason. A common one is a dropdown value Orbit doesn't have as an option, or a custom field that was renamed or deleted in Orbit.

> [accordion] I don't see Halo under Installed apps in the workflow editor
>
> The steps appear only in workspaces where Halo is installed. Connect Halo from the Halo app first.

> [accordion] How do I revoke access?
>
> Disconnect from the Halo app, or remove Halo under **Integrations → Halo**.

## Resources

* [Halo Website](https://www.haloagents.ai)
* [Halo's Orbit documentation](https://docs.haloagents.ai/integrations/orbitforms)
* [Privacy Policy](https://www.haloagents.ai/privacy)
* [Terms of Service](https://www.haloagents.ai/terms)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.