Use flowbot email for capability email.
CLI root is email — do not invent flowbot email unless cli.md lists it as an alias.
Prefer the workflows below; load references/cli.md only when you need a flag or subcommand not covered here.
CLI limits: No attachment download/upload in CLI; get returns text/html bodies and attachment metadata only.
JSON fields: Message ids are opaque strings from list/search; use -o json for next_cursor.
Setup
- Ensure CLI auth:
flowbot login - Set server via
FLOWBOT_SERVER_URLor--server-url; optional--profile,--debug/-d - Prefer
-o jsonwhen parsing results programmatically - Destructive commands often need
-y/--yesin non-interactive sessions — check cli.md - Token scopes:
service:email:read/service:email:write
Workflows
Send an email
When a user wants to send a message:
flowbot email send --to "user@example.com" --subject "Hello" --text "Body"- Prefer --text for plain mail; use --html when HTML is required. Confirm recipients before send.
Find and read messages
When a user asks to inspect inbox mail:
flowbot email list --unseen-onlyflowbot email get <id>- Mark processed mail with
flowbot email mark-read <id>when appropriate.
Troubleshooting
| Error | Fix |
|---|---|
| not logged in | flowbot login |
| server URL is required | set FLOWBOT_SERVER_URL or pass --server-url |
| permission denied / 403 | token missing service scopes (service:email:read / service:email:write) |
| hung waiting for confirm or exit 7 | pass --yes / -y. --no-input without --yes exits 7 and does not read stdin |
| empty results | provider not configured, wrong id/name, or empty dataset |
| unknown command | use flowbot email, not the capability id as the CLI verb |