The model: catalog → connect → provision
Browse the catalog
GET /integrations/catalog returns every connectable provider — its display name, category,
a short blurb, a logo slug, how many actions it exposes, whether it ships a preset pack
(hasPack), and whether your org has already connected it. The dashboard renders this as a card
grid; you can render your own. A provider with actionCount: 0 and hasPack: true is
pack-based — install its Connector Pack rather
than provisioning individual actions.Connect the provider
POST /integrations/{kind}/connect. OAuth providers return an oauthUrl to open in a
browser; API-key providers accept { "credentials": { … } } and connect immediately.Provision actions as skills
POST /agents/{agentId}/integrations/{kind}/provision creates one skill per action. Omit
actions to provision every important action, or pass a list of action slugs.Publish
Provisioning edits the agent draft. Publish so phone and chat serve
the new skills.
Beyond pre-built actions: map fields yourself
For any provider whose schema can be introspected, you’re not limited to its pre-built actions — discover its full schema and map any field onto your agent:Discover the schema
POST /integrations/{kind}/discover introspects the provider into a normalized catalog of
every object, field, relationship, and operation.- Auto-map from a goal —
POST /agents/{agentId}/integrations/{kind}/bindings/autoturns a plain-language goal into a validated binding (saved as a draft to review). - Install a preset pack — providers that ship a Connector Pack install ready-made skills in
one call:
POST /agents/{agentId}/integrations/{kind}/pack/install.
Live vs reserved
The catalog only lists providers you can connect today. Reserved providers (for example Calendly, HubSpot, Square, OpenTable) are coming soon and do not appear yet.| Provider | Auth | Status |
|---|---|---|
| Google Calendar | OAuth | Live |
| Google Sheets | OAuth | Live |
| Shopify | API key | Live |
| SQL database — Postgres & MySQL | Credentials | Live |
| Calendly, HubSpot, Square, OpenTable | — | Reserved (coming soon) |
http_webhook skill that calls your own endpoint.
In the API
| Action | Endpoint | Scope |
|---|---|---|
| Browse the provider catalog | GET /integrations/catalog | integrations:read |
| List connected integrations | GET /integrations | integrations:read |
| Connect a provider | POST /integrations/{kind}/connect | integrations:write |
| List a provider’s actions | GET /integrations/{kind}/actions | integrations:read |
| Provision actions as skills | POST /agents/{agentId}/integrations/{kind}/provision | skills:write |
| Discover a provider’s schema | POST /integrations/{kind}/discover | integrations:write |
| Read the discovered schema | GET /integrations/{kind}/schema | integrations:read |
| Browse objects / operations | GET /integrations/{kind}/objects · GET /integrations/{kind}/operations | integrations:read |
| Map a binding (open model) | POST /agents/{agentId}/integrations/{kind}/bindings | skills:write |
| Auto-map a binding from a goal | POST /agents/{agentId}/integrations/{kind}/bindings/auto | skills:write |
| Read / install a preset pack | GET /integrations/{kind}/pack · POST /agents/{agentId}/integrations/{kind}/pack/install | skills:write |
| Remove provisioned skills | DELETE /agents/{agentId}/integrations/{kind}/provision | skills:write |
| Disconnect a provider | DELETE /integrations/{kind} | integrations:write |
GET /integrations and the catalog return status only — connected tokens are stored
encrypted and never echoed back.Authorization: Bearer flowyte_sk_… (see
Authentication). Never send an organization header with an API key.