Connect your tools to Atlas Labs
To connect a tool to Atlas Labs, give it the base URL https://automationatlas.io/labs/api/v1, an Authorization: Bearer header holding one of your two sandbox keys and, for events, a public HTTPS webhook URL. Zapier, Make, n8n, Power Automate, Pipedream, Frends and any AI agent that speaks MCP use those same fields against this fictional company's API, Moxo receives the webhooks directly, and every recipe is readable here before you start a sandbox.
lab_off_YOUR_KEY and lab_fac_YOUR_KEY. Once you start a sandbox, a “Connect it” panel shows the same snippets with your real keys and a copy button. Which key do I use, and where does it go?
Every tool on this page needs the same five things. Nothing else is tool-specific.
| Field in your tool | Value |
|---|---|
| Base URL | https://automationatlas.io/labs/api/v1 |
| Auth header | Authorization: Bearer lab_off_YOUR_KEY for Head Office routes, Authorization: Bearer lab_fac_YOUR_KEY for Factory routes. X-Api-Key is accepted as an alias. |
| Which key | /office/* wants lab_off_; /factory/* wants lab_fac_; /sandbox, /missions, /events and /webhooks take either. The wrong one returns 403 wrong_system with a hint naming the right prefix. |
| Body header | Content-Type: application/json on every write (otherwise 415 unsupported_media_type). |
Idempotency-Key | A value that is stable per business event, for example the incoming webhook's id, at most 64 characters. Accepted on every write, required on 13 money and stock routes. |
| Webhook URL | Public https://, port 443, no redirects, answer 2xx within 5 seconds. Localhost and private hosts are refused with 422 webhook_url_rejected. |
| Spec to import | /labs/api/v1/openapi-3.0.json (OpenAPI 3.0, the safe first choice), /openapi.json (3.1, for tools that state 3.1 support), /swagger-2.0.json (the one Power Automate accepts). |
lab_fac_… /factory/* lab_off_… /office/* /sandbox /missions /events /webhooks 403 wrong_system with a hint naming the right prefix.
Which tools have a guide?
Pick your tool. Each guide has the exact field names to type, the steps in the tool's own words, the webhook leg, and a label saying how far we verified it. The logos are each vendor's own mark, shown only to identify the tool; none of these products is affiliated with Atlas Labs.
Zapier
Good for: pushing Atlas Labs events into the apps you already run in Zapier, and simple writes back.
- ReceiveWebhooks by Zapier → Catch Raw Hook
- CallWebhooks by Zapier → Custom Request
- KeyHeaders field:
Authorization: Bearer lab_off_YOUR_KEY
Make
Good for: visual scenarios with routers and iterators over Atlas Labs lists.
- ReceiveWebhooks → Custom webhook
- CallHTTP → Make a request
- KeyCredentials keychain, API key: Key
Bearer lab_off_YOUR_KEY, Header, nameAuthorization
n8n
Good for: self-hosted or Cloud workflows with a Code node for signature checks.
- ReceiveWebhook node, Options → Raw Body
- CallHTTP Request node, or Import cURL
- KeyCredential: Bearer Auth (token only) or Header Auth
Power Automate
Good for: Microsoft tenants; a typed custom connector from our Swagger 2.0 file.
- ReceiveWhen an HTTP request is received, set to Anyone
- CallHTTP action, or the custom connector
- KeyConnector connection: type
Bearer lab_off_YOUR_KEY
Pipedream
Good for: pasting the JavaScript snippets unchanged into a Node.js code step.
- ReceiveHTTP / Webhook → New Requests trigger
- CallSend any HTTP Request, or a Node.js step
- KeyHeaders, or an environment variable read in code
Workato
Good for: Workato teams who want to import our OpenAPI or Swagger file as a connector.
- ImportOpenAPI connector:
openapi-3.0.jsonorswagger-2.0.json(Workato's docs list both formats) - CallHTTP connector, Header auth:
Authorization: Bearer lab_off_YOUR_KEY - ReceiveHTTP connector with authentication None gives you a webhook URL
- Not checkedplan, raw-body access and retries
Moxo
Good for: Moxo AI flows that start from an Atlas Labs sales order.
- ReceiveTemplate Webhook trigger, None (secret URL), with field mapping
- CallMoxo Webhook step → a Make, n8n or Zapier hook that adds the key
- KeyNever in Moxo
Frends
Good for: enterprise integration teams building a Process with HTTP shapes.
- ReceiveHTTP Trigger, unparsed Base64 option for HMAC
- CallTask Frends.HTTP.Request
- KeyHeaders list from an Environment Variable
Postman
Good for: exploring every route before you automate anything.
- ImportImport → link
…/api/v1/openapi-3.0.json. We have not confirmed which OpenAPI versions Postman accepts, so start with3.0;swagger-2.0.jsonis the fallback - AuthAuthorization tab → Bearer Token
- KeyA collection variable, never plain text
AI agents (MCP)
Good for: Claude Code, Cursor and any MCP client; the agent creates its own sandbox.
- Endpoint
https://automationatlas.io/labs/mcp, Streamable HTTP - Tools
create_sandboxbinds both keys to the session - Gotcha
Acceptmust list JSON andtext/event-stream
REST: curl, JavaScript, Python
Good for: anything with a shell, Node 20 or Python 3.9.
- Read
GET /sandbox,GET /office/sales-orders - Write
POST …/acceptwithIdempotency-Key - Events
POST /webhooks, verify the raw body
Can I try the integrations before I get a token?
Yes. Every guide reads completely with the placeholder keys, so you can set up a Zap, a scenario or a flow first and paste real keys last. Start a sandbox from the hub when you are ready and the same snippets reappear there with your keys filled in. Nothing on these pages needs JavaScript, so crawlers and AI assistants read the same recipes you do.
How do I connect an AI agent?
Point an MCP client at https://automationatlas.io/labs/mcp over Streamable HTTP and call the create_sandbox tool; the session then holds both keys. The client must send Accept: application/json, text/event-stream. Connect an AI agent has the tools, the limits and the client commands.
Does Atlas Labs publish an OpenAPI file?
| Format | URL | Use it in |
|---|---|---|
OpenAPI 3.1 | https://automationatlas.io/labs/api/v1/openapi.json | Code generators and importers that state 3.1 support |
OpenAPI 3.0 | https://automationatlas.io/labs/api/v1/openapi-3.0.json | Postman (we have not confirmed which OpenAPI versions it accepts; start with 3.0), Workato, tools that reject 3.1 |
Swagger 2.0 | https://automationatlas.io/labs/api/v1/swagger-2.0.json | Power Automate custom connectors; fallback for Postman and Workato |
All three describe the same set of operations. Every operation has a readable operationId and summary, so importers name each request from its summary (for example “List sales orders”), with a unique operationId such as listSalesOrders behind it. n8n and Make have no OpenAPI import, and none was found in Zapier's documentation, so their guides use the HTTP modules instead.
How do I get events pushed to my tool?
- Subscribe with
POST /webhooksusing either key:{"url": "https://…", "events": ["office.sales_order.received"]}. Thewhsec_secret is shown once. The bridge recipes subscribe tooffice.sales_order.acceptedinstead, because only an accepted order can be bridged. - Up to
3subscriptions per sandbox. The URL must be publichttps://on port443; the subscription activates when the test ping (POST /webhooks/{id}/test) gets a2xx. - Shared platform hosts (
hooks.zapier.com,hook.*.make.com,*.app.n8n.cloud,*.m.pipedream.net,*.logic.azure.com,webhook.site) get a higher delivery allowance than a private host. - Every delivery is signed (Standard Webhooks:
webhook-id,webhook-timestamp,webhook-signature). Verify against the raw body; most tools need a “raw” option for that. - Failed deliveries retry after
10 s,60 sand300 s;5consecutive failures disable the subscription. De-duplicate on the eventid. Events are sent only for the types you subscribed to.
Downloads
Each file says how far it was verified. “Generated and schema-validated” never means “confirmed to import into the real tool”.
| File | Verified |
|---|---|
| atlas-labs.postman_collection.json | Generated and schema-validated |
atlas-labs-power-automate-connector.zip (Swagger 2.0 + properties) | Generated, byte-deterministic |
| n8n workflow: bridge accepted order → work order (needs a manual-bridge preset: Standard or Full) | Structurally validated only |
| Make blueprint: bridge accepted order → work order (needs a manual-bridge preset: Standard or Full) | Structurally validated only |
| Zapier recipe (Markdown): bridge accepted order → work order (needs a manual-bridge preset: Standard or Full) | Written from vendor docs, not built |
| Pipedream step (JavaScript) | Syntax-checked and lint-clean |
| Bruno collection | Structurally validated only |
| History pack (.xlsx / .csv), twelve fictional months of one company | Generated by the simulator |