Skip to main content
@frogbotai/piece-linear connects an agent to Linear. Mention or assign the app on an issue, and the agent replies in that issue’s agent session. When the agent uses the question tool, Linear shows the question in the session, marks the session as waiting for input, and the agent continues once someone answers.

Connect an agent

The instance slug defaults to linear. Give each instance its own slug when you connect more than one workspace. auth takes either apiKey or accessToken. See factory options for slug, auth, oauth, and scopes.

Create the Linear app

Create an OAuth application under Settings > API > Applications in Linear, and have a workspace admin install it as an app user. The built-in OAuth recipe requests actor=app. FrogBot checks the Linear-Signature header and the signed timestamp on every delivery and rejects anything missing, invalid, or stale before the agent sees it.

Channel modes

In comments mode the agent does not get the question tool, so it asks in plain text when it needs to. Linear comments have no interactive controls.

What people see

Replies are read like this:
  • An option’s exact label, in any letter case.
  • In a numbered list, an option’s number (2). Beside buttons, a number that is not a label is a typed answer.
  • Several options on a multiple-choice question, separated by commas (1, 3 or Red, Blue).
  • Several questions: one line per question, in the order shown. A list marker such as 1. or - at the start of a line is ignored.
  • A label wins over a number, so an option labelled 2 is chosen by typing 2.
Send stop request in Linear dismisses the question and ends the turn. FrogBot confirms the stop in the session. Typing the word “stop” is an ordinary reply. When a question is answered, the session shows the reply and the agent continues with its next activity. The first valid answer wins. When a step asks several questions in separate calls, Linear shows them one at a time. Questions are answered only in Linear. The FrogBot admin chat shows the conversation read-only.

Who can answer

FrogBot matches the Linear user who replies to a FrogBot user by email, then runs the agent’s access check for that user. Anyone in the session who passes can answer, not only the person who started it. A Linear user with no matching FrogBot account has no FrogBot user; the default agent access denies them. Write an access function if they should be able to answer.

Limits and failures

Linear agent activities cannot be edited, so FrogBot never rewrites a question. Each re-ask is a new activity. Linear expects a webhook response within 5 seconds. FrogBot verifies the delivery, queues it, and responds; recording the answer and running the agent happen in jobs. Linear also expects a first activity within 10 seconds of a new session. FrogBot’s first activity is the agent’s reply or its question, so a slow model can take longer, and Linear may then show the session as unresponsive until the reply arrives.