Automate Salesforce + Slack
The enterprise system of record for revenue. Team chat where operations actually surface. Put an agent between them and the hand-off stops being manual: it reads, decides, acts, and shows its work.
Lead Researcher already works across Salesforce and Slack — free, and it runs on your machine.
Automations teams run
These are not field mappings. An agent reads the Salesforce side, works out what it means, and only then decides what — if anything — should happen in Slack.
When a lead or opportunity changes in Salesforce…
…an agent can post a rich channel message in Slack — after reading the context and deciding it should.
When a task is due in Salesforce…
…an agent can DM a teammate in Slack — after reading the context and deciding it should.
When a report cycle begins in Salesforce…
…an agent can open a thread with findings in Slack — after reading the context and deciding it should.
When a message hits a channel in Slack…
…an agent can update records and fields in Salesforce — with the reasoning recorded in the run’s receipt.
When a keyword or mention fires in Slack…
…an agent can create tasks and notes in Salesforce — with the reasoning recorded in the run’s receipt.
When a reaction is added in Slack…
…an agent can extract report data in Salesforce — with the reasoning recorded in the run’s receipt.
Salesforce to Slack, setup template
Start with a custom-api call to {instance}.my.salesforce.com and the slack-api node. Configure the Salesforce source payload, the agent input, and the Slack operation. The sequential template does not implement conditional writes or approval by itself.
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": "5f2b45d1-1984-418d-a4c6-a4963c6dc40e",
"name": "Salesforce → Slack",
"nodes": [
{
"id": "233dcf67-b869-4a1a-adf9-cd0f54c98690",
"text": "Run on a schedule",
"x": 512,
"y": 144,
"isEditing": false,
"type": "trigger-timer",
"icon": "connect",
"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": "95ad2749-3666-4523-a0b2-dab4a9bf741e",
"text": "Review source and draft",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"agentId": "CONFIGURE_AGENTID",
"message": "Read the Salesforce item. Decide whether it warrants action in Slack, and explain why.\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": "4ff5817a-0790-44ba-a7db-4952ad52f03c",
"text": "Configure destination in Slack",
"x": 512,
"y": 528,
"isEditing": false,
"type": "slack-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"action": "SEND_MESSAGE",
"channelId": "CONFIGURE_CHANNELID",
"message": "CONFIGURE_MESSAGE"
},
"description": "Setup template for Slack API. Interact with Slack to perform various operations such as sending messages, uploading files, managing reactions, and more. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "01d078d2-29ac-4937-a683-e7e536d36c8a",
"start": {
"id": "233dcf67-b869-4a1a-adf9-cd0f54c98690",
"type": "output"
},
"end": {
"id": "95ad2749-3666-4523-a0b2-dab4a9bf741e",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "9e304f72-3a06-4568-a43e-0b72fc6ce548",
"start": {
"id": "95ad2749-3666-4523-a0b2-dab4a9bf741e",
"type": "output"
},
"end": {
"id": "4ff5817a-0790-44ba-a7db-4952ad52f03c",
"type": "input"
},
"startX": 800,
"startY": 360,
"endX": 512,
"endY": 552
}
],
"zoomLevel": 1,
"canvasOffsetX": 0,
"canvasOffsetY": 0,
"isTinyNodeMode": false
}
Configure Slack API
Interact with Slack to perform various operations such as sending messages, uploading files, managing reactions, and more.
- action — The action to perform on Slack Current example:
SEND_MESSAGE. - channelId — The ID of the Slack channel Current example:
CONFIGURE_CHANNELID. - message — The message to send Current example:
CONFIGURE_MESSAGE.
Install Lead Researcher
Lead Researcher already uses both Salesforce and Slack, so installing it gives you this exact hand-off wired up — connected, editable, and running on your own machine.
Runs on your own machine · See what it does
What building this looks like
- Download AGNT Community Core — free and local-first.
- Connect Salesforce with one OAuth sign-in and Slack with one OAuth sign-in; both land in the local vault.
- Start from a marketplace workflow, or drop a custom-api node and slack-api onto the canvas with an agent between them.
- Put an approval gate on anything consequential, then run it — the receipt shows what was read in Salesforce and what was written to Slack.
Salesforce and Slack — common questions
Can I connect Salesforce to Slack without writing code?
Yes. Salesforce connects with one OAuth sign-in and Slack with one OAuth sign-in, both from the local credential vault. You then describe the job in plain language — “when a lead or opportunity changes, post a rich channel message” — and the agent handles the rest.
How is this different from a field-mapping Salesforce to Slack automation?
The difference shows up on the messy inputs. A rule chain needs every case enumerated in advance; an agent handles hygiene enforced across the pipeline the way a colleague would — reading the Salesforce context, judging it, then writing to Slack with the reasoning recorded.
Does my Salesforce and Slack data leave my machine?
AGNT Community Core is local-first, so there is no vendor middleman holding your Salesforce or Slack tokens. The runtime talks directly to both services. Choose a local model and the content of what it reads never leaves the machine at all.
What does a Salesforce and Slack run leave behind?
A receipt: what was read in Salesforce, which tools ran with which arguments, what the agent concluded, and what it wrote to Slack. Anything consequential can sit behind an approval gate so a person signs off before it happens.