Skip to main content

Help center / Integrations

Connect LeadDesk

Set up REST API access and the reporting replica so Swiftner can see your LeadDesk calls.

LeadDesk is where your calls happen. Swiftner needs two ways in: the REST API to read contacts and post summaries back, and your reporting replica to see calls as they happen.

The replica is the part that needs LeadDesk's help, and it's the part people get stuck on. Start the allowlist request first, because it's the only step with someone else's queue in it.

Before you start

  • A Swiftner admin account.
  • Admin access to your LeadDesk account.
  • Your LeadDesk region. Look at the address you log in at: login-ceu means your zone is ceu. The three zones are nor, qed and ceu.

Step 1: Create a REST API client

In the LeadDesk admin panel, open Settings → API and click Create REST API client.

LeadDesk gives you two values:

  • an OAuth client ID, which starts with oauth_client_
  • a client secret

While you're on that page, note the number LeadDesk labels LeadDesk client ID at the top, something like 8282. Swiftner calls this your tenant ID. It's not the same as the OAuth client ID, and mixing the two up is the most common setup mistake here.

Step 2: Copy the original API key

Still in LeadDesk, open Admin panel → General Settings → API and copy the original API key.

This is a separate, older key from the OAuth client in step 1, and it does one specific job: Swiftner uses it to ask LeadDesk for your reporting replica's credentials. You don't need to look those up or email anyone for them. Hand over the original API key and Swiftner fetches them itself.

Step 3: Ask LeadDesk to allow Swiftner's IP addresses

LeadDesk firewalls the reporting replica per customer, so this has to be asked for. Email LeadDesk support and ask them to add both addresses to your tenant's allow list for MySQL access:

178.105.72.55    primary
62.238.24.153    fallback

Until this is done, everything else will look fine and the Replica check in Swiftner will report connection refused. Send the request now and carry on with step 4, which doesn't depend on it.

What the replica is for: it's how Swiftner sees that a call is live, looks up what happened on previous calls with the same contact, and catches calls the REST API missed. Without it, the integration can't see your calls at all.

Step 4: Connect from Swiftner

Open Admin → Integrations, click Add, and pick LeadDesk.

Field Value
Zone nor, qed or ceu, matching your login address
OAuth client ID Starts with oauth_client_
Client secret From step 1
LeadDesk tenant ID The "LeadDesk client ID" number, e.g. 8282
Original API key From step 2

Press Verify both connections. You get a separate result for the OAuth REST API and for the replica, so you can tell which half is unhappy. Pick the wrong zone and Swiftner will tell you which one it thinks you meant.

Then Save. Secrets go to encrypted storage, not the database.

Step 5: Map reps, campaigns and outcomes

Three tabs, once the connection is live.

Users. Pair each LeadDesk agent with their Swiftner user. Matching emails pair automatically; the rest you do by hand, and you can invite an agent into Swiftner from here. Unmapped agents get no coaching.

Campaigns. Map LeadDesk campaigns to Swiftner workspaces, so a call arrives with the right playbook: its products, its checklists, its coaching framework. Unmapped campaigns are skipped rather than guessed at.

Outcomes. Map your LeadDesk call outcomes to Swiftner's interest levels. This is what lets Swiftner compare what the rep logged against what actually happened on the call.

Settings worth knowing

Under Behavior on the Settings tab:

  • Call write-back: what gets posted as a comment on the LeadDesk call record. The summary, a link to the Swiftner report, coaching feedback, and the interest verdict are each toggled separately. Coaching feedback is visible to anyone reading the record, so consider who that is.
  • Minimum talk time: calls shorter than this aren't coached or written back. Default 60 seconds.
  • Process call recordings: for LeadDesk this is the whole pipeline rather than an extra. Recordings are LeadDesk's only call source, so turning it off pauses call processing entirely.

Troubleshooting

Replica says connection refused. The allowlist request from step 3 hasn't landed yet. Nothing on your side to fix.

LeadDesk rejected the original API key. Recheck it under General Settings → API. That's a different page from Settings → API, and the two keys are easy to confuse.

REST API works, replica doesn't (or the reverse). That's the point of testing both separately. The REST half is your OAuth client; the replica half is the original API key plus the allowlist.

Wrong zone. Symptoms look like bad credentials. Swiftner suggests the zone it thinks matches when it can tell.