FlowLibs
Browse Cloud FlowsConnectorsAI ToolsDev ToolsPricingAboutContact
Dev Tools/Connectors

Connectors Reference

A field guide to Power Automate & Power Apps connectors — what a connector actually is, triggers vs actions, standard vs premium (and what that costs you in licensing), polling vs webhook triggers and their wake-up intervals, connections and connection references for ALM, custom and on-premises connectors, plus the limits that bite in production: Power Platform request allocations, connector throttling and 429s, message size, timeouts, recurrence and concurrency limits.

Integration26 min read·Updated 2026-06-16
ConnectorsPower AutomateTriggersActionsPremiumLicensingThrottlingPower Platform requestsCustom connectorsOn-premises gatewayDLPLimits

On this page

  • What a connector is
  • Connector tiers: standard, premium, custom
  • Triggers: polling, webhook, instant & scheduled
  • Trigger tuning: conditions, concurrency & debatching
  • Actions: inputs, outputs & settings
  • Connections, auth & connection references (ALM)
  • Premium licensing: who needs what
  • Power Platform request limits
  • Connector throttling & 429s
  • Service limits cheat sheet
  • Custom connectors
  • DLP & governance
  • Choosing & using connectors well

What a connector is

A connector is a proxy that wraps a service’s REST API behind a designer-friendly set of triggers and actions. You never call the API directly — you pick an operation, fill in typed inputs, and the platform handles the HTTP, auth token, paging and response shaping. There are 1,400+ connectors across Power Automate, Power Apps and Logic Apps, plus custom ones you build yourself.

ConceptWhat it is
ConnectorThe catalog entry for a service (e.g. SharePoint, Outlook, Dataverse) — defines its triggers + actions
OperationA single trigger or action exposed by the connector
ConnectionAn authenticated, runtime instance of a connector (a signed-in account / credential set)
Connection referenceA solution component that points at a connection — the ALM-friendly indirection so flows move between environments without rebinding
The four things you actually work with.
  • A trigger starts a flow (and most flows have exactly one). An action does work inside a run.
  • A connection is separate from the flow — many flows can share one connection, and you rebind connections per environment via connection references.
  • The same connector behaves slightly differently across products (Power Automate vs Power Apps vs Logic Apps); availability is shown on each connector’s reference page.

Prefer a first-party connector over raw HTTP

If a connector exists for the service, use it — it handles auth, paging and throttling for you and is DLP-classifiable. Reach for the HTTP action only when no connector covers the endpoint. See the HTTP Requests & APIs guide.

Connector tiers: standard, premium, custom

Every connector carries a tier that decides whether it needs a premium licence. The tier shows under the connector name in the picker (a *PREMIUM* badge) and on its reference page. This is the single most common source of "works for me, fails for them" surprises, because the licence is enforced per user who runs the flow, not just the maker.

TierExamplesLicence to run
StandardOffice 365 Outlook, SharePoint, Teams, OneDrive, Planner, Approvals, RSS, Excel OnlineSeeded — included with Microsoft 365
PremiumHTTP, Dataverse, SQL Server, Azure (Blob, Key Vault, Service Bus), Salesforce, ServiceNowPower Automate Premium (per user) or Process (per flow)
CustomAny OpenAPI you wrap yourselfPremium (or trial) licence required
On-premisesAnything routed through the on-premises data gateway (SQL, file share, SharePoint Server)Premium licence required
The tiers you will meet.

Dataverse and SQL are premium

The Microsoft Dataverse and SQL Server connectors are premium even though they feel like core platform. A flow that touches Dataverse, SQL, HTTP, a custom connector, or anything via the gateway requires every runner to hold a Power Automate Premium or Process licence.

  • There is no "half premium" flow: a single premium operation makes the whole flow premium.
  • The built-in operations (Control, Variables, Data Operations, Schedule/Recurrence, the *Request* trigger) are not connectors and carry no premium flag.
  • Trigger or action — it does not matter: a premium trigger (e.g. SQL "When an item is created") makes the flow premium just as a premium action does.
  • Browse the live tier lists on the connector reference: Standard · Premium.

