Skip to main content
The Salesforce integration enables Cora.ai to access your CRM data for customer insights, account management, and synchronization.
Integration Type: OAuth 2.0, Organization-Level
Setup Time: 5–10 minutes
Required Role: Salesforce System Administrator

Prerequisites

  • Active Salesforce account (Sales Cloud, Service Cloud, or similar)
  • System Administrator permissions in Salesforce — installing the Cora package requires this role
  • Organization administrator access in Cora.ai
  • You do not need to create a Connected App in Salesforce — the Cora integration is fully managed on our side
  • You will install the Cora managed package in the org you are connecting. It contains only the OAuth app definition (an External Client App): no objects, fields, Apex, triggers, or data

Required Permissions

Cora.ai will request the following Salesforce permissions:
  • API Access (api) — Access Salesforce APIs
  • Perform requests at any time (refresh_token, offline_access) — Maintain persistent connection
  • Identity (id, profile, email, address, phone) — Identify the connecting user so Cora can attribute the connection
Data Access Control: Cora.ai can only access Salesforce data that the connected user has permission to access. Access is controlled by the Salesforce user’s profile, permission sets, and sharing rules. Recommended Objects: Accounts, Contacts, Opportunities, Cases, Custom Objects (as needed) Best Practice: Create a dedicated Salesforce integration user with a custom profile that grants access only to the objects and fields Cora.ai needs. This provides:
  • Granular control over accessible data
  • Clear audit trail (all API activity attributed to the integration user)
  • Easy permission management without affecting other users

Setup Steps

1

Initiate Connection in Cora

  1. Log into Cora.ai as an organization administrator
  2. Navigate to Settings → Organization Settings → Integrations
  3. Locate the Salesforce integration card
  4. Click the Connect button
2

Select your Salesforce account

When prompted for the Salesforce account type, choose Production.
3

Install the Cora package

Cora prompts you to install a small managed package in your Salesforce org.
  1. Click Install
  2. Complete the installation in Salesforce as a System Administrator
  3. Return to Cora and click I’ve installed the package
  4. Click Connect to continue to Salesforce
4

Grant Permissions

  1. Log in to Salesforce if prompted
  2. Review the permissions that Cora.ai is requesting
  3. Verify the requested scopes align with your security policies
  4. Click Allow to grant access
5

Confirm Connection

  1. You will be redirected back to Cora.ai
  2. The Salesforce integration card will show Connected status
  3. Connection details will display:
    • Connected by: [Admin Name]
    • Connected on: [Date]
6

Enable Lifecycle Events

Track events across your customer lifecycle — from onboarding and renewals to upsells, expansion, and churn risk — so your team never misses a key moment.
  1. Click the connected Salesforce integration card to open the settings panel
  2. Under Lifecycle Events, toggle the switch on
  3. Click Save

Already connected?

If your organization connected Salesforce before September 2026, your connection keeps working with no action required. If you ever disconnect and reconnect, you will be asked to install the Cora package first.

What Cora.ai Accesses

Reads: Cora.ai syncs Accounts, Contacts, Opportunities, Cases, and other configured objects via scheduled API polling. All data stays on Cora’s infrastructure and is used to surface insights and track lifecycle events. Writes (if configured): When agents are configured for Salesforce actions, Cora can update record fields, post to Chatter, and attach files to records. Writes only happen through explicitly configured agent workflows — never automatically or without visibility. If write-back is enabled for your organization, your Cora.ai contact will walk through the specifics and provide observability for any changes made.

Importing Accounts and Ownership Sync

Once Salesforce is connected, you can import accounts, set up ownership sync, and filter by ownership on the Accounts page. See Managing Your Accounts for setup instructions.

How the Sync Works

Cora uses scheduled API polling to keep your Salesforce data in sync. Here’s what that means for your org:
  • Standard REST API — Cora periodically queries Salesforce’s standard API to pull the latest data. No CDC, Platform Events, or Apex triggers are involved.
  • One lightweight managed package — The Cora package registers our OAuth app in your org. It adds no objects, fields, triggers, Apex, or scheduled jobs and makes no API calls itself. Uninstalling it disconnects the integration.
  • Change detection on our side — Cora compares current field values against a previous snapshot stored on our infrastructure. All comparison and change detection logic runs on Cora’s side.
  • API usage — Only standard Salesforce API calls are made, counting toward your org’s daily API request limit. If API limits ever become a concern, we can adjust the polling frequency.

Security

The Cora Salesforce integration uses standard OAuth 2.0 with scoped permissions. Cora authenticates through a Salesforce External Client App distributed as a second-generation managed package, Salesforce’s current recommended model for third-party integrations. All tokens are stored in an encrypted, SOC 2 Type II-certified vault. Cora can only access and modify data that the connected Salesforce user has permission to access.

Troubleshooting

“Cross-org OAuth flows are not supported for this external client app” or another OAuth authorization error The Cora package is not installed in your Salesforce org yet. Start the Connect flow again and complete the Install step before continuing. Need help? If you run into any issues not covered here, reach out to us at support@cora.ai and we’ll help you get connected.