# Send Linear Webhook to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "linear-webhook",
    "name": "Linear Webhook",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Arnarsson/linear-webhook",
    "canonicalUrl": "https://clawhub.ai/Arnarsson/linear-webhook",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/linear-webhook",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linear-webhook",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "config-example.json",
      "example-payload.json",
      "linear-transform.js",
      "post-response.js"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "linear-webhook",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-04T23:24:38.795Z",
      "expiresAt": "2026-05-11T23:24:38.795Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linear-webhook",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=linear-webhook",
        "contentDisposition": "attachment; filename=\"linear-webhook-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "linear-webhook"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/linear-webhook"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/linear-webhook",
    "downloadUrl": "https://openagent3.xyz/downloads/linear-webhook",
    "agentUrl": "https://openagent3.xyz/skills/linear-webhook/agent",
    "manifestUrl": "https://openagent3.xyz/skills/linear-webhook/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/linear-webhook/agent.md"
  }
}
```
## Documentation

### Linear Webhook Skill

Enables Linear issue comment @mentions to dispatch tasks to Clawdbot agents.

### How It Works

Comment in Linear: @mason implement user authentication or @eureka plan Q2 roadmap
Linear webhook fires on comment creation
Clawdbot receives webhook via exposed endpoint
Transform parses payload:

Extracts @mason or @eureka mention
Gets issue context (title, description, labels)
Prepares task prompt


Routes to agent session:

@mason → mason agent (code/implementation)
@eureka → eureka agent (planning/strategy)


Agent processes task and returns result
Result posted back as Linear comment

### 1. Configure Clawdbot Webhooks

Add to your config.json5:

{
  hooks: {
    enabled: true,
    token: "your-secret-token-here", // Generate with: openssl rand -base64 32
    path: "/hooks",
    transformsDir: "/home/sven/clawd-mason/skills/linear-webhook",
    mappings: [
      {
        name: "linear",
        match: {
          path: "/linear",
          method: "POST"
        },
        action: "agent",
        transform: {
          module: "./linear-transform.js",
          export: "transformLinearWebhook"
        },
        deliver: false, // Don't auto-deliver to chat - Linear comments handle responses
      }
    ]
  }
}

### 2. Expose Webhook Endpoint

Use Cloudflare Tunnel or Tailscale Funnel to make webhook publicly accessible:

Option A: Cloudflare Tunnel (Recommended)

# Install if needed
brew install cloudflared

# Start tunnel (replace with your domain)
cloudflared tunnel --url http://localhost:18789

Option B: Tailscale Funnel

# Enable funnel
tailscale funnel 18789

Note the public URL (e.g., https://your-tunnel.trycloudflare.com)

### 3. Configure Linear Webhook

Go to Linear Settings → API → Webhooks
Click "Create new webhook"
Set URL: https://your-tunnel.trycloudflare.com/hooks/linear
Add custom header: x-clawdbot-token: your-secret-token-here
Select events: Comment → Created
Save webhook

### 4. Test

Comment in a Linear issue:

@mason add user authentication to the login page

Expected flow:

Webhook fires to Clawdbot
Mason agent receives task
Mason implements or responds
Result posted back to Linear issue as comment

### Agent Routing

@mason → Code implementation, debugging, technical tasks
@eureka → Planning, strategy, research, communication
Other mentions → Ignored (not handled)

### Issue Context Provided

The agent receives:

Issue title
Issue description
Issue labels
Comment text (the @mention)
Issue URL
Commenter name

### Add More Agents

Edit linear-transform.js:

const AGENT_MENTIONS = {
  '@mason': 'mason',
  '@eureka': 'eureka',
  '@designer': 'designer', // Add your own agents
};

### Change Response Behavior

Modify deliver and channel in config:

{
  deliver: true,
  channel: "telegram",
  to: "1878354815", // Your Telegram chat ID
}

This will also send agent responses to Telegram.

### Security

Never commit hook token to version control
Use environment variables: CLAWDBOT_HOOK_TOKEN
Verify webhook source (Linear's IP ranges if needed)
Use HTTPS only (Cloudflare Tunnel provides this)

### Webhook not firing

Check Linear webhook logs (Settings → API → Webhooks → View logs)
Verify tunnel is running: curl https://your-tunnel.trycloudflare.com/hooks/linear
Check Clawdbot logs: clawdbot gateway logs

### Agent not responding

Check transform is loading: Look for errors in gateway logs
Verify agent session exists: clawdbot sessions list
Test transform manually: node linear-transform.js

### Response not posting to Linear

Implement Linear API comment posting in transform
Add Linear API token to config
See linear-transform.js for example

### Linear API Access

To post comments back to Linear, you need a Linear API token:

Go to Linear Settings → API → Personal API keys
Create new token with write scope
Add to environment: CLAWDBOT_LINEAR_API_KEY=lin_api_...
Transform will use this to post responses

### Files

SKILL.md - This documentation
linear-transform.js - Webhook payload parser and agent router
linear-api.js - Linear GraphQL API client (for posting comments)
example-payload.json - Sample Linear webhook payload for testing

### References

Clawdbot Webhook Docs
Linear Webhooks API
Cloudflare Tunnel
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Arnarsson
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-04T23:24:38.795Z
- Expires at: 2026-05-11T23:24:38.795Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/linear-webhook)
- [Send to Agent page](https://openagent3.xyz/skills/linear-webhook/agent)
- [JSON manifest](https://openagent3.xyz/skills/linear-webhook/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/linear-webhook/agent.md)
- [Download page](https://openagent3.xyz/downloads/linear-webhook)