This guide explains how to enable Salesforce AI Actions and connect them to Aircall's AI Voice Agent, so your agent can look up, update, and create Salesforce records during a live call, without transferring to a human.
This covers Salesforce AI Actions for an AI Voice Agent on inbound calls. Set the agent up as an Inbound agent; Salesforce AI Actions aren't available on outbound.
Important: Two things to know before you start. First, this changes real Salesforce data: the agent reads and writes to your Salesforce org using your own permissions, and verifies the caller's identity before changing an existing record. Second, it uses your Salesforce API allowance: each action is a Salesforce API request and counts against your org's daily limit.
Before you begin
- Your Aircall plan must be Professional or Custom, with the AI Voice Agent add-on enabled.
- Your Salesforce integration is authorized and connected in the Aircall Dashboard.
- You have an AI Voice Agent set up. If you don't have one yet, see Configuring your AI Voice Agent first, then come back to this guide.
Available Salesforce actions
Each action below is predefined by Aircall. Its inputs, outputs, and behavior are fixed. Administrators control which actions are enabled and which agents can use them, but cannot change what an action does.
| Capability | What it does |
|---|---|
| Find Customer | Identifies who the caller is by looking them up in Salesforce, by phone (preferred), email, or name, and returns the matching Contact, Lead, or Account. It runs first so the other actions know which record to work with. Read-only. |
| Find Case | Looks up the caller's case, either one specific case by its number, or a list of the caller's cases filtered by open, closed, or all. Read-only. |
| Find Opportunity | Checks whether the caller has any Opportunities in progress, as background context, for example to note interest or route the call. Read-only. |
| Get Activity History | Shows what has recently happened with the caller, their logged calls, tasks, and meetings, so the agent can respond with full context. Read-only. |
| Get Case History | Explains how a case reached its current state, what changed and when, plus the public comments agents have added. Read-only. |
| Create Case | Opens a new case for the caller. It starts as New with its origin set to Phone, and is automatically linked to the call it came from. Priority accepts everyday words like "urgent" or "normal." |
| Update Case | Updates the case the caller is asking about, its status, priority, subject, or description, or adds a public comment. Requires identity verification first. |
| Upsert Customer Record | Makes sure the caller exists in Salesforce as the right kind of record (Contact, Lead, or Account) and fills in details learned on the call. It only fills blanks or Aircall-created placeholders; it never overwrites information the customer already has. |
| Update Record | Corrects a real field on an existing Contact, Lead, or Account when the caller explicitly asks, for example "my email is wrong." Requires identity verification and a read-back before saving. |
Note: Create Case and Upsert Customer Record are designed to avoid duplicating your existing call logging. They reuse an existing matching record where one exists, and they don't create the call activity itself, since Aircall's standard call logging already records that.
Step 1: enable actions on your Salesforce integration
All actions are on by default. Turn off only the ones you don't want your agents to use.
Steps
- Go to Aircall Dashboard > Integrations > Apps.
- Open your connected Salesforce integration and select the AI Actions tab.
- Toggle on or off the actions you want to make available or disable.
Note: Enabling an action here doesn't affect live calls or existing configuration. It only makes the action available to assign to an agent. A disabled action won't appear in the agent setup.
Step 2: add Salesforce actions to your AI Voice Agent
Steps
- Open the agent and, under Functional abilities, click AI actions.
-
Click + Add action.
-
In Select from integrations list, search Salesforce and pick the action you want.
- Review the preset instructions and required inputs, then click Add action. Repeat for each action you want the agent to use.
- Click Save.
- Click Activate agent to start using the agent for your calls.
Tip: If you have more than one Salesforce integration installed, give each one a distinct custom name so you can tell their actions apart when adding them to an agent. Otherwise the groups in the dropdown look identical, and it's easy to add an action from the wrong integration.
Note: If an action is missing from the dropdown, it isn't enabled on the integration. Go back to Step 1 and toggle it on.
Telling the agent when to use each action
After adding an action, you can provide plain-English instructions about when to invoke it. There are two places to write these rules, and each serves a different purpose.
Additional instructions (inside the action panel) apply to that one action only. Use them to control how the agent gathers inputs, which output fields to focus on, or what to confirm before executing.
Conversation guidelines (below the Actions in use list, visible after saving your first action) apply across every AI Action on the agent. Use them to define triggers, chain actions together, branch on return values, and set fallback or transfer conditions. For example, "when the caller asks about an existing ticket, use Find Case."
Tip: Write rules in Additional instructions when the logic is specific to a single action. Use Conversation guidelines for business logic that spans multiple actions or depends on what an action returns. Putting the same rule in both places makes the agent harder to debug.
For a full breakdown of Additional instructions versus Conversation guidelines, and when to use each, please see Using AI Actions with AI Voice Agents.
Testing your setup
Test your setup before going live. There are two ways to validate the configuration.
Integration testing tab
Steps
- Go to Aircall Dashboard > Integrations > Apps.
- Open your connected Salesforce integration and go to the AI Actions Testing tab.
- Select an action, fill in the parameters, and click Execute to check the connection and see the response from Salesforce.
Test call in agent settings
Steps
- Go to Aircall Dashboard > AI Agents > AI Voice Agents and open the agent you want to test.
- Click Test Call to simulate a real conversation end to end.
Important: Test calls consume AI Voice Agent minutes and may create real Salesforce records. Use a Salesforce sandbox where possible.
Tip: If an action fails in the AI Actions Testing tab, the problem is on the Salesforce side (the connection, the connected user's permissions, or an org validation rule), not the agent. If it succeeds there but the agent didn't use it on a live call, the issue is the agent's assignment or its "when to use" guidance in Step 2, not Salesforce.
Troubleshooting common issues
| What you see | Likely cause | What to do |
|---|---|---|
| The Salesforce action isn't in the dropdown when setting up the agent | It isn't enabled on the Salesforce integration | Enable it in Step 1, then it appears in Step 2 |
| The agent didn't use the action during the call | The action isn't assigned, or the agent lacks guidance on when to use it | Confirm the action is added to the agent, and add plain-English guidance in Conversation guidelines |
| The agent said it couldn't find the caller | No matching Salesforce record, normal for a new or unknown caller | Expected; the agent can create a record if appropriate |
| The agent greeted the wrong person, or pulled someone else's records | More than one Salesforce record shares the caller's phone number; the agent matches the most recently updated one | De-duplicate the records in Salesforce: merge them, or correct the phone numbers, so one clear match remains |
| An update was refused, or the agent asked the caller to confirm a detail | Identity verification, by design for changes to existing records | Have the caller confirm a value on file (name, email, or phone); the update then proceeds |
| Salesforce rejected a create or update | An org validation rule, required field, or field-level restriction blocked the write | Check the object's validation rules and required fields in Salesforce, adjust the rule or grant the connected user access, then retry |
| The agent can't see or change certain records or fields | The connected Salesforce user lacks permission for that object or field | Grant the connected Salesforce user access, then retry |
| An outbound agent didn't use the Salesforce actions | Salesforce AI Actions support inbound calls only | Expected; use the actions on an inbound agent |
| Salesforce says the connection isn't authorized, or has expired | The Salesforce connection needs re-authenticating | Reconnect the Salesforce integration in the Dashboard, then retry |
| The action was slow or timed out | Salesforce was slow, or the lookup was large | Retry, or narrow the request. If it persists, check Salesforce's status page |
| Actions started failing with a limit or quota error | The org hit its daily Salesforce API limit | Wait for the limit to reset, or reduce usage; check your org's API usage in Salesforce |
| A new case has no contact, or isn't linked to the call | Edge case in record linking |
If none of these resolve it, contact Aircall Support with the affected agent, the action involved, an example call or record, and what you expected versus what happened.
FAQs
Does the agent change my Salesforce data?
Yes. It can create and update records, cases, contacts, leads, and accounts, using your org's permissions. Before changing an existing record it verifies the caller's identity, and it reads records the rest of the time.
What happens if the caller isn't found in Salesforce?
The agent can still help and, when appropriate, create a lightweight contact from the caller's details so the case isn't left unattached. It reuses an existing record where one already matches, so it won't create duplicates.
Can the agent log the call as an activity or task?
No. Aircall's standard call logging already records the call. Salesforce AI Actions deliberately don't create call activities, so you won't get duplicate entries.
Does this use up my Salesforce API limit?
Yes. Every action is a Salesforce API request against your org's daily limit, so it scales with how often your agents use the actions.
Do I need a Salesforce administrator to set this up?
No Salesforce admin work is needed beyond the initial integration connection. Enabling actions and adding them to an agent all happen in the Aircall Dashboard, done by your Aircall account admin.
Whose Salesforce permissions does the agent use?
The actions run as the Salesforce user that authorized the integration, so the agent can only see and change what that user is allowed to. To limit what the agent can touch, scope that Salesforce user's profile and permissions.
Can different agents have different actions?
Yes. Actions are added per agent, so a support agent and a sales agent can each have their own set. Enabling an action on the integration only makes it available to assign; it doesn't switch it on for every agent.
Do I have to add all the actions?
No. Add only the ones the agent needs. A smaller, focused set usually gives the agent clearer, more predictable behavior.
How do I stop an agent from using an action later?
Remove it from that agent's AI actions, or turn it off on the Salesforce integration's AI Actions tab to withdraw it from every agent at once. Changes take effect once the agent is saved and active.
How does the agent know which caller it's talking to?
It looks the caller up in Salesforce by phone number, and can also match on email or name, across Contacts, Leads, and Accounts.
Can I change what an action does, or its wording?
No. Each action's behavior is fixed by Aircall. You control when the agent uses it through Conversation guidelines, and what the agent says through the call script, but not the action's internal logic.
Can outbound agents use these actions?
No. Salesforce AI Actions are for inbound calls only. Set the agent up as Inbound.
Which Salesforce records can it work with?
Contacts, Leads, Accounts, Cases, and Opportunities. It reads these for context and, where you've enabled it, creates or updates Contacts, Leads, Accounts, and Cases.
How does it avoid changing the wrong person's record?
Before updating an existing record, the agent verifies the caller by confirming a detail already on file and reads the change back before saving. If the detail doesn't match, it won't make the change.
Can I try it before going live?
Yes. Use a test call and the AI Actions Testing tab to see how the agent uses the actions before you activate it.