Salesforce

Halo + Salesforce Integration

Sales and service.
In sync.

Halo's native Salesforce integration imports accounts, contacts, opportunities, and cases — giving your support and sales teams real-time visibility of each other's work, without anyone re-entering data.

✓ Account & customer imports ✓ Contact & user imports ✓ Opportunity imports ✓ Case imports ✓ Bi-directional sync ✓ Halo Integrator — scheduled sync ✓ Native — included in every licence

What you get

Four data flows. One connected operation.

Halo imports the records your support team needs from Salesforce — and syncs the right data back. Each data type is configured independently, so you import exactly what's relevant.

Accounts

Salesforce accounts become Halo customers

Import Salesforce accounts directly into Halo as customer records. Field mappings let you control exactly which Salesforce data populates which Halo customer fields — including custom fields. Child accounts can optionally be imported as Halo Sites.

Accounts imported with configurable field mappings
Child accounts imported as Halo Sites
Custom where clause to filter which accounts are imported
Contacts

Salesforce contacts become Halo users

Import Salesforce contacts as Halo users, with the same field mapping flexibility as accounts. Your support team sees the same contacts as your sales team — the same person, the same data, no duplication.

Contacts imported as Halo users with full field mapping
Account manager field matched by email address
Custom where clause to filter contact imports
Opportunities

Salesforce opportunities imported as Halo tickets

Import Salesforce opportunities into Halo as the ticket type of your choice. Stage names are mapped between Salesforce and Halo, so pipeline status stays consistent across both platforms.

Opportunities mapped to the Halo ticket type of your choice
Salesforce stage names mapped to Halo opportunity stages
Filter imports by date or criteria using a custom where clause
Cases

Salesforce cases imported as Halo tickets

Salesforce cases — and their feed updates — can be imported into Halo. Priority mappings ensure the right urgency is applied. Case comments can be synced back to Salesforce so both teams stay informed.

Cases imported with field mapping and priority mapping
Case feed updates imported alongside each case
Case comments synced back to Salesforce

The detail

Everything the integration delivers.

The full feature set — active from day one, included in your Halo licence, no middleware, no extra subscriptions.

Account imports
Salesforce accounts are imported into Halo as customer records. Field mappings and a custom where clause give you full control over what's imported and how it maps.
Contact imports
Salesforce contacts become Halo users. Field mappings bring across the right contact data. Account manager matching is done by email address.
Opportunity imports
Opportunities are imported as the Halo ticket type of your choice. Stage names are mapped between platforms. Filter by date or other criteria using custom where clauses.
Case imports
Salesforce cases are imported into Halo with field mapping, priority mapping, and optional case feed updates. A custom where clause filters which cases are brought across.
Bi-directional sync
Accounts, contacts, opportunities, cases, and case comments can be synced back to Salesforce. Any field mapped on import can be included in the outbound sync.
Halo Integrator — scheduled sync
The Halo Integrator runs on a schedule and keeps Halo up to date with changes in Salesforce automatically — no manual imports required after initial setup.
Custom field mapping
Map any Salesforce field to any Halo field — including custom fields using the Salesforce __c suffix. Configured independently for accounts, contacts, opportunities, and cases.
Custom where clauses
Control exactly which Salesforce records are imported using custom where clause syntax per data type. Filter by date, status, type, or any other Salesforce field.
Child accounts as Halo Sites
Parent accounts imported as Halo customers; child accounts imported as Halo Sites. The parent–child relationship is maintained and can be synced in both directions.
Opportunity stage mapping
Salesforce opportunity stage names are mapped to Halo stage names. Stage can be set at ticket type level or overridden per individual ticket using the Salesforce Stage field.
Case priority mapping
Salesforce case priority levels are mapped to Halo priority levels on import. Your Halo tickets carry the right urgency from the moment they arrive.
Included in the standard Halo licence
The full Salesforce integration — imports, bi-directional sync, Halo Integrator — is a first-party Halo feature included in the standard licence. No middleware, no connector, no add-on required.

Getting connected

How the integration is configured

Setup requires steps in both Salesforce and Halo. No middleware, no third-party connectors, no software to install.

Production Salesforce instances only. This integration does not work with Salesforce trials or sandbox environments. A live production Salesforce instance is required.
1

Create a Managed Application in Salesforce

In Salesforce, navigate to the Setup screen and create a new Managed Application. Enable OAuth settings and add the required scopes. Once created, the Consumer Key is available under Apps → App Manager → View → Manage Consumer Details. Note this down — you will need it in Halo.

2

Add your Halo URL to the Salesforce CORS whitelist

In Salesforce, go to Settings → Security → CORS. Add your Halo URL to the allowed origins list. This step is required — without it, Halo cannot communicate with Salesforce across origins and the connection will fail.

3

Enable the Salesforce module in Halo

In Halo, navigate to Configuration → Integrations → Salesforce. Enable the module by clicking the "+" button, then open the configuration screen.

4

