Service Tools
List and run cloud integration tools from the command line.
Service Tools
The service commands let you discover and execute cloud integration tools directly from the terminal.
supyagent service tools
List all available cloud tools from your connected integrations.
supyagent service toolsOptions
| Flag | Type | Default | Description |
|---|---|---|---|
--provider, -p | string | — | Filter tools by provider (e.g., google, slack, github) |
--info, -i | string | — | Show detailed info for a specific tool |
--json | flag | — | Output as JSON instead of a formatted table |
Examples
# List all tools
supyagent service tools
# Filter to Google tools only
supyagent service tools --provider google
# Get machine-readable output
supyagent service tools --json
# Show detailed info for a specific tool
supyagent service tools --info gmail_list_messagesTable Output
Name Description Provider
─────────────────────────── ──────────────────────────────────────── ────────
gmail_list_messages List emails from Gmail inbox google
gmail_send_message Send an email via Gmail google
calendar_list_events List upcoming events from calendar google
slack_list_channels List Slack channels in the workspace slack
slack_send_message Send a message to a Slack channel slack
...JSON Output
[
{
"name": "gmail_list_messages",
"description": "List emails from Gmail inbox",
"provider": "google",
"parameters": {"type": "object", "properties": {"...": "..."}}
}
]Tool Info (--info)
The --info flag shows a detailed view of a single tool, including its description, HTTP method and path, and a parameter table:
supyagent service tools --info gmail_list_messages╭──────────────────────────── Tool Info ─────────────────────────────╮
│ gmail_list_messages │
│ │
│ List emails from Gmail inbox with summary info (from, to, │
│ subject, date, snippet, labels, read/starred status). │
╰────────────────────────────────────────────────────────────────────╯
Provider: google
Service: gmail
Method: GET
Path: /api/v1/gmail/messages
Parameters
Name Type Required Description
──────────── ───────── ────────── ─────────────────────────────────
maxResults integer Number of messages to return
q string Search query using Gmail syntax
pageToken string Token for pagination
Example: supyagent service run gmail_list_messages --maxResults 5supyagent service run
Execute a cloud tool with the given arguments and return the result as JSON.
supyagent service run <tool_name> [args]Arguments
| Argument | Description |
|---|---|
tool_name | The tool to run (e.g., gmail_send_message or gmail:send_message) |
args | Tool arguments — JSON string, --key value pairs, or read from file/stdin |
Options
| Flag | Type | Default | Description |
|---|---|---|---|
--input, -i | string | — | Read arguments from a JSON file, or - for stdin |
--timeout, -t | integer | 180 | Timeout in seconds |
Argument Formats
The service run command accepts arguments in several formats:
1. Inline JSON
supyagent service run gmail_send_message '{"to": "user@example.com", "subject": "Hello", "body": "Hi there"}'2. Flag pairs
supyagent service run gmail_send_message --to user@example.com --subject Hello --body "Hi there"Boolean and numeric values are automatically converted from strings.
3. From a file
supyagent service run gmail_send_message --input args.json4. From stdin
echo '{"to": "user@example.com", "subject": "Hello"}' | supyagent service run gmail_send_message --input -Output
Results are returned as JSON:
{
"ok": true,
"data": {
"id": "msg_abc123",
"threadId": "thread_xyz"
}
}On error:
{
"ok": false,
"error": "Invalid recipient address"
}Binary Content
Some tools return binary content (PDFs, images, etc.). The CLI automatically writes binary data to temporary files and returns the file path in the result:
{
"ok": true,
"data": {
"file": "/tmp/supyagent_abc123.pdf",
"mimeType": "application/pdf"
}
}Examples
# List Gmail messages
supyagent service run gmail_list_messages
# Send a Slack message
supyagent service run slack_send_message --channel general --text "Hello from the CLI"
# Create a calendar event
supyagent service run calendar_create_event '{"summary": "Team standup", "start": "2025-01-15T09:00:00Z", "end": "2025-01-15T09:30:00Z"}'
# List GitHub repos with a timeout
supyagent service run github_list_repos --timeout 60Tool Name Format
Both underscore and colon separators are accepted:
supyagent service run gmail_send_message # underscores
supyagent service run gmail:send_message # colon separator