Skip to main content
Your Ekanos agents can work inside Linear: someone @mentions the agent or assigns it an issue, or applies a label you chose, and the agent picks the work up and answers in the thread. To do that, the agent needs a Linear identity of its own. You give it one by creating a Linear app in your workspace and connecting it to Ekanos. This takes about ten minutes. You need to be an admin of your Linear workspace, and to have permission to configure integrations in your Ekanos team.
This is separate from connecting Linear for yourself. Your personal connection powers the Linear widgets and the assistant, and acts as you. The agent’s app acts as itself, so its comments say they came from the agent.

1. Open the setup in Ekanos

  1. Open an agent, go to Triggers, and choose Add trigger.
  2. Pick one of the Linear events: The agent is mentioned, The agent is assigned an issue, or A label is applied to an issue.
  3. A Linear agent panel appears above the trigger settings. Keep it open: it has the two URLs you paste into Linear.

2. Create the app in Linear

  1. In Linear, go to Settings › API › Applications and choose New application (open it directly).
  2. Give it the name and icon your team will see, for example “Ekanos”. This is how the agent appears when someone mentions or assigns it.
  3. In Callback URLs, paste the Callback URL from the Ekanos panel.
  4. Turn on Webhooks. In Ekanos, choose Make webhook URL and paste the URL it shows into the webhook URL field in Linear. It is shown once; if you lose it, make a new one (the old one stops working).
  5. Under the webhook’s events, tick Agent session events (mentions and assignments) and Issues (needed for label triggers).
  6. Save the app.

3. Copy the app’s credentials into Ekanos

From the app’s page in Linear, copy these into the Ekanos panel and choose Save credentials: The secrets are stored encrypted and are never shown again. To change one later, type the new value and save; leave the others blank to keep them.

4. Connect

Choose Connect in the Ekanos panel. Linear asks a workspace admin to install the app: approve it. You come back to Ekanos with the agent connected, and the panel goes away. The agent now appears in Linear like a teammate:
  • @mention it in an issue or a comment, and it answers in the thread.
  • Assign it an issue, and it works on it and reports back.
  • Apply a label your trigger listens for, and it takes the issue’s title and description as the task and comments with the result.
What the agent may do while it works is set on the agent’s Tools & approvals tab, like any other run. Writes that need approval wait for someone on the team, and the agent says so in Linear while it waits.

From the terminal

A Source admin can do the same for a team with the CLI, which asks for the three credentials (secrets hidden), opens the install, and waits until it is done:
teams show lists each connection on one line. When the agent is ready it reads:

Check that it answers

Connected is not the goal; an agent that answers is. Once the agent is installed:
  1. @mention the agent on a Linear issue (or assign it one).
  2. In Ekanos, the agent’s Runs tab (or ekanos runs list --team <team>) shows a run started by that mention within a few seconds.
  3. The agent’s reply appears in the Linear thread.
If no run appears, the agent’s Setup tab says what its triggers are still waiting on, and ekanos teams agents list <team> lists it as missing with the command that fixes it. A test run started by hand (ekanos agents test) works without the Linear agent, and warns when the agent’s real trigger could never fire.

Troubleshooting

  • Connect says the app isn’t set up. Save all three credentials first; Connect stays disabled until they are stored.
  • Mentions do nothing. Open the agent’s Setup tab: if it says the Linear agent is not installed, install it there (or ekanos teams connect <team> linear --connection agent). Otherwise check that the webhook URL in Linear is the latest one you made, that Agent session events is ticked, and that the agent has an enabled trigger for The agent is mentioned.
  • Label triggers never fire. Tick Issues on the Linear app’s webhook, and check that the label name in the trigger matches the label in Linear.
  • “Invalid redirect_uri”. The callback URL in Linear must be exactly the one in the Ekanos panel.
  • Someone removed the app in Linear. The panel shows it as not set up again. Reconnect from the same place.