Skip to main content

Step 4: Add a connection

A connection is one configured integration: GitHub as you, Stripe production, your company's WordPress site. It bundles a sealed credential with the actions it exposes, so an agent can act through it without ever seeing the key. (See the four objects.)

Add one​

The Connections page, ready for your first integration

Open Access → Connections and choose Add connection:

  • A catalog preset: a ready-made connector for a popular API, from the catalog your gateway ships with, listed in What's in the gateway today.
  • An SSH server: run allow-listed commands and move files on a host you own; see Connecting via SSH.
  • Connect your own: give the address of a WordPress site or of an API that publishes an OpenAPI document, and your gateway reads what it offers. You review every capability it would create before anything is stored, and writes arrive switched off.
  • Coming next: GraphQL APIs, MCP servers as a connection, and generic HTTP connections with an endpoint allowlist (the last already works over the gateway's REST API).

Give it a credential​

Every connection needs exactly one credential, and you supply it once, at creation. It's sealed on your gateway and never displayed again. You can rotate or replace it, but not read it back.

API key​

Paste the API key, token, or secret the integration issued you. It's encrypted and stored on your gateway; from then on Permaura injects it server-side for each approved call, never hands it to the agent, and redacts responses before the agent sees them.

Best when the integration hands out long-lived keys, or you just want the simplest path.

Choose its capabilities​

A connection exposes a list of capabilities: the actions an agent could take through it, like github.pull_requests.create or stripe.refunds.create. Enable only the ones you want available. A disabled capability can't be used by anyone, regardless of policy.

The kill switch​

Every connection has a disable switch. Flip it and every call through that connection is refused instantly, across every agent and grant, with no need to unpick individual permissions. Re-enable it just as easily. It's the fastest way to stop something in its tracks.

Nothing can use it yet

Adding a connection makes actions possible, not permitted. An agent still can't touch it until a grant allows it. That's the next step.

➡️ Continue to Step 5: Connect an agent.