Connect Power Automate to Atlas Labs
To connect Power Automate to Atlas Labs, import the generated Swagger 2.0 custom connector, or use the HTTP action, and catch events with the When an HTTP request is received trigger set to Anyone. The connector stores your key as one Authorization parameter, so type Bearer before the key.
| At a glance | Value |
|---|---|
| Receive events | Request → When an HTTP request is received; “Who can trigger the flow?” = Anyone |
| Call the API | Built-in HTTP action, or a Custom connector imported from swagger-2.0.json |
| Where the key goes | HTTP action: Headers Authorization = Bearer lab_off_YOUR_KEY. Connector: the connection's Authorization box = Bearer lab_off_YOUR_KEY |
| Body | Headers Content-Type: application/json; Body = your JSON |
Idempotency-Key | A Headers item set to the trigger body's id |
| Spec to import | Swagger 2.0 only, under 1 MB; OpenAPI 3.0 is rejected (Microsoft Learn, updated 10 Oct 2026) |
| Webhook host | *.logic.azure.com is a recognised platform host with a higher delivery allowance |
| Licence | The Request trigger is marked Premium in Microsoft's documentation; the HTTP action is widely reported as Premium, but we could not retrieve Microsoft's page saying so |
| Retries | HTTP action → Settings → Retry policy (default exponential; up to 90 attempts, 5 s minimum, 1 day maximum) |
lab_off_YOUR_KEY and lab_fac_YOUR_KEY. After you start a sandbox, the “Connect it” panel's Power Automate tab shows the header values with your real keys and a copy button. to *.logic.azure.com
custom connector
Custom connector or HTTP action?
| Custom connector | HTTP action | |
|---|---|---|
| Setup | Import swagger-2.0.json once per environment | None; paste method, URI, headers, body |
| Where the key lives | In a connection, as one Authorization value | In the action's Headers (use a secure input or an environment variable) |
| Typed actions | Yes, one per route, named from its summary | No |
| Licence | Custom connectors are reported to need Premium (vendor guide, not Microsoft) | Reported Premium; Microsoft's page not retrieved |
How do I import the custom connector?
- Download the connector files below, or fetch
https://automationatlas.io/labs/api/v1/swagger-2.0.jsondirectly. Power Automate accepts Swagger2.0only and rejects OpenAPI3.0, which is why Atlas Labs publishes the older format too. - Solutions → New → Automation → Custom connector → Import an OpenAPI file. Name it “Atlas Labs” and pick
apiDefinition.swagger.json(under1 MB). - Security page: API Key. Parameter name
Authorization, location Header. The downloaded definition already declares this; if a file lists several security definitions, Power Automate uses the top one. - Create connector → Test → New connection. In the Authorization box type
Bearer lab_off_YOUR_KEY, the word Bearer included. Make a second connection for the Factory key and pick the right one per action.- Connection field
- Authorization (securestring)
- Value
Bearer lab_off_YOUR_KEYorBearer lab_fac_YOUR_KEY- Sent as
Authorizationrequest header
- Action names come from the spec. Each action takes its name from the operation's
summary(for example “List sales orders”) and its id from theoperationId. Header names and values must be ASCII.
How do I call Atlas Labs with the HTTP action?
- Add an action → Built-in → HTTP.
- Fill the request. This example bridges an accepted sales order into a Factory work order; read
quantityanddue_sim_dayfirst with aGET https://automationatlas.io/labs/api/v1/office/sales-orders/<id>(Head Office key).- Method
POST- URI
https://automationatlas.io/labs/api/v1/factory/work-orders- Headers
Authorization: Bearer lab_fac_YOUR_KEYContent-Type: application/jsonIdempotency-Key:the trigger body'sid- Body
{"sales_order_id": "<from the trigger>", "quantity": <from the order>, "due_date": <due_sim_day from the order>}
Preset matters. Pick a preset with a manual bridge (Standard or Full) or this write returns
409 already_bridged, because Starter bridges automatically. - Open the action's Settings → Retry policy. The default is exponential; you can set up to
90attempts with a minimum interval of5seconds and a maximum of one day. Outbound requests time out after120seconds; Atlas Labs answers in well under one. - Add a Condition: status
201, or409witherror.code=already_bridged, is success; anything else goes to your error branch.
How do I catch Atlas Labs events?
- New instant cloud flow → trigger “When an HTTP request is received”. Paste the webhook payload from the Webhooks page into “Use sample payload to generate schema”, or leave the schema blank.
- Set “Who can trigger the flow?” to Anyone. Atlas Labs cannot send a Microsoft Entra ID token, and the other two modes require one. Microsoft describes Anyone as a legacy setting with no additional authentication.
- Save. The HTTP POST URL appears only after saving. It contains a signature in its query string, so treat the whole URL as a secret and never paste it anywhere public.
- Subscribe the URL in Atlas Labs with either key.
*.logic.azure.comis recognised as a platform host.- Method
POST- URL
https://automationatlas.io/labs/api/v1/webhooks- Headers
Authorization: Bearer lab_off_YOUR_KEYContent-Type: application/json- Body
{"url": "https://<…>.logic.azure.com:443/workflows/…", "events": ["office.sales_order.accepted"]}
- Send the test ping (
POST /webhooks/{id}/test). Any2xxfrom your flow activates the subscription; add a Response action with status200if you want to control the reply. Atlas Labs waits5seconds. - Signature. Power Automate has no Standard Webhooks check. Read the three
webhook-*headers and the body from the trigger outputs and compute the HMAC in expressions or an Azure Function; we did not verify the exact expression syntax against Microsoft's docs, so follow your tenant's usual pattern.
Idempotency and retries
- Use the trigger body's
id(evt_…) as theIdempotency-Keyso a retried run returns the original response (Idempotency-Replayed: true). - The HTTP action's default retry policy depends on the environment's performance profile (Microsoft limits page): Low, up to
2retries scaling by about5minutes; Medium and High, up to12retries scaling by about7seconds. Configure it per action when the default is too slow for a429whoseRetry-Afteris usually one or two seconds. - Calls made in parallel share one key's budget. If the HTTP action runs in an Apply to each with concurrency control on, keep the degree of parallelism to one or two: more calls at once only collect more
429s, and enough of them put the key into a short cooldown. - Inbound and outbound synchronous requests time out after
120seconds.
Common errors
| You see | Why, and the fix |
|---|---|
Import: “OpenAPI 3.0 format not supported” | You uploaded openapi.json. Use swagger-2.0.json or the downloaded apiDefinition.swagger.json. |
401 unauthorized | The connection's Authorization value lacks Bearer , or the key is unknown, revoked or deleted with its sandbox. An expired sandbox answers writes with 423 sandbox_expired instead. |
403 wrong_system | The wrong connection or header on the action. /factory/* wants lab_fac_, /office/* wants lab_off_. |
Trigger never fires; subscription goes disabled | “Who can trigger the flow?” was not Anyone, so the trigger refused the unauthenticated request and no 2xx reached Atlas Labs (the exact status Microsoft returns is not something we have confirmed); after 5 consecutive failures the subscription is disabled. Fix the trigger and re-enable with PATCH/webhooks/{id}. |
422 webhook_url_rejected | Paste the entire generated URL, query string included, exactly as shown after saving. |
415 unsupported_media_type | Add the Content-Type: application/json header to the HTTP action. |
Gotchas
- Swagger
2.0only. Microsoft Learn (updated10 Oct 2026): OpenAPI3.0definitions are not supported for custom connectors, and the file must be under1 MB. - “Anyone” is a legacy mode with no authentication, so the trigger URL's query-string signature is the only secret. Rotate the flow's URL if it leaks.
- Premium. Microsoft's SharePoint tutorial marks the Request trigger as Premium. For the HTTP action we could only find third-party and Q&A sources; some tenants report running it without a Premium licence. Check your own licence before you build.
- ASCII only in custom-connector header names and values.
- Action names. Imported actions are named from each operation's
summary; theoperationIdis the stable id behind them.
Download the connector
| File | Verified |
|---|---|
| atlas-labs-power-automate-connector.zip | Generated, byte-deterministic Not imported into a live tenant. |
| apiDefinition.swagger.json | Generated and validated as Swagger 2.0 (swagger-parser) |
apiProperties.json (connection parameter Authorization) | Structurally validated only |
Questions people ask
- Do I need the premium HTTP action, or can I use a custom connector?
- Both routes work against the API; both are reported to need a Premium licence. Microsoft's own page marks the Request trigger Premium; for the HTTP action we have only secondary sources (checked
15 Oct 2026). - Why does Power Automate need the Swagger
2.0file? - Because custom connectors accept OpenAPI
2.0only; Microsoft Learn states that3.0definitions are not supported. Atlas Labs publishesswagger-2.0.jsonfor exactly this. - Why does the key box want the word Bearer?
- The connector has a single
Authorizationconnection parameter that is sent verbatim as the header value, so it must containBearerfollowed by the key. - Why must the trigger be set to Anyone?
- The other two modes require a Microsoft Entra ID bearer token on the incoming request, and Atlas Labs sends only the Standard Webhooks headers.
- Can I share the trigger URL in a ticket or a doc?
- No. In Anyone mode the URL's signature is the only thing protecting the flow.
- Where do the connector's action names come from?
- From the Atlas Labs spec: each operation has a short
summary(the action's display name) and a uniqueoperationId(its id), for example “List sales orders” andlistSalesOrders.
Sources (checked 15 Oct 2026): Microsoft Learn, “Create a custom connector from an OpenAPI definition” (updated 10 Oct 2026), “Trigger flows securely with OAuth” (Request trigger modes), “Limits and configuration in Power Automate” (retry policy, timeouts), SharePoint site-design tutorial (Request trigger is Premium). Atlas Labs facts from the API source, observed live.