Automate GitHub + Salesforce
Where the code — and half the process — lives. The enterprise system of record for revenue. Put an agent between them and the hand-off stops being manual: it reads, decides, acts, and shows its work.
First-Pass Reviewer is a ready-made agent built around GitHub; point its last step at Salesforce to finish this hand-off.
Automations teams run
Unlike field-mapping automation, the step in the middle is an agent: it can summarise, classify, judge and draft, not merely copy values from GitHub into Salesforce.
When a PR opens or merges in GitHub…
…an agent can update records and fields in Salesforce — after reading the context and deciding it should.
When an issue is filed in GitHub…
…an agent can create tasks and notes in Salesforce — after reading the context and deciding it should.
When a release is cut in GitHub…
…an agent can extract report data in Salesforce — after reading the context and deciding it should.
When a lead or opportunity changes in Salesforce…
…an agent can comment on PRs and issues in GitHub — with the reasoning recorded in the run’s receipt.
When a task is due in Salesforce…
…an agent can open issues with structured detail in GitHub — with the reasoning recorded in the run’s receipt.
When a report cycle begins in Salesforce…
…an agent can draft release notes in GitHub — with the reasoning recorded in the run’s receipt.
The GitHub and Salesforce hand-off, in full
The two ends are the github-api node and a custom-api call to {instance}.my.salesforce.com. What makes this different from a zap is the middle node — it forms a view about the GitHub item before anything reaches Salesforce.
{
"id": "bd4f6be8-b488-4d16-ada1-6f8850c62fb8",
"name": "GitHub → Salesforce",
"nodes": [
{
"id": "c75749cf-10b4-4e96-a529-f91d422a7a88",
"text": "Watch GitHub",
"x": 512,
"y": 144,
"isEditing": false,
"type": "github-api",
"icon": "connect",
"category": "trigger",
"isSelected": false,
"parameters": {},
"description": "Interact with GitHub: repos, branches, files, issues, comments, pull requests, reviews, releases, Actions/CI, and search.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "689f7f9f-ab83-424e-ae87-2b2dd19ddaf0",
"text": "Read it and decide",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"instructions": "Read the GitHub item. Decide whether it warrants action in Salesforce, and explain why."
},
"description": "Decides whether this GitHub item warrants anything in Salesforce.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "aae73245-0af8-467d-a306-9168a5dd97da",
"text": "Call Salesforce",
"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": "POST"
},
"description": "Writes into Salesforce over its API.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "b81bb653-f334-42f8-a2e5-400745eca06c",
"start": {
"id": "c75749cf-10b4-4e96-a529-f91d422a7a88",
"type": "output"
},
"end": {
"id": "689f7f9f-ab83-424e-ae87-2b2dd19ddaf0",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "2af0b783-ab7c-4217-a975-746460536d3e",
"start": {
"id": "689f7f9f-ab83-424e-ae87-2b2dd19ddaf0",
"type": "output"
},
"end": {
"id": "aae73245-0af8-467d-a306-9168a5dd97da",
"type": "input"
},
"startX": 800,
"startY": 360,
"endX": 512,
"endY": 552
}
],
"zoomLevel": 1,
"canvasOffsetX": 0,
"canvasOffsetY": 0,
"isTinyNodeMode": false
}
Install First-Pass Reviewer
First-Pass Reviewer is a working agent built around GitHub. Install it, point its last step at Salesforce, and you have this hand-off without building it from an empty canvas.
Runs on your own machine · See what it does
Build it in AGNT
- Download AGNT Community Core — free and local-first.
- Connect GitHub with one OAuth sign-in and Salesforce with one OAuth sign-in; both land in the local vault.
- Start from a marketplace workflow, or drop github-api and a custom-api node 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 GitHub and what was written to Salesforce.
GitHub and Salesforce — common questions
Can I connect GitHub to Salesforce without writing code?
Yes. GitHub connects with one OAuth sign-in and Salesforce with one OAuth sign-in, both from the local credential vault. You then describe the job in plain language — “when a PR opens or merges, update records and fields” — and the agent handles the rest.
How is this different from a field-mapping GitHub to Salesforce automation?
Mapping tools move data; this reasons about it. Rather than copying a field into Salesforce, the agent can weigh what arrived from GitHub, classify it against criteria you wrote in prose, draft something new, and act only when it is warranted.
Does my GitHub and Salesforce data leave my machine?
Your credentials stay in a vault on your own disk rather than in someone else’s cloud. The only calls made are the ones the workflow needs: GitHub, Salesforce, and your chosen model provider — which can be a local one.
What does a GitHub and Salesforce run leave behind?
A receipt: what was read in GitHub, which tools ran with which arguments, what the agent concluded, and what it wrote to Salesforce. Anything consequential can sit behind an approval gate so a person signs off before it happens.