Democratic Issue Estimation Through Slack
Get team input on effort estimates without opening Linear. Notis watches Slack reaction votes and updates Linear estimates automatically.
Trigger
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
Action
Update issue
Updates an existing linear issue using its `issue id`; requires at least one other attribute for modification, and all provided entity ids (for state, assignee, labels, etc.) must be valid.
Why this helps
Neurodivergent founders struggle with estimation meetings. Slack reactions provide a low-friction way to vote, but those votes never make it into Linear.
- Gather team input on estimates without formal meetings
- Use familiar Slack reactions as your estimation mechanism
- Update Linear estimates automatically from voting results
- Reduce friction in the estimation process
Setup
Build it in a few focused steps.
- 1Connect Slack and Linear to Notis.
- 2Ask Notis: 'When the team votes on a Slack message with numbered reactions, use the most common vote as the Linear estimate' or use the portal.
- 3Provide the prompt: 'When a message gets multiple numbered emoji reactions (1 through 5), calculate the median vote and update the corresponding Linear issue estimate.'
- 4Choose your Linear team.
- 5Test by posting an issue to Slack and having team members react with numbers to vote on effort.
Questions about this workflow
How does Notis know which issue to update?
Specify in your prompt how the issue ID is communicated (mentioned in the message, in the channel description, etc.).
Does it use the average or median vote?
You decide in your prompt. Median often works better to avoid outliers.
Can I use this for other types of voting?
Yes. Create variants for priority voting, complexity, or any other estimation scale.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Slack to Linear. A trigger fires from one place; an action lands in another.
Slack triggers
Linear actions
New Channel Created Trigger
Triggered when a new channel is created in Slack.
Create linear attachment
Creates a new attachment and associates it with a specific, existing linear issue.
Channel Message Received
Triggered when a message is posted in a Slack channel (public, private, or multi-party IM). Does NOT match direct messages.
Create a comment
Creates a new comment on a specified linear issue.
Direct Message Received
Triggered when a new direct message (DM) is sent to a user in Slack. Catches all DMs across all DM channels.
Create linear issue
Creates a new issue in a specified linear project and team, requiring a title and description, and allowing for optional properties like assignee, state, priority, cycle, and due date.
Message Reaction Added
Triggered when a reaction is added to a message in Slack. Supports optional filtering by channel and emoji name.
Get create issue default params
Fetches a linear team's default issue estimate and state, useful for pre-filling new issue forms.
Message Reaction Removed
Triggered when a reaction is removed from a message in Slack. Supports optional filtering by channel and emoji name.
Create a label
Creates a new label in linear for a specified team, used to categorize and organize issues.
Reaction Added Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_ADDED` instead. Triggered when a reaction is added to a message in Slack.
Delete issue
Archives an existing linear issue by its id, which is linear's standard way of deleting issues; the operation is idempotent.
Reaction Removed Trigger
DEPRECATED: use `SLACK_MESSAGE_REACTION_REMOVED` instead. Triggered when a reaction is removed from a message.
Get all teams
Retrieves all teams from the linear workspace without requiring any parameters.
New Bot Message Received Trigger
DEPRECATED: use `SLACK_CHANNEL_MESSAGE_RECEIVED` with `is_bot_message=true` instead. Triggered when a new bot message is posted to a Slack channel.
Download issue attachments
Downloads a specific attachment from a linear issue; the `file name` must include the correct file extension.
Connect any two apps with Notis in the middle.
Not just Slack and Linear. Any combination from 985+ integrations.
When this happens · Trigger
Do this · Action
Save your first hour today.
7 days free trial with 20$ free usage included.
No card. Works with personal or business Linear.