Enter your Salesforce URL and Consumer Key

In the Halo integration configuration, enter your Salesforce instance URL and the Consumer Key from the Managed Application you created in Salesforce.

5

Authenticate with Salesforce and retrieve an Access Token

Click the retrieve access token button in Halo. This will prompt you to authenticate with your Salesforce account. Once authenticated, Halo stores the access token securely — it is not visible or copyable after this point.

6

Configure imports and field mappings

Set up field mappings for each data type you want to import — Accounts, Contacts, Opportunities, Cases. Configure priority mappings for Cases and stage name mappings for Opportunities. Add custom where clauses to filter which records are imported.

7

Enable the Halo Integrator for ongoing automated sync

Enable the Halo Integrator to keep your data in sync automatically on a schedule. Once running, new and updated records in Salesforce will flow into Halo without manual intervention.

Before you start

What you'll need in your Salesforce environment

These steps require access to your Salesforce environment and cannot be completed on your behalf.

Salesforce admin
Production Salesforce instance
The integration only works with production Salesforce instances. Trials and sandbox environments cannot be connected — you need a live production account before setup can begin.
Salesforce admin
Create a Managed Application in Salesforce Setup
A Salesforce administrator must create a Managed Application in Salesforce Setup with the correct OAuth settings. This generates the Consumer Key needed to configure the integration in Halo.
Salesforce admin
Add Halo URL to CORS whitelist
Your Halo URL must be added to the CORS allowed origins list in Salesforce Security settings before the connection can function. A one-time step done by a Salesforce administrator.
Ongoing
Keep the Halo Integrator running
Ongoing automated sync relies on the Halo Integrator running on schedule. If it stops, new records from Salesforce will not flow into Halo until it is restarted.

Real-world uses

Three ways this changes the day-to-day.

These are the most common ways organisations put the Salesforce integration to work from go-live.

01

Support team sees new customers the moment they're added in Salesforce

Sales adds a new account in Salesforce. On the next scheduled sync, Halo automatically imports the account — the support team has visibility of the customer, their context, and any existing issues without waiting for a handover or manual entry.

Account in Salesforce Synced to Halo Support team ready
02

Sales sees open support tickets without logging into Halo

Halo syncs ticket and case data back to Salesforce. A sales rep checking a customer account in Salesforce can see whether there are open support issues before they pick up the phone or send a renewal email. Better conversations, fewer surprises.

Ticket raised in Halo Synced to Salesforce Sales informed
03

Opportunities tracked across both platforms without duplication

Salesforce opportunities are imported into Halo as the ticket type of your choice. Stage names stay aligned between platforms. The account manager field is matched by email, so the right person is linked to each opportunity in both systems automatically.

Opportunity in Salesforce Imported to Halo Stages kept in sync

Common questions

Frequently asked questions

Does this work with Salesforce trials or sandbox environments?
No. This integration only functions with production instances of Salesforce. Trials and sandbox environments cannot be connected. If you are currently on a Salesforce trial, you will need a live production account before the integration can be configured.
What data can be imported from Salesforce into Halo?
Halo can import accounts (as customers), contacts (as users), opportunities (as tickets), and cases (as tickets) from Salesforce. Attachments associated with these records can also be imported. Field mappings — including custom Salesforce fields using the __c suffix — are configurable for each data type independently.
Is the sync bi-directional?
Yes. As well as importing data from Salesforce into Halo, you can sync accounts, contacts, opportunities, cases, and case comments back to Salesforce. Any field mapped on import can be included in the outbound sync. Sync can be enabled for creation, updates, or both, and can be disabled per-record using the "Don't sync to Salesforce" setting.
What does the Halo Integrator do for this integration?
The Halo Integrator is Halo's built-in sync engine. Once enabled for Salesforce, it runs on a schedule and automatically imports new or updated records from Salesforce into Halo — so your data stays current without manual imports. The last sync date and any errors are visible inside Halo.
What Salesforce access is needed to set this up?
A Salesforce administrator is needed to create the Managed Application in Salesforce Setup and to add your Halo URL to the CORS whitelist in Salesforce Security settings. The account used to authenticate the integration must have access to the data types you want to import.
Can we filter which Salesforce records are imported?
Yes. Each data type — accounts, contacts, opportunities, cases — has a Custom Where Clause option. This lets you filter records based on any Salesforce field, including dates, status, type, or other criteria. For example, you can import only opportunities created after a certain date, or only accounts of a specific type.
Is this included in the standard Halo licence?
Yes. The Salesforce integration is a native, first-party Halo feature included in the standard licence. There is no middleware, no third-party connector, and no additional subscription required.
We're already live on Halo — can we add Salesforce without disruption?
Yes. The integration can be added to an existing live Halo environment. Allied ESM can scope what's involved based on your Salesforce data structure and Halo configuration — contact us to discuss.

Ready to connect Halo to Salesforce?

Allied ESM can scope what's involved based on your Salesforce setup and Halo configuration. Talk to us to get started.