Linear Autopilot

Automate Linear task processing with Discord notifications and git sync. Use when setting up a kanban-to-agent workflow where Linear tasks trigger Clawdbot a...

vincentchan

@vincentchan

What This Skill Does

Automates Linear task processing by connecting Linear to Discord notifications and git sync. When a task is created in Linear, it triggers Clawdbot processing via a webhook service (Make.com, Pipedream, or Zapier), sends real-time Discord DMs, and auto-pushes updates to a git repository.

Replaces manual task triage and notification workflows by creating an automated kanban-to-agent pipeline that handles intake, status updates, and git sync without human intervention.

When to Use It

  • Set up a kanban-to-agent workflow where Linear tasks automatically trigger Clawdbot processing
  • Receive real-time Discord notifications when new Linear tasks are created or updated
  • Auto-push Linear task updates to a git repository for Obsidian or local access
  • Integrate Linear with Discord for team task assignment and status tracking
  • Build a custom automation pipeline connecting Linear to any webhook-compatible service

Install

$ openclaw skills install @vincentchan/linear-autopilot

Linear Autopilot

๐Ÿ”’ Security Note: This skill mentions API keys, tokens, and webhook URLs because it teaches you how to set up integrations with Linear, Discord, and automation services (Make.com, Pipedream, Zapier). These are necessary for the tutorial โ€” the skill does NOT collect or transmit your credentials. All setup happens on your local machine and the services you configure.

Automated pipeline: Linear โ†’ Webhook Service โ†’ Discord โ†’ Clawdbot โ†’ Git

Tasks created in Linear automatically trigger Clawdbot processing with real-time notifications and git sync for Obsidian/local access.

Free Tier Limitations

Before setup, be aware of free plan limits:

ServiceFree Tier LimitsRecommendation
Linear250 issues, unlimited membersSufficient for most personal/small team use
Make.com1,000 ops/month, 2 scenarios, 15-min intervalโœ… Best free option โ€” generous limits
Pipedream~100 credits (unclear reset), instant triggersGood if you need real-time, burns credits fast
Zapier100 tasks/month, 5 zaps, 15-min polling, no webhooksโš ๏ธ Paid plan required for this workflow

Important notes:

  • Make.com offers 1,000 ops/month free โ€” our recommendation for free tier users
  • Pipedream has instant webhooks but limited free credits that deplete quickly
  • Zapier free plan does NOT support webhooks. You need a paid Zapier plan (Starter+)
  • For budget-conscious users: use Make.com

Setup

1. Configure Linear API

Run setup to store your Linear API key:

mkdir -p ~/.clawdbot
echo "LINEAR_API_KEY=lin_api_xxxxx" > ~/.clawdbot/linear.env

Get your API key from: Linear โ†’ Settings โ†’ API โ†’ Personal API keys

2. Get Linear IDs

Find your team and state IDs:

./scripts/linear-api.sh teams    # Get team ID
./scripts/linear-api.sh states   # Get state IDs (Todo, In Progress, Done)

Update ~/.clawdbot/linear-config.json:

{
  "teamId": "your-team-id",
  "states": {
    "todo": "state-id-for-todo",
    "inProgress": "state-id-for-in-progress",
    "done": "state-id-for-done"
  },
  "discord": {
    "notifyUserId": "your-discord-user-id",
    "taskChannelId": "your-linear-tasks-channel-id"
  },
  "git": {
    "autoPush": true,
    "commitPrefix": "task:"
  }
}

3. Set Up Webhook Service

Choose your preferred automation platform:

Option A: Make.com (Recommended for free tier)

  • 1,000 operations/month free
  • 15-minute minimum interval on free tier
  • See references/make-setup.md for step-by-step guide

Quick setup:

  1. Create scenario at make.com
  2. Add Linear "Watch Issues" trigger
  3. Add filter: state.name = "Todo"
  4. Add Discord webhook action
  5. Activate scenario

Option B: Pipedream (If you need instant triggers)

  • Instant webhook triggers
  • Limited free credits (deplete fast)
  • See references/pipedream-setup.md for step-by-step guide

Quick setup:

  1. Create workflow at pipedream.com with HTTP webhook trigger
  2. Add Linear webhook pointing to your Pipedream URL
  3. Add Discord "Send Message" step with Clawdbot bot token
  4. Message template:
    <@BOT_ID>
    ๐Ÿ“‹ New task: {{steps.trigger.event.data.title}}
      Status: {{steps.trigger.event.data.state.name}}
      ID: {{steps.trigger.event.data.identifier}}
    

