Which one do you need?
Most integrations are the first row. A provider is only needed when a workspace you do not belong to will install what you build.
The pieces
your workspace
A container for API keys, created in Settings → Applications. Its keys act on the workspace that created it and nowhere else. See Applications & API keys.
your account
The name your integration is listed under, like GitHub or Stripe. It belongs to your Custral account across every workspace you are in, and you get one by applying for developer access.
your provider
One thing a provider ships. An embed block frames a page you host inside a customer’s workspace. Workflow and task blocks exist too, but only an embed can be submitted for review from the portal today.
your provider
A group of blocks a workspace installs together. Installing a module is where the workspace admin is shown what your blocks can read.
the customer's workspace
A workspace’s record that it installed your module. Uninstalling it stops every token your blocks were handed, immediately.
How a provider’s embed reaches a workspace
1
Apply for developer access
At app.custral.com/developers. Custral approves the application and creates your provider.
2
Create an embed block and declare it
In the provider portal, give the block an origin, a URL template and the scopes it needs. Saving the declaration submits it.
3
Custral reviews the declaration
A reviewer checks the origin belongs to you, the scopes fit what the block does, and the template cannot resolve anywhere else.
4
A workspace admin installs your module
They are shown the scopes your blocks ask for and decide whether to accept them. A module whose blocks ask for no scopes installs without a prompt.
5
Members add the block to a page
Your page is framed in a sandbox and receives a short-lived token over
postMessage. See Embed blocks for the protocol.Two kinds of embed, two levels of trust
Both gates on a provider embed are needed. Custral can check that
embed.acme.com belongs to Acme, but it cannot know whether a given workspace is comfortable handing Acme its conversations. The admin can make that call, but cannot audit Acme’s origin and URL template.
Limits today
- Your code runs on your servers. Custral frames your page and calls your URLs. It never executes code you upload.
- One provider per account. A second provider is set up by Custral on request.
- Only embed blocks go through the review queue. A workflow or task block is created private, and Custral lists one by hand.
- Being approved does not list you. A new provider, and every module it creates, is hidden from workspaces until Custral lists it.
- An unlisted embed still works. A block Custral approves as unlisted stays out of the catalog, and a workspace that installs its module can still add it to a page.
Next steps
Become a provider
Apply for developer access and open the provider portal.
Register an embed block
Declare what your block frames, submit it, and get it installed.
Embed protocol
The
postMessage handshake, the token, and reading your block’s rows.Applications & API keys
For code that acts on your own workspace.