# 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 actions via Discord. Handles task intake, status updates, DM notifications, and auto-push to git. Supports any task type - research, content creation, code tasks, or custom workflows. - Author: clawdhub[bot] - Repository: openclaw/skills - Version: 20260130050700 - Stars: 640 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/openclaw/skills - Web: https://mule.run/skillshub/@@openclaw/skills~linear-autopilot:20260130050700 --- --- name: linear-autopilot description: Automate Linear task processing with Discord notifications and git sync. Use when setting up a kanban-to-agent workflow where Linear tasks trigger Clawdbot actions via Discord. Handles task intake, status updates, DM notifications, and auto-push to git. Supports any task type - research, content creation, code tasks, or custom workflows. --- # Linear Autopilot 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: | Service | Free Tier Limits | Recommendation | |---------|------------------|----------------| | **Linear** | 250 issues, unlimited members | Sufficient for most personal/small team use | | **Make.com** | 1,000 ops/month, 2 scenarios, 15-min interval | ✅ **Best free option** — generous limits | | **Pipedream** | ~100 credits (unclear reset), instant triggers | Good if you need real-time, burns credits fast | | **Zapier** | 100 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: ```bash 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: ```bash ./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`: ```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`: ```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) ```bash git add [output files] git commit -m "task: [ID] - [title]" git push ``` ## Script Reference `scripts/linear-api.sh` commands: | Command | Description | |---------|-------------| | `teams` | List teams and IDs | | `states` | List workflow states | | `get [id]` | Get task details | | `pending` | List 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