# Edesy CRM Integration

> Let Edesy CRM place calls with your voice agents and receive every call's result. What the integration creates in your voice agent workspace, which scopes it needs, and how to turn it off.

Source: https://edesy.in/docs/voice-agent/integrations/edesy-crm

[Edesy CRM](https://edesy.in/crm) can use the agents in this workspace to call its contacts. Your team picks a contact in the CRM, chooses one of your agents, and the call goes out from this workspace, with the same agent, phone number, recording and billing as any other call you place here.

The CRM-side steps are in the Edesy CRM docs: [connect a voice agent](https://edesy.in/docs/crm/voice-agent/connect), [call a lead](https://edesy.in/docs/crm/voice-agent/call-a-lead) and [call outcomes](https://edesy.in/docs/crm/voice-agent/call-outcomes). This page covers what the integration means for your voice agent workspace.

## What the CRM can do here

| The CRM can | Using |
|---|---|
| List your agents, so its users can pick one | `GET /api/v1/agents` (scope `agents:read`) |
| Place a call to a contact | `POST /api/v1/calls` (scope `calls:write`) |
| Read the calls it placed | scope `calls:read` |

The CRM can't change your agents, prompts, phone numbers or billing.

Each call carries the contact's name, email and CRM contact ID as variables (`{{customer_name}}`, `{{first_name}}`, `{{last_name}}`, `{{email}}`, `{{contact_id}}`), so a greeting such as `Hi {{first_name}}` works without extra setup. See [Variables & Templates](https://edesy.in/docs/voice-agent/features/variables).

## Connect with an API key (available now)

1. In **Settings → API Keys**, create a key named `Edesy CRM` with the scopes `agents:read`, `calls:read` and `calls:write`. Details: [Authentication and scopes](https://edesy.in/docs/voice-agent/api/authentication).
2. Paste it into Edesy CRM under **Settings → Integrations → Voice Agent**.

This route lets the CRM place calls. It doesn't send call results back to the CRM.

## One-click connect (coming soon)

From **Integrations → Edesy CRM** in this app, turn Edesy CRM on and click **Open CRM**, then confirm in the CRM. That creates two things in this workspace for you:

| Created | Where you'll see it | Purpose |
|---|---|---|
| An API key named **Edesy CRM** | **Settings → API Keys** | Lets the CRM list agents and place calls |
| A webhook subscription named **Edesy CRM: call outcomes** | [Webhook subscriptions](https://edesy.in/docs/voice-agent/api/webhook-subscriptions) | Sends a signed `call.analyzed` event to the CRM after every call, so the result lands on the contact |

Leave both in place. If you delete the subscription, results stop reaching the CRM; connect again from **Open CRM** to recreate it. Connecting again replaces the key rather than adding a second one.

Turning **Edesy CRM** off under **Integrations** revokes the key and disables the subscription straight away.

## Which calls reach the CRM

The subscription covers every call in this workspace, not just the ones the CRM started. A call the CRM placed is matched to its contact by ID; any other call is matched by the phone number called. For how each result changes a lead's status, see [call outcomes](https://edesy.in/docs/crm/voice-agent/call-outcomes).

## Related

- [All CRM integrations](https://edesy.in/docs/voice-agent/integrations)
- [Dispositions reference](https://edesy.in/docs/voice-agent/post-call/dispositions)
- [AI cold calling](https://edesy.in/ai-cold-calling)
