elaichi__connection__create
Start connecting a third-party account. Creates the connection with status "pending" and returns { connection, connect_url }. Elaichi cannot finish the provider’s login on the user’s behalf — connect_url is a one-time connect session a HUMAN opens in a browser, and the connection only becomes "active" once they have. Never ask for, accept, or repeat a credential in chat — no operation here takes one. When you already know which app the user means, resolve connector_slug with connector.list first; whether you may omit it otherwise depends on the surface, see below. shares defaults to empty, which makes the connection private to the caller (needing only connection:create); passing any entries shares it with a person, a team, or the whole organization in the same call and additionally requires the connection:share permission — refused, not silently dropped, without it. Prefer leaving shares empty unless the user actually asked for a shared account; access can always be granted afterwards from the “Manage access” action on the Connections page in the Elaichi web app, which this catalog does not expose as its own operation. There is no Connect button and no connector picker here, so connector_slug is required — resolve it with connector.list before calling. Handing the link over is your job. The result repeats connect_url on its own line in a second content block. Put that URL in your reply, as a clickable link if you can, and tell the user to open it. Do not wait for them in this turn: end your reply, and call connection.get later to see whether status became "active".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Display name. Defaults to the connector’s label. | |
| shares | No | Optional grants to create the connection with, applied as part of the same create: if any entry names someone who cannot be granted access (a suspended member, a team from another organization, or yourself) the whole call is refused and NO connection is created. Defaults to empty (private to the caller). Each entry additionally requires the connection:share permission on the whole call. | |
| connector_slug | No | Provider slug from connector.list, e.g. "slack". Resolve it with connector.list rather than guessing. Whether it may be omitted depends on the surface, see this tool’s description. |