Triggers: polling, webhook, instant & scheduled

A trigger is the entry point of a flow. Connectors expose triggers in a few flavours, and the flavour controls latency, cost and how the flow behaves when you switch it off and on again.

KindHow it firesTypical names
Polling (automated)Platform wakes on an interval and asks the service "anything new?"When a new email arrives, When an item is created
Webhook (push)Service calls the platform when the event happens — near real-timeWhen a file is created (push), When a row is added (Dataverse)
Instant / manualA person or app invokes it on demandManually trigger a flow, For a selected item, PowerApps (V2)
ScheduledFires on a recurrence you define (built-in, no connector)Recurrence
HTTP requestAn inbound HTTP POST starts the flow (built-in)When an HTTP request is received
Trigger flavours.

Polling vs webhook — the behaviour difference that catches people

Trigger typeOn turn-back-on
PollingResumes where it left off and processes ALL pending/unprocessed events that piled up while it was off
WebhookOnly processes events that occur from that point forward — anything during the downtime is lost
What happens to missed events when you turn a flow off, then back on.

Polling wake-up interval depends on the licence

A polling trigger only checks as often as your plan allows: roughly 15 minutes on the Free plan, 5 minutes on the seeded Office 365 / Dynamics 365 plans, and as frequently as 1 minute on standalone Premium plans. So a "new email" flow on a seeded plan may lag up to 5 minutes. Prefer a webhook/push trigger when latency matters.

A trigger run costs a request even when nothing happens

Each polling check is a Power Platform request whether or not it fires the flow. A flow that polls every minute burns ~1,440 trigger requests a day before it does any work — see request limits.

Trigger tuning: conditions, concurrency & debatching

Trigger conditions

A trigger condition is a boolean expression evaluated before the flow starts. If it returns false the run is skipped — it does not even count as a started run. Use it to stop a flow firing on every change and filtering after the fact (which wastes runs and requests).

text
@equals(triggerOutputs()?['body/Status/Value'], 'Approved')

// Multiple conditions are ANDed. Reference trigger output with
// triggerBody() / triggerOutputs(), and use ?[ ] for safe navigation.
Trigger → Settings → Trigger Conditions. Only run when Status is Approved.

Trigger expressions are evaluated at save time, not per run

A value like utcNow() placed in a trigger input is calculated when you save the flow and baked in as a constant — it is not re-evaluated on each trigger. Compute time-relative values in an action instead.

Trigger concurrency control

By default a trigger runs as many instances in parallel as its conditions allow. Turning on Concurrency control caps the degree of parallelism (1–100). Set it to 1 to force strictly sequential processing — useful to avoid *dirty reads* (acting on a record another run already changed).

Concurrency control is irreversible

Once you enable trigger concurrency on a flow you cannot turn it off — you would have to rebuild the flow. Apply it deliberately, ideally on a small child flow. Note that enabling it also drops the Split On limit to 100 items.

Split On (debatching)

When a trigger returns an array, Split On debatches it — one flow run per array item — instead of looping inside a single run. The designer adds it automatically when the trigger’s schema is an array. It is great for fan-out, but it cannot be combined with a synchronous Response (the flow returns 202 Accepted immediately).

SettingLimit
Split On items (no trigger concurrency)5,000 (Low profile) / 100,000 (all others)
Split On items (with trigger concurrency)100
Apply to each concurrencyDefault 1, max 50
Until iterationsDefault 60, max 5,000
Paginated items5,000 (Low) / 100,000 (all others)
Debatching / looping limits worth knowing.

Actions: inputs, outputs & settings

An action performs one operation against the connector’s service inside a run. It takes typed inputs, returns a typed body you reference as dynamic content, and exposes per-action Settings that control retries, timeout, paging and security.

SettingWhat it doesDefault
Retry PolicyHow failed calls (408/429/5xx) are retriedExponential, up to 4 retries
PaginationAuto-follow the service’s next-link up to a thresholdOff
Timeout (action)Max wait for a single async action, ISO 8601 (e.g. PT2M)Connector default
Secure Inputs / OutputsHide inputs/outputs from run history + logsOff
Concurrency controlParallelism inside Apply to each1
Per-action Settings you will actually touch.

