> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Connector downloads: Zapier, Make, and n8n app definitions

> Download per-tenant app-definition JSON for Zapier Platform CLI, Make custom apps, and the n8n-nodes-orbit community node pack — pre-wired to your org's API host, authenticated with your own API key.

# Connector downloads: Zapier, Make, and n8n

The **Developer → Connectors** page in the dashboard generates app-definition files you import into Zapier, Make, or n8n — so you can automate Orbit from those tools without hand-writing API calls. Each file is pre-wired to your org's API host, and none of them embed a credential: you paste your own secret API key (`dv_live_sk_…`) into the tool after import.

Every trigger across all three platforms subscribes to Orbit's existing webhook event catalog, and every action posts to existing send and write endpoints — the connectors add no new auth, scopes, or provider routing.

## 1. Create your API key first

The imported app authenticates every request with an `X-API-Key` header carrying one of your secret keys. Create one before you start:

1. Open **Settings → API Keys** in the dashboard.
2. Generate a secret key (it starts with `dv_live_sk_`).
3. Keep it somewhere safe — you paste it into Zapier, Make, or n8n once, after import.

Use a dedicated key per tool so rotating or revoking one integration doesn't break the others. The same endpoints are available over the API if you prefer a terminal — `/developers/connector/zapier`, `/developers/connector/make`, or `/developers/connector/n8n`:

```bash theme={null}
curl https://api.orbit.devotel.io/api/v1/developers/connector/zapier \
  -H "X-API-Key: dv_live_sk_your_key_here" \
  -o orbit-zapier-app.json
```

Open **Developer → Connectors** and pick one of the three downloads:

* **Download Zapier app** — `orbit-<your-org>.zapier-app.json`, the seed for a Zapier Platform CLI app pushed with `zapier push`.
* **Download Make app** — `orbit-<your-org>.make-app.json`, a Make custom-app blueprint with its shared base, keychain connection, and modules.
* **Download n8n nodes** — `orbit-<your-org>.n8n-nodes.json`, the definition behind the `n8n-nodes-orbit` community node pack.

Below the download buttons, the page shows a live preview of every trigger and action the three apps share, sourced from `GET /developers/connector/catalog`.

## 2. Zapier: push the app with the Platform CLI

The Zapier file is the app definition a `zapier-platform-core` app exports — `authentication`, `triggers`, and `creates`. Use it as the basis of a Zapier Platform CLI project, then push:

```bash theme={null}
npm install -g zapier-platform-cli
zapier login
zapier push
```

After the push, the first thing Zapier asks for when someone connects the app is the API key — paste your `dv_live_sk_` secret. The bundled `authentication.test` calls `GET /api/v1/me` with your `X-API-Key` header, so Zapier can verify the key before a Zap runs.

Each trigger (New Inbound Message, Message Delivered, Message Failed, New Contact, Contact Updated, Call Completed, Verification Approved, Campaign Completed) subscribes a REST hook via `POST /webhooks` and tears it down via `DELETE /webhooks/:id` — the same webhook CRUD the dashboard uses. Actions (Send SMS, Send WhatsApp Message, Send Email, Create Contact, Create Voice Call, Start Verification) POST to the matching `/api/v1` endpoint.

## 3. Make: import the custom app blueprint

The Make file splits the app the way Make expects: a `base` (shared URL and headers), a `connection` (the `orbit-api-key` keychain), and one module per trigger or action.

1. In Make, open your team's custom Apps section and start a new app.
2. Import the downloaded `orbit-<your-org>.make-app.json`.
3. Save the app, then create a connection — Make prompts for the `API Key` parameter; paste your `dv_live_sk_` secret.

Instant trigger modules register Make's shared webhook and subscribe it to exactly one Orbit event over the same `/webhooks` CRUD; action modules POST to their endpoint with fields mapped from module parameters.

## 4. n8n: use the n8n-nodes-orbit community node pack

The n8n file is the deterministic definition behind the `n8n-nodes-orbit` community node pack. On a self-hosted n8n instance with community nodes enabled, the workflow is:

1. Install the pack (`npm install n8n-nodes-orbit` in your n8n environment, or via Settings → Community nodes).
2. Add the **Orbit Trigger** node and pick the event it listens for, and/or add the **Orbit** action node and pick an operation.
3. Create the `Orbit API` credential when prompted — it carries your `dv_live_sk_` secret in a password field.

The trigger node manages its subscription lifecycle through n8n's webhook methods, calling the same `POST /webhooks` / `DELETE /webhooks/:id` endpoints. The action node routes each operation (`send_sms`, `send_whatsapp`, `send_email`, `create_contact`, `send_voice_call`, `start_verification`) to its matching endpoint via declarative routing. The credential test hits `GET /api/v1/me`, so an invalid key fails at credential-check time, not mid-workflow.

## 5. Browse the catalog before you download

`GET /developers/connector/catalog` returns a lightweight, templating-free summary of every trigger and action across all three platforms — the same summary the dashboard page renders as its "what can I automate?" preview. Use it to check coverage without downloading a full definition:

```bash theme={null}
curl https://api.orbit.devotel.io/api/v1/developers/connector/catalog \
  -H "X-API-Key: dv_live_sk_your_key_here"
```

The response lists each trigger's webhook event (for example, `message.received`, `call.completed`) and each action's endpoint path (for example, `/api/v1/messages/sms`, `/api/v1/contacts`).

## Why there is no OAuth here

For your own org, OAuth would add a consent screen and a token exchange without adding protection. The connected-app OAuth flow exists for a different case: building an app that *other* Orbit customers install into their orgs. When you're automating your own tenant, a secret API key you own is the right tool — and because each imported app holds your key in the tool's own credential store, you can revoke it server-side without touching the Zap, scenario, or workflow.

## Keep the key out of the files

The downloads are safe to share with whoever runs your Zapier, Make, or n8n setup: the generated JSON contains only the public API base URL and your organization name (for the connection label). It never contains the API key — each file's auth template references the key as a variable the target tool fills in from its own credential store. Treat the key itself like a password: paste it only into the tool's connection/credential field, and rotate it from **Settings → API Keys** if it's ever exposed.

## See also

* [Developer Portal guide](/guides/developer-portal) — the full developer surface these downloads come from
* [Connected Apps (OAuth scoped access)](/guides/connected-apps) — the right flow when a *different* Orbit customer installs your app
* [Authentication](/authentication) — API key formats, roles, and rotation
* [First webhook quickstart](/guides/first-webhook-quickstart) — the webhook catalog the connector triggers subscribe to
