Install
openclaw skills install linear-autopilotAutomate 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.
openclaw skills install 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.
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:
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
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:"
}
}
Choose your preferred automation platform:
references/make-setup.md for step-by-step guideQuick setup:
references/pipedream-setup.md for step-by-step guideQuick setup:
<@BOT_ID>
📋 New task: {{steps.trigger.event.data.title}}
Status: {{steps.trigger.event.data.state.name}}
ID: {{steps.trigger.event.data.identifier}}
references/zapier-setup.md for step-by-step guideQuick setup:
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
}
}
}
}
}
}
}
When a task arrives in the Discord channel:
Use message tool:
- action: send
- target: [user ID from config]
- message: "📋 New task: [ID] - [title]. Starting now..."
./scripts/linear-api.sh start [task-id]./scripts/linear-api.sh done [task-id]./scripts/linear-api.sh comment [task-id] "[summary]"git add [output files]
git commit -m "task: [ID] - [title]"
git push
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 |
This workflow handles any task type:
research/[topic].mdcontent/Tasks not triggering?
allowBots: true if using webhookLinear API errors?
~/.clawdbot/linear.envGit push failing?