Linear-Slack Reminder Bot monitors Linear tickets and sends scheduled Slack reminders to assignees.
You may also trigger and use this bot through adding a chase Linear label - the statuses of your Linear tickets with the label will always be synced with the Slack bot.
/track-linear [ticket-id]HTTP Request URL from main.ts. E.g.
charmaine-17829713.val.run for Step 2 below.SLACK_BOT_TOKEN - Your Slack bot token (see Step 2 below)LINEAR_API_KEY - Your Linear API key (see Step 3 below)Go to api.slack.com/apps and click "Create New App"
Choose "From scratch" and name it (e.g., "Linear Reminder Bot")
Navigate to OAuth & Permissions > Scopes > add these Bot Token Scopes:
chat:write - To send messagesusers:read - To list workspace usersusers:read.email - To match Linear users by emailcommands - To handle slash commandsim:write - To send direct messagesScroll up and click "Install to [Workspace Name]" and authorize the app
Copy the Bot User OAuth Token (starts with xoxb-)
Set up Slash Commands (under "Slash Commands" in sidebar):
/chase
slack/slashCommand.ts in this valhttps://[YOUR-VALTOWN-URL]/slack/commands (You get get
this via the main.ts file)/status-chaser
https://[YOUR-VALTOWN-URL]/slack/commands/clear-chasers
https://[YOUR-VALTOWN-URL]/slack/commandsEnable Interactivity (under "Interactivity & Shortcuts"):
https://[YOUR-VALTOWN-URL]/slack/interactivehttps://linear.app/YOUR-WORKSPACE/settings/account/securityLINEAR_API_KEY environment variable/track-linear VAL-123
or
/track-linear https://linear.app/team/issue/VAL-123
This will open a modal where you can:
/track-status
Shows all your active reminders with clickable links to Linear tickets.
Reminders automatically stop when:
You may also manually clear all reminders with
/clear-chasers
cron.ts file in Val Townconst FORCE_RUN = false to truefalse when done testing