Automate GitHub + HubSpot
Where the code — and half the process — lives. The CRM your pipeline reporting depends on. 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 HubSpot to finish this hand-off.
Automations teams run
Each of these runs with a reasoning step between the two tools, so what reaches HubSpot is a decision about the GitHub event rather than a transcription of it.
When a PR opens or merges in GitHub…
…an agent can create and enrich contacts in HubSpot — after reading the context and deciding it should.
When an issue is filed in GitHub…
…an agent can update deals and notes in HubSpot — after reading the context and deciding it should.
When a release is cut in GitHub…
…an agent can log activity in HubSpot — after reading the context and deciding it should.
When a contact or deal is created in HubSpot…
…an agent can comment on PRs and issues in GitHub — with the reasoning recorded in the run’s receipt.
When a stage changes in HubSpot…
…an agent can open issues with structured detail in GitHub — with the reasoning recorded in the run’s receipt.
When a form submits in HubSpot…
…an agent can draft release notes in GitHub — with the reasoning recorded in the run’s receipt.
The GitHub and HubSpot hand-off, in full
GitHub is reached through the github-api node and HubSpot through a custom-api call to api.hubapi.com. Between them sits the agent, which is the part a field-mapping tool cannot do: it reads the item and decides whether the hand-off is warranted at all.
{
"id": "9192dcf0-18df-42ee-a740-682e6c0f4ad0",
"name": "GitHub → HubSpot",
"nodes": [
{
"id": "d0094958-bea8-4621-ab5e-f62b0b1b1112",
"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": "62b28d12-2823-4b7c-a01a-2d34c88bd9b0",
"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 HubSpot, and explain why."
},
"description": "Decides whether this GitHub item warrants anything in HubSpot.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "bc51a666-efe6-4807-a98c-bff796f373b2",
"text": "Call HubSpot",
"x": 512,
"y": 528,
"isEditing": false,
"type": "custom-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"url": "https://api.hubapi.com/crm/v3/objects/contacts",
"method": "POST"
},
"description": "Writes into HubSpot over its API.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "6ea35257-e715-468c-ae41-b85f0fb11a44",
"start": {
"id": "d0094958-bea8-4621-ab5e-f62b0b1b1112",
"type": "output"
},
"end": {
"id": "62b28d12-2823-4b7c-a01a-2d34c88bd9b0",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "d64e2736-2fdc-4297-aff3-9e61f8893586",
"start": {
"id": "62b28d12-2823-4b7c-a01a-2d34c88bd9b0",
"type": "output"
},
"end": {
"id": "bc51a666-efe6-4807-a98c-bff796f373b2",
"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 HubSpot, 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
- Install AGNT — it runs on your own machine and needs no account to start.
- Authorise HubSpot (one OAuth sign-in) and GitHub (one OAuth sign-in). Nothing is stored anywhere but your disk.
- Describe the job in plain language, or paste the definition above; github-api does the reading and custom-api the writing.
- Gate anything you would not want done unattended, then let it run and read the first receipt end to end.
GitHub and HubSpot — common questions
Can I connect GitHub to HubSpot without writing code?
Yes. GitHub connects with one OAuth sign-in and HubSpot 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, create and enrich contacts” — and the agent handles the rest.
How is this different from a field-mapping GitHub to HubSpot automation?
A field mapping copies values and breaks on the first record nobody anticipated. The middle step here reads the GitHub item in full and decides — whether it matters, how to summarise it, and what belongs in HubSpot. Deciding to do nothing is a valid outcome, which no mapping can express.
Does my GitHub and HubSpot data leave my machine?
AGNT Community Core is local-first, so there is no vendor middleman holding your GitHub or HubSpot 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 GitHub and HubSpot 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 HubSpot. Anything consequential can sit behind an approval gate so a person signs off before it happens.