Webhooks Workflows - Jam Documenation
Webhooks Workflows
Webhooks let you react to every new Jam. The workflow recipes below are common patterns, each with steps for one or more no-code platforms, along with a code variant. Every workflow recipe assumes you already have a jam.created webhook endpoint. If you don’t, see Get Started with Webhooks first.
Open a PR from a Jam
Hand a new Jam to an agent that reads the bug and opens a fix PR. This workflow runs an LLM agent against your repository. Scope it to a sandbox repo or a narrow set of paths before any merges land near production.
The flow:
jam.createdfires.- A GitHub Actions workflow (or any runner you control) runs with the Jam ID.
- The runner invokes an agent that calls Jam MCP for the recording, logs, network requests, and transcript.
- The agent writes a patch in a new branch and opens a PR that links back to the Jam.
Steps
- Create
.github/workflows/jam-to-pr.ymland trigger onrepository_dispatchwith event typejam-created. - Stand up a function (Netlify, Vercel, Workers) that verifies the Jam signature and POSTs to GitHub’s
repository_dispatchAPI with the Jam ID in the client payload. - Add the function URL in Settings → Webhooks and subscribe to
jam.created. - In the workflow, run Claude Code or your agent of choice with the Jam ID. The agent calls Jam MCP for context, edits files, commits, and opens a PR.
- Restrict the agent to specific paths, set required reviewers on the PR, and run the test suite before any human approves.
name: Jam to PR
on:
repository_dispatch:
types: [jam-created]
jobs:
fix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run agent
env:
JAM_ID: ${{ github.event.client_payload.jamId }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
JAM_API_KEY: ${{ secrets.JAM_API_KEY }}
run: ./scripts/run-agent.sh
Notify Slack on incoming Jams
This workflow posts a Slack message whenever a Jam is captured through a Recording Link. Pair it with a public-facing Recording Link to collect feedback from your website and ping the team on every new report.
Steps
- Create a Zap in Zapier.
- Select Webhooks by Zapier as the trigger.
- Copy the webhook URL.
- Open Settings → Webhooks, add a new endpoint, paste the Zapier URL, and subscribe to
jam.created. - Open the endpoint’s testing view and click Send Example.
- Return to Zapier and test the trigger.
- Add Filter to send Slack messages only for Recording Link Jams.
- Add Slack as the action and map webhook fields into the message text.
- Run a final test, then click Publish.
Auto-file a Linear or Jira ticket
Every jam.created event becomes a triage issue with the title, description, captured URL, and a link back to the Jam.
Steps
- Use Webhooks by Zapier → Catch Hook, copy the generated URL, and register it in Settings → Webhooks with the
jam.createdevent. - Send an example event from Jam.
- For Linear, choose Create Issue. For Jira, choose Create Issue.
- Map the fields appropriately.
- Run a test and turn on the Zap.
Prioritize Jams from key accounts
Route Jams captured on key-account domains straight to the team and tag them with a priority label.
Steps
- Trigger on jam.created.
- Match the
originalUrlhost against a list of key-account domains. - If matched, post to a high-priority Slack channel and create a
P0ticket. - If not, fall through to your normal triage flow.
More patterns
These flows share the same shape: pick up jam.created, call Jam MCP for full context, then do something with it.
- Auto-triage a folder
- Design QA into a PR
- Recordings into artifacts