Unlisted
Like
Linear-to-Slack-Reminder
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v115View latest version
Linear-Slack Reminder Bot monitors Linear tickets and sends periodic Slack reminders to assignees. It's perfect for teams who want to ensure important tasks don't get forgotten.
- Track a ticket using
/track-linear [ticket-id]
- Configure reminders - Choose how often to ping (daily, every 2 days, etc.)
- Automatic notifications - The bot sends DMs to assignees of incomplete tickets
- Escalation - After 3 reminders, the ticket creator is also notified
- Completion - When all tasks are done, the creator gets a success notification
- Val Town account
- Slack workspace with admin permissions
- Linear workspace with API access
- Add these environment variables:
LINEAR_API_KEY
- Your Linear API key (see Step 4)SLACK_BOT_TOKEN
- Your Slack bot token (from Step 2)
-
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 and 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 messages
-
Click "Install to Workspace" and authorize the app
-
Copy the Bot User OAuth Token (starts with
xoxb-
) -
Set up Slash Commands (under "Slash Commands" in sidebar):
- Command:
/track-linear
- Request URL:
https://YOUR-VALTOWN-URL/slack/commands
(You get get this via themain.tsx
file) - Description: "Track a Linear ticket for reminders"
- Request URL:
- Command:
/track-status
- Request URL:
https://YOUR-VALTOWN-URL/slack/commands
- Description: "View your active Linear reminders"
- Request URL:
- Command:
-
Enable Interactivity (under "Interactivity & Shortcuts"):
- Turn ON
- Request URL:
https://YOUR-VALTOWN-URL/slack/interactive
- Open Linear and click your profile picture
- Go to Settings → Account → Security & Access
- Direct link:
https://linear.app/YOUR-WORKSPACE/settings/account/security
- Direct link:
- Under "Personal API keys", click "Create key"
- Name it something memorable (e.g., "Slack Reminder Bot")
- Copy the key immediately - you won't be able to see it again!
- Add it to Val Town as the
LINEAR_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:
- Select the reminder interval (daily, every 2 days, etc.)
- Map Linear assignees to Slack users
- Configure who gets notified for unassigned tickets
/track-status
Shows all your active reminders with clickable links to Linear tickets.
Reminders automatically stop when:
- All tracked tickets are marked as complete in Linear
- The parent ticket is closed (for tickets with sub-tasks)
- Edit your
cronChecker
val in Val Town - Change
const FORCE_RUN = false
totrue
- Run the cron manually - it will send notifications immediately
- Change back to
false
when done testing