What you can automate

The three ways to connect Eel to your systems, and what each one can do.

This section is for anyone who wants Eel to talk to something else: a website, an ERP, a nightly script, an assistant. If you are looking for how to use the apps themselves, those are the user guides.

Three ways in

Way What it is When you want it
API key A workspace credential, with no person behind it A script, a site, an integration that runs on its own
Connected app A token that acts as a person, authorized by them A tool working on somebody's behalf that sees what they see
MCP An endpoint that lets an assistant use your data Connecting Claude or another compatible client

All three use the same header and the same error format. The difference is what they can see, not how they identify themselves.

What is available

Each app publishes its own API under /api/public/v1:

App Base What it covers
Wrap https://wrap.eel.software Contacts, companies, conversations, deals, notes, reminders and nine reports
Swarm https://swarm.eel.software Tasks, checklists, comments, projects, channels, messages, people and activity
Nest https://nest.eel.software The workspace, its people and notifications. Three reads and nothing else
Flow https://flow.eel.software Catalogue, stock, partners, sales, invoices, payments, receivables and webhooks

Plus one MCP endpoint for all of them: https://api.eel.software/mcp.

The endpoint-by-endpoint reference in this section covers all five apps, with what each endpoint returns and the scope it asks for.

What this API does not do

Worth knowing before you design anything on top of it.

  • Delete and archive are the exception, not the rule. The rest of the surface is create, read and update. In Swarm you can archive a task or cancel a calendar event. In Flow you can delete a webhook subscription.
  • It is not callable from a browser. It answers no preflight and sends no CORS headers: this is server to server. The one exception is Zap's delivery API, which exists precisely to be consumed by a website.
  • It does not translate. It returns ids, enums and text exactly as stored, never localized labels. If the API said "Ganado" in one workspace and "Won" in another, your code would have to guess the language before comparing.

Where to start

  1. Authentication: how a request is signed.
  2. Shared rules: pagination, idempotency, errors and pace.
  3. Your first request: a curl that works.