Reference an action’s output

text
body('Get_item')?['Title']
outputs('HTTP')?['statusCode']
first(body('List_rows')?['value'])?['name']
Use safe navigation (?[ ]) — connectors omit fields.

Turn on Pagination instead of building Do-Until loops

Many list actions (SharePoint Get items, Dataverse List rows) return one page. Switch on Settings → Pagination and set a threshold so the platform follows the next-link for you — cleaner than a manual loop and it respects the paginated-items cap.

Secure Outputs hides data from the next action too

Enabling Secure Outputs removes the values from run history — but downstream actions can still consume them. It does not encrypt; it only stops the values appearing in logs and the designer. Turn it on for tokens, secrets and PII.

Connections, auth & connection references (ALM)

A connection is the credential the connector uses at runtime. Connectors authenticate in different ways — most Microsoft ones use OAuth (you sign in once), others take an API key, basic username/password, or a service principal. Connections are owned by a user (or an application user) and can be shared.

AuthUsed byNotes
OAuth 2.0Office 365, SharePoint, Dataverse, TeamsDelegated — runs as the signed-in user; tokens refresh automatically
Service principal (app)Dataverse, SQL, AzureApp-only; no interactive user — ideal for unattended/owned-by-app flows
API keyMany third-party + custom connectorsSingle secret in a header; store in an environment variable
BasicLegacy endpointsUsername + password; least preferred
Windows / gatewayOn-premises sourcesRouted through the on-premises data gateway
Common connection auth styles.

Connection references — the ALM piece

A connection reference is a solution component that sits between a flow and an actual connection. The flow binds to the *reference*; the reference is bound to a *connection* per environment. That indirection is what lets a solution move Dev → Test → Prod and be wired to the right credentials in each environment without editing the flow.

  • Always build flows inside a solution so they use connection references, not hard-coded connections.
  • Set connection-reference values per environment via deployment settings / pipeline variables, not by hand-editing in Prod.
  • For unattended flows, bind the reference to a service principal (application user) connection so it does not break when a person leaves.
  • See the Naming & ALM guide for the conventions and pipeline wiring.

One reference, many flows

Multiple flows in a solution can share a single connection reference. Bind once per environment and every flow that uses it is wired up — far less re-authentication after a deployment.

Premium licensing: who needs what

Premium licensing is enforced at run time, per user. If a flow uses any premium / custom / on-premises connector, everyone who triggers or owns it needs an eligible licence — not only the person who built it. This is the classic reason a flow runs for the maker but fails when shared.

LicenceScopeUse when
Power Automate Premium (per user)One named user, unlimited flowsA person builds/runs many premium flows
Power Automate Process (per flow)One flow (+ its children), any number of usersA business-critical flow used by many/unlicensed users or an app/service principal
The two standalone premium licences.
  • Standard connectors are seeded with Microsoft 365 — no premium licence needed.
  • Custom connectors and anything via the on-premises gateway always require a premium (or trial) licence.
  • A Process licence dedicates capacity to one flow and exempts it from the activity-based shut-off — good for unattended/owned-by-service-principal flows.
  • Multiple Process licences can be stacked on a single solution-aware flow; each adds 250,000 requests/day.

How to check a connector before you commit

In the picker, a premium operation shows a PREMIUM badge under the name. Or confirm on the connector’s reference page. Decide the tier early — swapping a premium connector out late in a build is painful.

Power Platform request limits

A Power Platform request (PPR) is counted for every trigger and action a flow runs — connector actions, HTTP, and built-ins like Initialize variable or Compose. Both successful and failed actions count; skipped ones do not. Retries and extra requests from pagination count too. A simple one-trigger / one-action flow burns two requests per run.

