Skip to main content

Documentation Index

Fetch the complete documentation index at: https://jam.dev/docs/llms.txt

Use this file to discover all available pages before exploring further.

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.

Notify Slack on incoming Jams

Post a Slack message whenever a customer captures a Jam.

Auto-file a Linear or Jira ticket

Forward every new Jam to your tracker as a structured triage issue.

Prioritize Jams from key accounts

Filter by author domain and route high-value reports straight to the team.

Individual workflows

Open a PR from a Jam

Hand a new Jam to a coding agent that pulls the full context through Jam MCP, writes a fix, and opens a PR for review. Best for code-addressable bugs from a small set of senders (yourself, your QA team, a beta user).
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:
  1. jam.created fires.
  2. A GitHub Actions workflow (or any runner you control) runs with the Jam ID.
  3. The runner invokes an agent that calls Jam MCP for the recording, logs, network requests, and transcript.
  4. The agent writes a patch in a new branch and opens a PR that links back to the Jam.
1

Add a repository_dispatch workflow

Create .github/workflows/jam-to-pr.yml and trigger on repository_dispatch with event type jam-created.
2

Deploy a small webhook receiver

Stand up a function (Netlify, Vercel, Workers) that verifies the Jam signature and POSTs to GitHub’s repository_dispatch API with the Jam ID in the client payload.
3

Register the receiver in Jam

Add the function URL in Settings → Webhooks and subscribe to jam.created.
4

Invoke an agent inside the workflow

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.
5

Scope the agent and gate the merge

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
Pair this with Auto-file a Linear or Jira ticket: the ticket tracks the bug, the PR tracks the fix, and both reference the same Jam URL.

Team workflows

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.
Use this Zapier template or follow the steps below.
1

Create a Zap in Zapier

2

Select Webhooks by Zapier as the trigger

Choose Webhooks by Zapier as the trigger app, then select Catch Hook.
Zapier trigger setup with Catch Hook selected for Webhooks by Zapier
3

Copy the webhook URL

Open the Test tab and copy the webhook URL Zapier generated.
Zapier Catch Hook test tab with a generated webhook URL and Copy button
4

Create a jam.created webhook in Jam

Open Settings → Webhooks, add a new endpoint, paste the Zapier URL, and subscribe to jam.created.
Webhook endpoint setup with jam.created selected in Jam
5

Send an example event

Open the endpoint’s testing view and click Send Example.
Webhook endpoint testing view with Send Example and the event schema
6

Test the Zapier trigger

Return to Zapier and test the trigger. Zapier shows a request record from the example event.
Zapier test records view with request A selected from a webhook sample
7

Add a Filter step for Recording Link origin

Add Filter. Select Origin, Exactly matches, and recording_link to send Slack messages only for Recording Link Jams.
8

Configure the Slack action

Add Slack as the action and map webhook fields into the message text.
Zapier Slack message action with webhook fields mapped into message text
9

Test and publish the Zap

Run a final test, then click Publish.
Zapier toolbar with Test run and Publish buttons

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.
1

Trigger on jam.created

Use Webhooks by Zapier → Catch Hook, copy the generated URL, and register it in Settings → Webhooks with the jam.created event.
2

Send an example event from Jam

Open the endpoint in Jam and click Send Example so Zapier picks up the payload shape.
3

Add the Linear or Jira action

For Linear, choose Create Issue. For Jira, choose Create Issue.
4

Map the fields

  • Title: title (fall back to Bug from <author.email> if empty)
  • Description: combine description, originalUrl, and jamUrl so the Jam is the first link in the ticket
  • Status: Triage
  • Team or Project: pick the triage destination
  • Labels: tag with the Jam origin
5

Publish the Zap

Run a test and turn on the Zap.

Customer workflows

Prioritize Jams from key accounts

Route Jams captured on key-accountcaptured on key-account domains straight to the team and tag them with a priority label. Pair it with a Recording Link in your help center or status page so a VIP customer’s report never sits in a queue.
The flow:
  1. jam.created fires.
  2. Match the originalUrl host against a list of key-account domains, or look itMatch the originalUrl host against a list of key-account domains, or look it up in your CRM.
  3. If matched, post to a high-priority Slack channel and create a P0 ticket.
  4. If not, fall through to your normal triage flow.
1

Trigger on jam.created

Use Webhooks by Zapier → Catch Hook and register the URL in Jam.
2

Add a Paths step

Zapier’s Paths branches on a condition. Create a path called Key account.
3

Filter the Key account path

Add a Filter: Original URL Contains acme.com OR bigco.com. Add one row per domain, or look the host upURL Contains acme.com OR bigco.com. Add one row per domain, or look the host up via Zapier CRM integrations.
4

Post to a priority Slack channel

In the Key account path, add Slack → Send Channel Message to #vip-bugs. Include the customer email, Jam title, and Jam URL.
5

Create a P0 ticket

Add Linear → Create Issue (or Jira). Set Priority to Urgent and add a P0 label.
6

Add the fallback path

In the default path, file the Jam in your normal triage queue.
7

Publish the Zap

Test each path with an example event from Jam, then publish.
If you maintain key accounts in HubSpot or Salesforce, swap the static domain list for a CRM lookup step before the Filter.

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

Cluster a folder of Jams (bug bash, beta cycle, customer flow) into grouped tickets instead of one per duplicate.

Design QA into a PR

Turn a designer’s walk-through into either a fix PR or routed Figma comments.

Recordings into artifacts

Convert walk-throughs into doc drafts, test cases, or release notes with the MCP option to retrieve voice-over transcripts.
These patterns rely on Jam MCP for reading Jam content. See Get Started with MCP for the tool reference.