Use Elido in self-hosted n8n

Install the n8n-nodes-elido community node, add an Elido API credential, and shorten links or read click analytics in a workflow.

5 min readUpdated 2026-09-22

What you'll set up

  • The n8n-nodes-elido community node installed in your self-hosted n8n instance.
  • An Elido API credential bound to one workspace.
  • Actions that create, read and list links and pull click analytics for a link, plus webhook triggers for link events.

n8n is a self-hosted workflow automation tool. The Elido community node gives you native actions inside n8n's visual editor, so you don't have to hand-build HTTP Request nodes against the Elido API.

Requirements

  • Self-hosted n8n with community nodes enabled. Cloud n8n plans may restrict community nodes; check your plan.
  • An Elido workspace API key.

Step 1 — Install the community node

  1. In n8n, go to Settings → Community Nodes.
  2. Click Install a community node.
  3. Paste the package name:
    n8n-nodes-elido
    
  4. Agree to the risk notice and click Install.
  5. Search for "Elido" in the node picker. The Elido node appears with the Link resource.

Step 2 — Create an Elido API key

  1. In Elido, go to Settings → API keys → New key.
  2. Pick a role for the key. Editor can create links and read analytics; Viewer can only read links and analytics. A key belongs to the workspace you create it in and cannot act on any other workspace.
  3. Copy the key. It starts with elido_ and is shown once.

Per-scope tokens (links:write, analytics:read and so on) are planned; today the role sets what a key can do.

Step 3 — Add Elido credentials in n8n

  1. In n8n, go to Credentials → New Credential → Elido API.
  2. Base URL: leave https://api.elido.app for Elido Cloud, or enter your self-hosted API root.
  3. API Token: paste the elido_ key.
  4. Workspace ID: the numeric ID of the workspace the key belongs to (Settings → Workspace). The node uses it for analytics.
  5. Click Save. n8n tests the credential by reading that workspace, so a wrong key, a wrong base URL or a key from another workspace fails here instead of in a running workflow.

Create one credential per Elido workspace and pick the right one in each node.

Available actions

ActionWhat it does
CreateShortens a destination URL. Optional slug, title, tags, expiry, redirect status and domain ID
GetReturns one link by its ID
ListReturns up to 100 links, newest first, filtered by search text, tags or status (active/disabled)
Get AnalyticsReturns clicks over time, or clicks by country, referrer, device or browser, for one link

Create without a Domain ID puts the link on your workspace's default Elido domain. To use a custom domain, pass its ID from Settings → Domains.

List and Get Analytics return one n8n item per row, so the next node runs once per link or once per day, country, referrer and so on. Get Analytics defaults to the last 30 days; set From and To (YYYY-MM-DD) to change the window.

Update Link and Look Up Link by slug are planned actions. Until they ship, call PATCH /v1/links/{id} or GET /v1/links?q=<slug> from an HTTP Request node with the same credential.

Triggers

A dedicated Elido Trigger node is planned. Until it ships, use n8n's built-in Webhook trigger with an Elido webhook endpoint:

  1. Add a Webhook node (method POST) and copy its production URL.
  2. In Elido, go to Settings → Webhooks → New endpoint, paste the URL and pick the events: link.created, link.updated, link.deleted, link.expired, link.cap_reached or link.broken.
  3. Copy the signing secret. Each delivery carries an X-Elido-Signature: v1=<hex> header, an HMAC-SHA256 of {timestamp}.{raw body} with that secret, where the timestamp is the Unix seconds value in X-Webhook-Timestamp; verify it in a Code node before trusting the payload. The webhooks guide has the verification snippet.
TriggerStatus
Link created, updated, deleted, expired, broken, click cap reachedAvailable through the Webhook node today
Link ClickedPlanned. Needs the click.created webhook event, which is not emitted yet
Conversion RecordedPlanned, after the conversions API
Threshold ExceededPlanned

Sample workflow — daily click report to a spreadsheet

[Schedule Trigger: every day 08:00]
      ↓
[Elido: Get Analytics]
  - Link ID: 4711
  - Report: Clicks by Country
      ↓
[Google Sheets: Append Row]
  - Country: {{ $json.key }}
  - Clicks: {{ $json.count }}

An external system POSTs a URL to n8n, n8n shortens it with Elido and returns the short URL.

[Webhook node: POST /shorten]
      ↓
[Elido: Create]
  - Destination URL: {{ $json.body.url }}
  - Tags: {{ $json.body.tag }}
      ↓
[Respond to Webhook]
  - Body: { "short_url": "{{ $json.short_url }}" }

Troubleshooting

Community node not appearing after install — reload the editor. If it is still missing, restart n8n; in Docker:

docker restart n8n

The credential test fails with 404 or 403 — the Workspace ID does not match the workspace the key was created in, or the key was revoked. Check both in Elido's Settings → API keys.

Create fails with "domain_id" — the Domain ID is not a domain of this workspace. Leave it empty to use the default domain.

Get Analytics returns nothing — the link has no clicks in the window, or the Link ID belongs to another workspace. Widen From and To first.

Webhook URL rejected by Elido — n8n's webhook URL must be reachable from the internet. If you run n8n on a local machine or a private network, set up a tunnel (for example Cloudflare Tunnel or ngrok) and point n8n's WEBHOOK_URL environment variable at the tunnel address.

Was this helpful?
Need more? Email the team - replies within one working day.Contact support