Dictionary

Custom connector

A custom connector is one you build yourself when no ready-made connector exists for a source or destination. In Power Automate and Logic Apps it wraps a REST API behind an OpenAPI definition and authentication, so a flow can call it like any built-in connector.

What is a custom connector?

A custom connector is one you build yourself when no ready-made connector exists for a source or destination you need to reach. The prebuilt catalogues are large, Power Platform alone ships more than a thousand connectors, but they never cover every niche ERP or internal system. When yours is missing, you wrap the target's API in a connector of your own.

Custom connectors in Power Automate and Logic Apps

This is the version most people meet first. In Power Automate, Power Apps and Logic Apps, a custom connector is a wrapper around a REST or SOAP API. You describe the API with an OpenAPI definition (the format has to be OpenAPI 2.0, formerly Swagger) and pick an authentication method: OAuth 2.0, an API key, or basic authentication.

The platform then turns each endpoint into a named action. A raw POST /v2/orders call becomes a "Create order" step anyone can drop into a flow, no code required. Say a local ERP has a REST API but no public connector. You import its OpenAPI file, set OAuth 2.0, rename the endpoints to business actions, and every flow can call it like a built-in connector. It fills the low-code gap an iPaaS tool leaves for services it does not cover.

What a connector has to handle

Behind a friendly action sits real plumbing. A connector that reads data reliably has to handle several things at once:

  • Authentication. Sign in and refresh tokens with no human present, usually through OAuth 2.0 or an API key.

  • Pagination. Walk results page by page instead of assuming one response holds everything.

  • Rate limits and retries. Stay under the API's rate limit, and apply a retry policy with backoff when a call fails or is throttled.

  • Incremental extraction. Track a cursor or timestamp so each run is an incremental load of new and changed rows, not a full re-pull.

  • Schema and type mapping. Map the source's JSON fields to typed columns, and decide what happens when the source adds or renames one.

Ingestion tools hand you a framework for this. The Fivetran Connector SDK builds a source connector in Python that manages state and schema, and a Power Query connector does the same in the M language, packaged as a .mez extension.

Build versus buy

Building the connector is the cheap part. The bill arrives later, when the upstream API changes. A renamed field, a new required parameter, or a change in pagination or authentication can break every flow or pipeline that depends on the connector. Microsoft's own guidance is blunt: change a field and you must republish the connector, then remove and re-add the connection in each app that used it. A custom connector is a small piece of software you own and watch.

So the choice comes down to one question: who should own that maintenance? Buy, or wait for, a ready-made connector and the vendor absorbs every API change. Build your own and the job is yours, in return for reaching a source nobody else supports. Build when the source is genuinely unsupported, internal, or niche, or when you want to shape raw endpoints into a few clean actions. Lean toward buying when a maintained connector already exists, even an imperfect one, because a connector you never patch is usually worth more than a perfect one you do.

Last Updated: July 10, 2026 Back to Dictionary
Keywords
custom connector connector API Power Automate iPaaS Power Query OpenAPI OAuth integration automation data integration