AI agents for Salesforce
The enterprise system of record for revenue. AGNT connects to Salesforce so agents can read what happens there, reason about it, and act — with a receipt for every run.
Lead Researcher is a ready-made agent that works in Salesforce — free, and it runs on your machine.
Salesforce and AGNT, in brief
| What it does | Lets an AGNT agent read from and act in Salesforce. |
|---|---|
| Connects with | OAuth 2.0 Bearer — held in the local vault |
| AGNT node | custom-api, or the zapier-action bridge |
| Runs when | A lead or opportunity changes |
| Typical build time | Ten minutes |
| Where data goes | Nowhere by default — AGNT runs on your machine and credentials never leave it. |
What you can automate
Reacts when…
- a lead or opportunity changes
- a task is due
- a report cycle begins
Agents can…
- update records and fields
- create tasks and notes
- extract report data
Teams use it for
- hygiene enforced across the pipeline
- opportunity summaries before every call
- forecast data pulled into real reports
Copy this Salesforce workflow
Design goal for Salesforce: hygiene enforced across the pipeline; opportunity summaries before every call; forecast data pulled into real reports. The template below supplies configurable nodes, not the complete logic for those goals.
Use this Salesforce setup template to arrange the schedule, input review and API operation. Configure the account-specific fields and add your own decision and approval controls before activation.
This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.
{
"id": "df52e241-c85a-4c91-a807-b3349ba5af26",
"name": "Salesforce — read, decide, act",
"nodes": [
{
"id": "bc3a541c-bc0c-4c62-a000-a4aa82361ed4",
"text": "Run on a schedule",
"x": 512,
"y": 144,
"isEditing": false,
"type": "trigger-timer",
"icon": "clock",
"category": "trigger",
"isSelected": false,
"parameters": {
"fireOnStart": "No",
"scheduleType": "Interval",
"schedule": "Every 15 Minutes"
},
"description": "Setup template for Timer Trigger. This trigger node fires the workflow at specified intervals or at a specific time. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "24494f24-85e4-4913-ada6-008d44e98e9e",
"text": "Review source and draft",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "agnt",
"category": "action",
"isSelected": false,
"parameters": {
"agentId": "CONFIGURE_AGENTID",
"message": "Decide what needs to happen in Salesforce. Explain your reasoning.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
},
"description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "eb244c00-280c-4115-ae41-af0fcd078252",
"text": "Call the Salesforce API",
"x": 512,
"y": 528,
"isEditing": false,
"type": "custom-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"url": "https://{instance}.my.salesforce.com/services/data/v59.0/sobjects/Contact",
"method": "GET",
"authType": "None",
"headers": "{}",
"query": ""
},
"description": "Setup template for Custom API Request. This action node makes a custom API request to any endpoint with configurable method, headers, and authentication. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "0d481a8e-7a2a-4a00-ad3e-2a3ea894cafc",
"start": {
"id": "bc3a541c-bc0c-4c62-a000-a4aa82361ed4",
"type": "output"
},
"end": {
"id": "24494f24-85e4-4913-ada6-008d44e98e9e",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "9319c1ee-007f-4430-a9ed-37181a295e00",
"start": {
"id": "24494f24-85e4-4913-ada6-008d44e98e9e",
"type": "output"
},
"end": {
"id": "eb244c00-280c-4115-ae41-af0fcd078252",
"type": "input"
},
"startX": 800,
"startY": 360,
"endX": 512,
"endY": 552
}
],
"zoomLevel": 1,
"canvasOffsetX": 0,
"canvasOffsetY": 0,
"isTinyNodeMode": false
}
Configure Custom API Request
This action node makes a custom API request to any endpoint with configurable method, headers, and authentication.
- url — The URL of the API endpoint Current example:
https://{instance}.my.salesforce.com/services/data/v59.0/sobjects/Contact. - method — The HTTP method for the request Current example:
GET. - authType — The type of authentication Current example:
None. - query — Query parameters for the request (e.g., 'key1=value1&key2=value2') Current example:
. - headers — Optional headers for the request. e.g., {"Content-Type": "application/json"} Current example:
{}.
Install Lead Researcher — it runs on Salesforce
Lead Researcher is a working agent that uses Salesforce. Installing it drops the whole workflow onto your canvas — connected, editable, and yours to change.
Runs on your own machine · See what it does
The system of record needs a librarian
Salesforce holds the revenue truth and depends on people maintaining it. Hygiene enforcement, note-writing and field updates are exactly the repetitive reading-and-writing work agents absorb well, and the payoff is a forecast built on data somebody can trust.
Preparation before every conversation
An opportunity summary assembled before a call — history, open items, what changed since last time — is a small piece of work that rarely gets done under time pressure and reliably improves the conversation when it does.
How to reach Salesforce from a workflow
There is no first-party Salesforce node yet, and a page implying otherwise would cost you an afternoon. What works today is the generic custom-api node pointed at Salesforce’s own API, authenticating with oauth 2.0 bearer.
| What you need | Value |
|---|---|
| Endpoint | https://{instance}.my.salesforce.com/services/data/v59.0/sobjects/Contact |
| Method | POST |
| Authentication | OAuth 2.0 Bearer |
| Header | Authorization: Bearer {oauthAccessToken} |
| Reference | Salesforce API documentation |
Worth knowing: The instance host is returned by the OAuth exchange and differs per org — never hard-code login.salesforce.com for data calls.
Where Salesforce integrations usually go wrong
The instance host is returned by the OAuth exchange and differs per org — never hard-code login.salesforce.com for data calls.
That single detail accounts for most of the time people lose on a first Salesforce build. With it out of the way the endpoint above is all you need, and the workflow below wires it up.
Connect Salesforce in two minutes
- Download AGNT Community Core — free, local-first, no account needed to run.
- Connect with one OAuth sign-in from AGNT’s vault — tokens are stored encrypted on your machine and never leave it.
- Drop the Salesforce node into a workflow or hand it to an agent — the first run produces a receipt you can read line by line.
Salesforce + AGNT — common questions
Can agents update Salesforce records?
Yes — fields, tasks and notes, within the permissions of the connected account.
Can it extract report data?
Yes, which is how forecast numbers reach a narrated weekly report.
Is this safe for a regulated pipeline?
Every write is receipted and consequential actions can sit behind approval gates.