---
title: "Workspaces and billing"
description: "Workspaces, wallet balance, usage and transactions."
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://docs.trillet.ai/llms.txt). Append `.md` to any page URL for its markdown version.

{/* Generated by packages/mcp/scripts/gen-tool-reference.mjs from @trillet-ai/mcp v0.10.0. Do not edit by hand. */}

Workspaces, wallet balance, usage and transactions. 4 tools.

## `trillet_list_workspaces`

**List workspaces**

List every workspace you can work in (your own, ones you were invited to, and an agency's client workspaces), with the current default marked. Use it when the user names a workspace or client, or when something can't be found in the current one. Then pass workspace_id (id or name) to any tool, or call trillet_switch_workspace to change the default for the rest of the conversation.

Flags: `read-only` `structured output`

### Parameters

None.

### Structured output

Returned as `structuredContent` (fields are optional; the same data is in the text result):

| Field | Type | Description |
| --- | --- | --- |
| `currentWorkspaceId` | string |  |
| `count` | number |  |
| `workspaces` | object[] |  |

## `trillet_switch_workspace`

**Switch workspace**

Make another workspace the default for the rest of this conversation, by id or by name (exact, or a unique part of the name). Every tool then works there unless it is given its own workspace_id.

Flags: `writes` `idempotent` `structured output`

### Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `workspace` | string | yes | Workspace id or name, as shown by trillet_list_workspaces |

### Structured output

Returned as `structuredContent` (fields are optional; the same data is in the text result):

| Field | Type | Description |
| --- | --- | --- |
| `switchedTo` | object |  |
| `note` | string |  |

## `trillet_get_usage`

**Get wallet balance and usage**

Fetch the workspace's wallet/billing dashboard summary: balance, subscription, and usage. include_minutes_breakdown adds the per-month minutes usage breakdown for the last 3 months. Check this first when calls or workflow steps mysteriously don't run - outbound calls and SMS steps require a positive wallet balance.

Flags: `read-only` `structured output`

### Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `include_minutes_breakdown` | boolean | no | Also fetch the 3-month minutes usage breakdown Default: `false`. |
| `workspace_id` | string | no | Run this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace). |

### Structured output

Returned as `structuredContent` (fields are optional; the same data is in the text result):

| Field | Type | Description |
| --- | --- | --- |
| `summary` | any |  |
| `minutesBreakdown` | any |  |

## `trillet_list_transactions`

**List billing transactions**

The workspace's wallet transaction ledger - the source of truth for what was actually charged. Types include call_charge, sms_charge, message_charge, workflow_charge, phone_number_charge, voice_generation_charge, rate_adjustment, deposits/auto-recharges, plan credits/debits. mode='summary' (default) groups by calendar month x type with count and total USD - use this to reconcile spend month over month (e.g. an effective per-minute rate change: compare call_charge totals against minutes from trillet_get_call_metrics, and check whether other charge types or a rate_adjustment explain the difference). mode='list' returns individual transactions, newest first, capped at `limit`.

Flags: `read-only` `structured output`

### Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `mode` | "summary" \| "list" | no | Default: `"summary"`. |
| `types` | string[] | no | Only include these transaction types, e.g. ["call_charge","sms_charge"] |
| `from_date` | string | no | ISO date, inclusive |
| `to_date` | string | no | ISO date, inclusive |
| `limit` | number | no | mode='list' only: max transactions returned Default: `50`. |
| `workspace_id` | string | no | Run this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace). |

### Structured output

Returned as `structuredContent` (fields are optional; the same data is in the text result):

| Field | Type | Description |
| --- | --- | --- |
| `totalMatching` | number |  |
| `transactions` | object[] |  |
| `monthlySummary` | object[] |  |
