Connecting your CRM
Sync accounts, contacts, and deals from Salesforce into Pact. HubSpot and Pipedrive are on the roadmap.
Pact can sync data from Salesforce into Pact so you do not need to do a one-time CSV migration. The sync is one-way and read-only — Pact imports from Salesforce on a schedule, and never writes back to your org.
HubSpot and Pipedrive connectors exist in Pact's backend and are visible as cards on the integrations page, but they are marked on the roadmap and are not yet connectable.
What syncs (Salesforce)
| Object | Synced |
|---|---|
| Accounts | ✓ |
| Contacts | ✓ |
| Opportunities | ✓ |
| Tasks (last 90 days) | ✓ |
Field mapping uses a built-in default (standard Salesforce fields only). To pull in an extra custom field (e.g. Lead_Source__c), an admin adds a partial override to the integration's mapping config — there is no self-serve field-mapping screen today; ask support if you need a custom field mapped.
Connecting Salesforce
Prerequisites
- A Salesforce account with API access enabled (Professional, Enterprise, or Unlimited edition).
- A Salesforce user with System Administrator profile, or a custom profile with API Enabled permission.
Steps
- Go to Settings → Integrations.
- On the Salesforce card, toggle Sandbox if you're connecting a sandbox org (uses
test.salesforce.cominstead oflogin.salesforce.com), then click Connect Salesforce. - You are redirected to Salesforce's OAuth login. Sign in as the integration user and approve the requested
api,refresh_token, andoffline_accessscopes. - On return to Pact, the initial backfill begins. Progress (accounts/contacts/deals/tasks imported) is shown on the card.
Subsequent syncs are incremental and run automatically about every 30 minutes. You can also trigger an immediate sync with the Sync now button.
Stage mapping
Deal StageName values are mapped to Pact's canonical stages using a built-in default table covering Salesforce's standard stage set. An org's non-standard stage names fall back to Pact's Lead stage. If you need a stage mapped differently, contact support — there is no self-serve stage-mapping screen today.
Disconnecting
Go to Settings → Integrations and click Disconnect on the Salesforce card. Data already synced remains in Pact; no data is deleted. Future changes in Salesforce will no longer sync.
Troubleshooting
Sync shows an error / API cap warning
The card surfaces the raw error text from the last failed run, plus a rate-limit meter when you're approaching Salesforce's daily API cap. New syncs may pause until the cap resets. Expand Recent syncs on the card for a per-run breakdown (imported / updated / error counts).
Records not appearing after initial sync
Check Recent syncs on the Salesforce card — a run with a non-zero error count indicates records that failed to import, most often because a Salesforce record was missing a field Pact's default mapping expects.
OAuth fails or access is denied
Reconnecting requires disconnecting and clicking Connect Salesforce again to restart the OAuth flow. If your org restricts third-party connected apps, your Salesforce admin will need to allow Pact's connected app first.