8/8
LicenceRequests / 24h
Power Automate Premium (per user)40,000 per user
Power Automate Process / per-flow (legacy)250,000 per flow
Power Apps Premium / per-user40,000 per user
Dynamics 365 Enterprise & Professional40,000 per user
Power Automate Free / Office 365 seeded6,000 per user
Power Apps per app / pay-as-you-go / Microsoft 3656,000 per user
Dynamics 365 Team Member6,000 per user
Power Pages / Portals login200 per login
Official per-license PPR allocation (post-transition). Limits are a 24-hour sliding window, tracked per user (or per flow for Process).
  • There is also a license-independent 5-minute ceiling of 100,000 requests — a Process flow can do 250k/day but never more than 100k in any 5 minutes.
  • The window is per user / per flow and cannot be pooled across an environment or tenant.
  • Stack Process licences on a solution-aware flow to add 250,000 requests each for genuinely high-volume automation.
  • Desktop (PAD) flow executions do not consume Power Platform requests.
  • Exceed the limit and your flows are slowed, not failed; sustained breaches for 14 days can turn a flow off.

Cut requests, not just runs

Filter at the trigger (trigger conditions) and at the source (OData $filter/$select) so you fetch fewer rows; replace per-row connector calls with a single batched call; and avoid needless Compose/variable actions inside loops — each is a request × the loop count.

Connector throttling & 429s

Connector throttling is different from the PPR allocation above. Each connector publishes its own rate limits (usually per connection, per time window) on its reference page, and these are frequently hit *before* the platform request limits. When you exceed one, the service replies 429 Too Many Requests with a Retry-After header.

LimitScopeSymptom
Power Platform requests (PPR)Per user / per flow, 24h + 5-min windowFlows slowed across your whole account
Connector throttlingPer connection, connector-defined windowHTTP 429 on a specific action
Two limits, two scopes — do not confuse them.
  • Leave the action’s Default retry policy on — it already honours Retry-After on 408/429/5xx.
  • Cap Apply to each concurrency when the loop hits a rate-limited API; high parallelism multiplies your 429s.
  • Spread work across more flows, or batch requests where the API supports it (e.g. Graph $batch, Dataverse batch) so one call does many.
  • Cache lookups in a variable instead of re-calling the connector per row.
  • Each connector’s exact numbers live on its page under the connector reference — always confirm there, they change.

Throttling examples (illustrative — verify on the connector page)

Per-connection windows vary widely: e.g. Office 365 Outlook historically ~300 calls / 120 s, SharePoint ~600 calls / 60 s, and Dataverse enforces service-protection limits per server. Treat these as orders of magnitude, not contracts — the connector’s own reference page is the source of truth.

Full retry/timeout mechanics

For retry policy types, secure-inputs handling and the Scope-based Try/Catch around throttled calls, see the HTTP Requests guide and the Best Practices guide.

Service limits cheat sheet

The hard ceilings on a single call, a single run, and a flow definition. These are platform limits — connectors may be stricter.

7/7
LimitValueNotes
Outbound synchronous request timeout120 s (2 min)Use async polling / Until for longer work
Outbound asynchronous requestUp to 30 daysConfigurable; webhook/async pattern
Inbound request timeout120 s (2 min)HTTP-request trigger / instant flows
Message size100 MBWhole payload, not just the file
Message size with chunking1 GBOnly actions that support chunking
Expression evaluation limit131,072 charsconcat() / base64() / string()
Request URL character limit16,384 charsn/a
Single-call & content limits.
8/8
LimitValueNotes
Run duration (max)30 daysIncludes pending approvals; then steps time out
Run retention in storage30 daysRun history kept from start time
Minimum recurrence interval60 secondsRecurrence trigger floor
Maximum recurrence interval500 daysn/a
Retry attempts (max)90Default policy: ~2 (Low) / ~12 (Med/High)
Retry delay range5 s – 1 dayMin / max configurable interval
Flows turned off — continuous errors14 daysTrigger/actions failing continuously
Flows turned off — no trigger activity90 daysPremium / capacity-licensed flows exempt
Run, recurrence & retry limits.

Long-running ≠ supported by waiting

You cannot hold a synchronous call open past 120 s. For long jobs, submit then poll a status endpoint (Until loop, honouring Retry-After) or use an async/webhook callback — never a long Delay inside one action.

