Connectors
Every command for connectors, the apps that can be connected, the actions they offer and the record of what was done, with worked examples.
How it fits together
A connector is an outside app, such as Slack or Notion, connected so the assistant can look things up in it and act there. It belongs to one person or to the workspace, and it lets the assistant only read or also make changes. Reading needs connectors:read, looking up and running actions needs connectors:use, and connecting, changing and disconnecting need connectors:write.
openemail connectors list-apps --search slackopenemail connectors connect --app slack --scope workspace --label "Sales Slack" --access readopenemail connectors get cnr_5c1e9a7b3d2f48e6a0b4c7d1openemail connectors list-actions cnr_5c1e9a7b3d2f48e6a0b4c7d1 --search "search messages"openemail connectors run-action cnr_5c1e9a7b3d2f48e6a0b4c7d1 SLACK_SEARCH_MESSAGES --action-input '{"query":"renewal"}'connect prints a link. Open it in a browser and sign in to the app there, or paste its key, so the secret never passes through the command line. The connector is pending until you have finished, and get shows it turn active. An API key reaches workspace connectors only, and a browser sign-in also reaches your own.
Apps that can be connected
| Command | What it does |
|---|---|
| openemail connectors list-apps | One page of the apps that can be connected, most used first. --search and --category narrow it |
| openemail connectors get-app <slug> | One app: what it is, whether it connects by a sign-in or a key, and how many actions it has |
| openemail connectors list-categories | The categories the apps are sorted into, to pass as --category |
Connectors
| Command | What it does |
|---|---|
| openemail connectors list | The connectors you can reach. --scope, --status and --app narrow it |
| openemail connectors connect --app <slug> | Start connecting an app and print the link to finish on. --scope is workspace or account, and --access is full or read. Left out, they are workspace and full |
| openemail connectors get <id> | One connector, read fresh. While it is pending this also checks whether the sign-in was finished |
| openemail connectors update <id> | Rename it with --label, change --access, or pause and resume it with --paused and --no-paused |
| openemail connectors reconnect <id> | Print a fresh link for a connector that is expired, or whose first link ran out. It keeps its id |
| openemail connectors disconnect <id> | Disconnect the app for good, once you confirm. The access it held in the outside app is given up too |
openemail connectors list --scope workspace --status expiredopenemail connectors reconnect cnr_5c1e9a7b3d2f48e6a0b4c7d1openemail connectors update cnr_5c1e9a7b3d2f48e6a0b4c7d1 --access fullopenemail connectors update cnr_5c1e9a7b3d2f48e6a0b4c7d1 --pausedopenemail connectors disconnect cnr_5c1e9a7b3d2f48e6a0b4c7d1 --yesA connector is pending until its sign-in is finished, active while it works, paused while a person or the plan holds it back, and expired when the app stopped accepting the connection. A paused connector refuses every action until it is resumed. --yes skips the confirmation in a script.
Actions and calls
| Command | What it does |
|---|---|
| openemail connectors list-actions <id> | What the app can do that matches --search, or its most used actions. Each says whether it reads or changes something |
| openemail connectors get-action <id> <action> | One action with the input it takes, as a JSON Schema |
| openemail connectors run-action <id> <action> | Run the action, once you confirm, and print what the app answered. --action-input takes its input as JSON, inline, from a file with @path or from standard input with - |
| openemail connectors list-calls | What was done through the connectors, newest first. --connector-id and --scope narrow it |
openemail connectors get-action cnr_5c1e9a7b3d2f48e6a0b4c7d1 SLACK_SEND_MESSAGE --jsonopenemail connectors run-action cnr_5c1e9a7b3d2f48e6a0b4c7d1 SLACK_SEND_MESSAGE --action-input @message.jsonopenemail connectors list-calls --connector-id cnr_5c1e9a7b3d2f48e6a0b4c7d1 --all --jsonThe server asks nobody before an action that changes something runs, so run-action asks you to confirm, and --yes skips that in a script. Check the input against get-action first, because a change in the outside app cannot be taken back. A connector set to read refuses a change. Calls are kept for 90 days, without their input or their result.