Title99/100
Workspace overview
The title clearly communicates the tool’s action and subject. Keep it concise.
Description93/100
Start here, once per conversation. Returns data.start_here.routes (which read answers which question, in order), data.rules (how to read every result), data.brand (who the brand is and who its ads speak to), data.products (what it sells, the product_id each creative and competitor read takes, and the competitors filed under each) and data.tracked_competitors. Also the connected ad accounts with their currency and freshness (data_through is the newest day held; synced_through how far the last sync fetched), and the keys the other tools take: data.metrics, data.creative_league_metrics (the ones tag_league can rank by) and data.creative_dimensions. Pass vocabulary='full' for their labels and each dimension's allowed values. When data.workspaces is present this connection can read several workspaces: when the person names a brand, find it there and pass its id as workspace on every call about it; the envelope's workspace says which one answered. With no account connected, data.next_step.connect holds a link per network that opens Meta's or Google's sign-in: show each as a link with its label. The competitor reads still answer.
The description explains the capability, when to use it, and what to expect.
Inputs81/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
vocabulary
keys: metric and dimension keys only. full: with labels and each dimension's allowed values.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
workspace
Leave out unless workspace_overview listed data.workspaces. When it did, pass the id of the workspace the person is asking about on this and every later call about it; a call that names none is refused and lists them. Without data.workspaces this connection reads the one workspace chosen when Reckon was connected.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
intent
Send on every call: the question the person is trying to answer, in one sentence, their goal and not this call's arguments. Reckon's team reads these to improve the product. Leave out names of people and anything personal.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
llm_model
The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"title": "Workspace overview",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Output schema76/100
The output schema explains the structured result.
View output schema
{
"type": "object",
"$defs": {
"WorkspaceRef": {
"type": "object",
"title": "WorkspaceRef",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name",
"default": null,
"description": "The workspace's name, where this connection can see it."
}
}
},
"AccountWindow": {
"type": "object",
"title": "AccountWindow",
"required": [
"account"
],
"properties": {
"account": {
"type": "string",
"title": "Account"
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Currency",
"default": null
},
"data_through": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Data Through",
"default": null,
"description": "Newest day held for this account; every window ends here, not today."
},
"judged_until": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Judged Until",
"default": null,
"description": "Newest day the decision engine judged. The newest settle_days are never judged."
},
"synced_through": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Synced Through",
"default": null,
"description": "Newest day the last completed sync fetched. Later than data_through when the account had no delivery on the days between."
}
}
},
"AccountCoverage": {
"type": "object",
"title": "AccountCoverage",
"required": [
"requested",
"read",
"dropped",
"unreadable"
],
"properties": {
"read": {
"type": "array",
"items": {
"type": "string"
},
"title": "Read",
"description": "Accounts this result speaks for."
},
"dropped": {
"type": "array",
"items": {
"type": "string"
},
"title": "Dropped",
"description": "Named accounts this workspace does not own. Nothing was read for them."
},
"unsynced": {
"type": "array",
"items": {
"type": "string"
},
"title": "Unsynced",
"description": "Owned accounts that hold no data yet, for example one connected today. They answer with zeros, so nothing in the result speaks for them. The result is partial."
},
"requested": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Requested",
"description": "Account ids the call named, deduplicated. Null means every account."
},
"unreadable": {
"type": "array",
"items": {
"type": "string"
},
"title": "Unreadable",
"description": "Owned accounts whose data could not be read just now. The result is partial."
}
}
}
},
"title": "ToolResult",
"required": [
"result_id",
"generated_at",
"tool",
"accounts",
"data"
],
"properties": {
"data": {
"type": "object",
"title": "Data",
"additionalProperties": true
},
"tool": {
"type": "string",
"title": "Tool"
},
"guide": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Guide",
"default": null,
"description": "Next reads, worked out from this result with the ids filled in. `before`: what this answer depends on; read it first unless this conversation already did. `after`: where the question usually goes next, each with `when`, taken only when the person's question goes there. Absent when there is nothing to point at."
},
"omitted": {
"type": "integer",
"title": "Omitted",
"default": 0,
"description": "Rows left out by the tool's row ceiling."
},
"partial": {
"type": "boolean",
"title": "Partial",
"default": false,
"description": "True when the result does not cover everything that was asked: a named account is not this workspace's, an owned one could not be read or holds no data yet, rows were omitted, or the read itself stopped early (a search that hit its ceiling, a competitor library read in part). Say so rather than presenting the answer as the whole picture."
},
"windows": {
"type": "array",
"items": {
"$ref": "#/$defs/AccountWindow"
},
"title": "Windows"
},
"accounts": {
"$ref": "#/$defs/AccountCoverage"
},
"result_id": {
"type": "string",
"title": "Result Id",
"description": "Unique per call. Cite a fact as result_id:fact_id; fact ids alone repeat across calls."
},
"workspace": {
"anyOf": [
{
"$ref": "#/$defs/WorkspaceRef"
},
{
"type": "null"
}
],
"default": null,
"description": "The workspace this result was read from. Every figure in data is this workspace's; check it before comparing results from different calls."
},
"currencies": {
"type": "array",
"items": {
"type": "string"
},
"title": "Currencies"
},
"range_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Range Days",
"default": null
},
"generated_at": {
"type": "string",
"title": "Generated At"
},
"currency_mixed": {
"type": "boolean",
"title": "Currency Mixed",
"default": false,
"description": "True when accounts report in different currencies. Money does not add across them."
},
"schema_version": {
"type": "integer",
"const": 1,
"title": "Schema Version",
"default": 1
},
"windows_aligned": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Windows Aligned",
"default": null,
"description": "False when accounts end on different days, so a combined figure spans more calendar than range_days suggests. Null when at least one account's newest day is unknown, which means alignment could not be judged rather than that it holds."
}
}
}