Option B: Zapier (If you have a paid account)

  • 100 tasks/month on free (very limited)
  • Native Linear + Discord integrations
  • See references/zapier-setup.md for step-by-step guide

Quick setup:

  1. Create Zap: Linear (New Issue) โ†’ Discord (Send Channel Message)
  2. Use webhook or bot integration for Discord
  3. Map Linear fields to message template

4. Configure Discord Channel

Ensure Clawdbot listens to your task channel. In clawdbot.json:

{
  "channels": {
    "discord": {
      "guilds": {
        "YOUR_GUILD_ID": {
          "channels": {
            "YOUR_TASK_CHANNEL_ID": {
              "allow": true,
              "requireMention": false
            }
          }
        }
      }
    }
  }
}

Task Processing Workflow

When a task arrives in the Discord channel:

1. Acknowledge

  • Reply in channel confirming receipt

2. Notify User via DM

Use message tool:
- action: send
- target: [user ID from config]
- message: "๐Ÿ“‹ New task: [ID] - [title]. Starting now..."

3. Process Task

  • Update Linear status โ†’ "In Progress" via ./scripts/linear-api.sh start [task-id]
  • Execute the task (spawn sub-agent if complex)
  • Save outputs to appropriate location (research/, content/, etc.)

4. Complete

  • Update Linear status โ†’ "Done" via ./scripts/linear-api.sh done [task-id]
  • Add comment with results via ./scripts/linear-api.sh comment [task-id] "[summary]"
  • Send completion DM to user

5. Git Sync (if enabled)

git add [output files]
git commit -m "task: [ID] - [title]"
git push

Script Reference

scripts/linear-api.sh commands:

CommandDescription
teamsList teams and IDs
statesList workflow states
get [id]Get task details
pendingList pending tasks
start [id]Mark as In Progress
done [id]Mark as Done
comment [id] "text"Add comment to task

Example Task Types

This workflow handles any task type:

  • Research: Spawn sub-agent, save to research/[topic].md
  • Content creation: Generate drafts, save to content/
  • Code tasks: Write/modify code, commit changes
  • Data processing: Run scripts, output results
  • Custom: Define your own output patterns

Troubleshooting

Tasks not triggering?

  • Check Pipedream workflow is enabled
  • Verify Discord channel is in Clawdbot config
  • Ensure allowBots: true if using webhook

Linear API errors?

  • Verify API key in ~/.clawdbot/linear.env
  • Check team/state IDs are correct

Git push failing?

  • Ensure git remote is configured
  • Check SSH key or credentials

Top skills in this category

google-meet

@byungkyu

Google Meet API integration with managed OAuth. Create meeting spaces, list conference records, and manage meeting participants. Use this skill when users want to interact with Google Meet. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Google Meet connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Google Meet action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Google Meet examples; they add no Google Meet capability - Google Meet is not an event source, a trigger cannot read Google Meet data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

1519k

klaviyo

@byungkyu

Klaviyo API integration with managed OAuth. Access profiles, lists, segments, campaigns, flows, events, metrics, templates, catalogs, webhooks, tags, coupons, images, forms, reviews, and account settings. Use this skill when users want to manage email marketing, customer data, or integrate with Klaviyo workflows. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Klaviyo connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Klaviyo action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Klaviyo examples; they add no Klaviyo capability - Klaviyo is not an event source, a trigger cannot read Klaviyo data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

818k

Telegram Bot

@byungkyu

Telegram Bot API integration with managed authentication. Send messages, manage chats, handle updates, and interact with users through your Telegram bot. Use this skill when users want to send messages, create polls, manage bot commands, or interact with Telegram chats. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every `/telegram/` path goes to the Telegram Bot API and nowhere else; the methods documented here are the ones this skill uses, and the passthrough can also call other Bot API methods the bot token allows. Default to read calls, and confirm every send, edit, delete, or new connection with the user. This file also documents the three constructs that turn a Telegram Bot API connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Telegram Bot API action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Telegram Bot API examples; they add no Telegram Bot API capability - Telegram Bot API is not an event source, a trigger cannot read Telegram Bot API data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

99.3k

Slack

@byungkyu

Slack API integration with managed OAuth. Send messages, manage channels, search conversations, and interact with Slack workspaces. Use this skill when users want to post messages, list channels, get user info, or automate Slack workflows. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Slack connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Slack action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Slack examples; they add no Slack capability - Slack is itself an event source, so its own events are in `references/slack/triggers.md`, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

78.4k

Playwright MCP

@spiceman161

Browser automation via Playwright MCP server. Navigate websites, click elements, fill forms, extract data, take screenshots, and perform full browser automation workflows.

16047k