We are in official beta.

Connections

A connection is a saved, named link from your account to a system you already use: a drive, a database, a storage account, an API. Forms, workflows and FlyaDoc boxes send to and read from a connection, so the secret is entered once, stored encrypted, and never travels with them.

Make a connection

  1. Sign in and open Portal → Connections.
  2. Choose Add, then the type. The types are listed below.
  3. For a drive (OneDrive, Google Drive, Box, Dropbox) you sign in to it and approve access. Nothing is pasted, and the sign-in never passes through your own code.
  4. For everything else you fill in the type's settings and its one credential: a password, a client secret, a key or a connection string. It is checked, then stored encrypted.
  5. Give it a name you will recognize. Forms, workflows and FlyaDoc boxes pick it by that name.

The credential is never returned by any endpoint, to anyone, including you. It can be replaced, never read back.

The one request shape

Every type is created with the same request. Only type, config and the meaning of credential.secret change from one type to the next.

POST https://api.docbutterfly.com/api/manage/connections/{clientId}
X-API-Key: <management key>
Content-Type: application/json

{
  "name": "sales-database",
  "environment": "prod",
  "type": "sqlserver",
  "config": { "server": "sales.example.com", "database": "sales", "username": "reporting" },
  "credentialClass": "wrapped",
  "credential": { "secret": "<the password>" }
}
FieldWhat it is
nameYour name for it. A name is used once per environment on your account.
environmentA label such as prod or test, so one name can stand for a test system and a live one.
typeOne of the types below, for example msgraphdrive for OneDrive.
configThe type's non-secret settings. The type catalog lists them, required ones marked.
credentialClasswrapped (we hold it encrypted), reference (a pointer to your own key vault), or none.
credentialFor wrapped: { "secret": "..." }, the type's one credential.
Who can send this today. The connection routes are management routes. They take the management key the portal holds, and the portal sends exactly this request when you choose Add. A customer API key is not accepted on them yet, so from your own code you create a connection in the portal once, then use it from your forms and workflows.

What each type needs, without a key

The type catalog is public and free. Open it in a browser: it lists every type, its settings, its credential and its operations, with a ready example body.

GET https://api.docbutterfly.com/api/connection-types
GET https://api.docbutterfly.com/api/connection-types/{type}
GET https://api.docbutterfly.com/api/connection-types/{type}/schema

The last one is a JSON Schema that validates the request body above for that type, so you can check a body before you send it.

Choose a type

Each page lists what the type connects to, how you connect it, and the operations that read and write through it.

Drives

A folder in a drive a person already uses. Connected by signing in; nothing is pasted.

Databases and Dataverse

Rows in a database or a Dataverse environment you own.

File and object storage

Containers, buckets and servers that hold files.

APIs and messaging

Any HTTP API, and message queues.

AI

Your own AI model deployment, so AI work runs on your quota.

DocButterfly

Your own DocButterfly account: your saved templates and your vault.

From another tool: the OpenAPI (Swagger) definition

The types above connect DocButterfly to your systems. The other direction is one file: the OpenAPI (Swagger) definition of the API. Import it into Power Automate, Logic Apps or Power Apps and it becomes a custom connector, a connection like any other in that platform, with every action as a typed step. Any other tool that reads OpenAPI uses the same file.

OpenAPI (Swagger) definition