Skip to main content
External Sync is the configuration layer for keeping records in step between Alguna and a connected CRM — Salesforce or HubSpot. For each object type you choose which system leads, whether changes flow one way or both, and how a conflict is settled; failed syncs surface as issues rather than disappearing. Use it once a CRM is connected and before you rely on CRM data in Alguna or Alguna data in the CRM. The objects being synced are described in How Alguna works. Sync is configured in the dashboard under Settings → Connections → Integrations. There is no public API for sync configuration; the public API exposes your connected integrations read-only through List integrations and Get an integration.

Supported Systems

External Sync covers the CRM integrations: Accounting integrations move data on their own schedules and are not configured here. See Quickbooks, Xero and Netsuite.

How It Works

Each sync configuration covers one object type on one integration. A configuration says which direction data flows and, when it flows both ways, which side wins a conflict.
1

Connect the integration

Connect Salesforce or HubSpot under Settings → Connections → Integrations.
2

Add a sync configuration per object type

Pick the object type — account, contact, subscription, product, invoice, payment or opportunity — and the sync type.
3

Choose a conflict strategy

Required when the sync type is bidirectional.
4

Validate and enable

Validate the configuration before enabling it, so a misconfigured mapping is caught before it moves any records.

Sync Types

Conflict Strategies

Required for bidirectional configurations.
none is the safest default while you are getting a configuration right: nothing is silently overwritten, and every clash lands in the sync issue list.

Object Types

A sync configuration is created per object type. Not every type is available on every integration — the dashboard only offers the ones the connected system supports.

What an account sync carries

Searching your CRM by company name — when creating a customer in Alguna, or when Alguna matches an incoming record — is how the two sides are connected. Once matched, an account sync carries a fixed set of fields in either direction:
The CRM record’s owner is not one of them. Reassigning a company in Salesforce or HubSpot — a new Account Executive, a territory change — changes nothing in Alguna, and Alguna has no owner or Account Executive field of its own to change back. Ownership stays a CRM concept. If your team needs to see who owns an account from inside Alguna, follow the link back to the CRM record, where the current owner is always right.
Tax settings, legal entity and parent customer are likewise not synced; they are set on the Alguna side. See Manage customers.

Matching Records

Records are matched by external identifier. Store the CRM’s record ID on the Alguna customer as an alias, and the two sides stay linked even if names or emails change:
aliases is a list of strings. Anywhere the API takes a customer you can pass an alias instead of the Alguna ID, which means you never have to store Alguna identifiers in your CRM. To go the other way, Look up a customer ID by alias resolves a CRM record ID to the Alguna customer. Reference: Update a customer. For bulk account matching when you first connect a system, see Sync Accounts.

Sync Status and Issues

Each synced record carries a status: When a sync fails, Alguna opens a sync issue so the failure is visible rather than silent. Issues are listed under Settings → Connections → Sync issues, per integration. Accounting integrations (QuickBooks, Xero, NetSuite) raise issues in the same list. Issues are categorised by cause — authentication, rate limiting, provider outage, validation, configuration, or unknown. Authentication and rate-limit issues pause the integration rather than retrying into a wall; reconnect the integration or wait out the limit, then resume.

Checking Integration Health

The public API lists your connected integrations and their state:
Fetch one by ID with Get an integration.

Best Practices

Pick one system of record

Per object type, decide which side leads and use source or target. Reach for bidirectional only where both sides genuinely edit.

Start with none

Let the first clashes surface as issues rather than silently resolving them, then choose a strategy once you have seen what actually collides.

Match on IDs, not names

Store the CRM record ID as a customer alias. Names and email addresses change.

Watch the issue list

A quiet integration with a growing issue list is not syncing.

Next Steps

Salesforce

Connect Salesforce and map its fields.

HubSpot

Connect HubSpot and map its fields.

Sync Accounts

Bring existing customers in when you first connect.

Automations

React to CRM changes with automation triggers and actions.