Linear + Elido: broken short links become Linear issues
A daily check sends a HEAD request to each active link's destination. When one fails, Elido opens an issue in the Linear team you picked, with the short URL, status code and error. You connect with a personal API key.
できること
What the Linear integration does today
How it works
From the daily check to an issue
The url-scanner service checks every active link once a day and writes failures to api-core. Each alert also publishes the link.broken event to your webhooks. If the workspace has a Linear connection, api-core creates the issue through Linear's GraphQL API. Expect an issue within about a day of the break, not within minutes.
HEAD request per active link, GET fallback, up to 3 redirects, 5 second limit.
First failure alerts at once, then again after 24 hours.
Created in your team with short URL, status code, error and detection time.
Setup guide
Connect in four steps
- 1Create a personal API key in Linear
Linear, Settings, API, Personal API keys. Name it something you can recognise, for example elido-integration.
- 2Paste it in Elido
Dashboard, Integrations, Linear. Only keys that start with lin_api_ are accepted. Connecting needs the workspace admin or owner role.
- 3Pick a team
Elido validates the key against Linear and lists the teams it can see. Choose one.
- 4Connect
The key is encrypted and stored with the team. One connection per workspace: connecting again replaces the key, which is also how you rotate it.
Authentication
Personal API key, no OAuth
The integration uses a Linear personal API key, which inherits your Linear role. Issues appear as created by that Linear user. If that person's seat is removed the key stops working and issues stop silently, so consider creating the key from a shared bot account.
Remove the integration from Dashboard, Integrations, Linear to delete the stored key. Delete the personal key in Linear as well if you no longer need it. OAuth is not supported yet.
Planned
Not built yet
- Click-threshold or click-drop triggers for Linear. Thresholds exist only for Pipedrive.
- Scan-failure issues for suspicious destinations: only the broken-link trigger exists.
- Labels, priority, assignee, and routing to different teams by tag.
- Retries when Linear is down or rate-limited: one attempt is made and a failure is only logged.
- The issue shows the short URL as elido.me/link/<id> and an empty destination for now. Look the link up by its id in the dashboard.
- Closing the issue when the link recovers, and a new issue when the same link breaks again.
Frequently asked questions
Does Elido open Linear issues when a link hits a click threshold?+
No. The only trigger is a broken link. Click-threshold triggers exist for Pipedrive, not for Linear.
How does Elido decide a link is broken?+
A daily HEAD request, with a one-byte ranged GET if the server refuses HEAD. It follows up to three redirects and waits five seconds. A 4xx or 5xx status, a timeout, a DNS failure or a refused connection counts as broken.
Can I send issues to different teams by tag?+
No. One workspace has one Linear connection and one team.
What happens if Linear is down?+
The issue is not created and nothing retries. The link stays flagged as broken in the Elido dashboard, and the next alert comes after 24 hours.
Will a link that breaks twice get two issues?+
No. A recovered link that breaks again reuses its broken-link record, so Linear gets no second issue. Reopen the first one by hand.
Is there another way to get tickets with more detail?+
Yes. The link.broken webhook event carries the workspace id, link id, status code and error. Point a webhook at your own function or automation that calls Linear's API.