Custom connectors

When no connector covers an API, wrap it as a custom connector: describe the API with an OpenAPI (Swagger) 2.0 definition (or import a Postman collection), define auth, and the operations show up in the designer like any other connector. Custom connectors are premium — running any flow that uses one needs a premium or trial licence.

  • Define the auth once (API key, OAuth 2.0, basic, or generic OAuth) — makers then just create a connection.
  • Add policy templates to transform requests/responses (set a header, route, convert) without changing the backend.
  • Build polling or webhook triggers so your API can start flows, not just receive actions.
  • Package the custom connector in a solution with a connection reference so it deploys across environments via ALM.
  • Submit for certification if you want it published to all tenants; otherwise it stays in your org.
LimitValue
Custom connectors per user50
Requests per minute per connection500
Definition formatOpenAPI 2.0 / Postman collection
Custom connector limits.

On-premises sources go through the gateway

To reach a server behind the firewall (SQL Server, a file share, SharePoint Server), install the on-premises data gateway and create a gateway-bound connection. These connections are premium and have their own payload-size considerations for write operations.

DLP & governance

Admins control which connectors can be used together with Data Loss Prevention (DLP) policies. Every connector is sorted into one of three groups, and a flow may not combine a connector from the Business group with one from the Non-Business group in the same flow — that is how the platform stops, say, SharePoint data flowing to a personal Twitter/X connection.

GroupMeaning
BusinessApproved for organizational data; can only share data with other Business connectors
Non-BusinessPersonal / general connectors; isolated from Business connectors
BlockedCannot be used at all in scope of the policy
DLP connector groups.
  • A flow that mixes a Business and a Non-Business connector is blocked from saving/running by the policy.
  • The HTTP and custom connectors are common candidates to block or tightly scope, since they can reach arbitrary endpoints.
  • DLP policies apply per environment (and tenant-wide default); Managed Environments add maker controls, sharing limits and analytics on top.
  • Endpoint filtering can further restrict *which URLs/hosts* a connector may call.

Check DLP before you design

A flow can pass every test in your maker environment and still be blocked by DLP in Prod. Confirm the connectors you plan to combine are in compatible DLP groups for the target environment early — re-architecting around a blocked combination late is expensive.

Choosing & using connectors well

  1. Pick the lowest tier that works. A standard connector avoids premium licensing for every runner — only go premium when the capability genuinely requires it.
  2. Push, don’t poll. Prefer a webhook/push trigger over a polling one for latency and to avoid burning trigger requests on empty checks.
  3. Filter early. Use trigger conditions and OData $filter/$select so you fetch the fewest rows and columns — fewer requests, less throttling.
  4. Batch and cache. Replace per-row connector calls with a batched call or a cached lookup; each loop iteration is its own request.
  5. Design for at-least-once. The platform can deliver a trigger more than once — make flows idempotent (check-before-create, Dataverse alternate keys).
  6. Build in solutions with connection references so connectors deploy cleanly across environments — see Naming & ALM.
  7. Know both limits. Watch the per-user PPR allocation *and* the per-connection throttle; the connector usually throttles first.

Related references

Raw HTTP, OAuth and OData live in HTTP Requests & APIs. Error handling and the Try/Catch pattern are in Best Practices. Connection-reference naming and pipelines are in Naming & ALM.

← All Dev ToolsUse these in your AI assistant →
Spotted an error or have a suggestion? Let us know
FlowLibs

A curated library of production-grade Power Automate cloud flow patterns. Packaged as managed solutions, ready to import into your environment.

Library

  • Browse Cloud Flows
  • Approvals
  • Email & Notifications
  • Reporting
  • Security & Compliance

AI

  • AI Tools
  • MCP Server
  • Generate a Token

Resources

  • About
  • FAQ
  • Support
  • Status
  • Contact
  • Power Automate Docs
  • Connector Reference

© 2026 FlowLibs. All rights reserved.

  • Privacy
  • Terms
  • Refunds
  • Cookies
  • Acceptable Use
  • DMCA
Help