Connected apps
Beyond mail, Drive, Calendar and QuickBooks, the owner can connect other apps. Each connected app adds a group of its own, named after the app, with that app’s tools. They don’t have pages here: browse them with browse_tools, as any group.
list shows what is connected, what could be, and what isn’t ready yet. When work needs an app that isn’t connected, connect puts a card in front of the owner. Say in a line what it will let you do, and carry on with the rest of the work.
How to use it
Section titled “How to use it”What find_tools sends with these tools, word for word:
The owner’s connected apps and the ones they could connect. When work needs an app that isn’t connected, offer the card with connect, saying in a line what it lets you do.
| Tool | What it does | Owner’s yes |
|---|---|---|
| integrations.list | The apps connected now, the ones the owner could connect, and those not ready yet | No |
| integrations.connect | Offer the owner a card that connects an app, by its key from list | No |
integrations.list · The apps connected now, the ones the owner could connect, and those not ready yet.
Owner’s yes: No. Nothing of the owner’s changes.
No input.
Returns:
{ apps: { name: string; app: string; tools: number; }[]; connected: { status?: "needs_reconnect" | "removing" | "removed"; integration: string; account: string | null; }[]; canConnect: { integration: string; app: string; }[]; notYet: string[];}connect
Section titled “connect”integrations.connect · Offer the owner a card that connects an app, by its key from list.
Owner’s yes: No. It makes something new.
Your work: not listed on Home; the change shows on the record itself.
| Input | Type | Required | What it is | Limits |
|---|---|---|---|---|
integration |
text | yes | 1–100 characters | |
why |
text | no | One line to the owner | up to 200 characters |
Returns:
{ error: string; message: string; notYet?: never; card?: never;} | { notYet: string; error?: never; message?: never; card?: never;} | { card: string; error?: never; message?: never; notYet?: never;}