# Connect Salesforce

> Salesforce needs a connected app you create in your own org, because Salesforce ended vendor-wide apps. It takes about ten minutes and only has to be done once.

Canonical: https://ahoya.ai/docs/integrations/salesforce
Updated: 2026-09-20

## What lands on the other side

Each caller becomes a Salesforce Contact with the call recorded as a Task.

## Create an External Client App

In Salesforce Setup, use Quick Find to open External Client App Manager, then New External Client App. Name it "Ahoya", keep Distribution State as Local, and check Enable OAuth.

**Note:** Integrations are available on Starter and above. A free trial can't connect them.

## Set the callback URL and scopes

Set the callback URL to https://ahoya.ai/api/salesforce/callback and add two OAuth scopes: Manage user data via APIs (api), and Perform requests at any time (refresh_token, offline_access).

## Leave the rest at their defaults

Create the app without changing anything else.

**Note:** Do NOT enable Enforce Refresh Token IP Allowlist. It blocks the refresh Ahoya needs, and the connection will start failing later rather than immediately — which makes it hard to trace back to this checkbox.

## Copy the consumer key and secret

In the app's Settings → OAuth Settings, click Consumer Key and Secret. Salesforce emails you a verification code before it shows them. Copy both values.

## Paste them into Ahoya and authorise

Paste the key, the secret and your My Domain URL into Integrations → Salesforce, save, then authorise. Any Salesforce URL from your address bar works — Ahoya normalises lightning and setup URLs for you.

## Frequently asked questions

### Why is this harder than the other CRMs?

Salesforce retired vendor-global connected apps, so each org creates its own. It's a one-time setup; after that it behaves like any other connection.

### Does it work on Salesforce Starter Suite?

No. Starter Suite has no API access, so there's no path for any integration to write to it.
