Assistant
Assistant in Allpage: its screens, what you can do there and its operations.
Availability. Works when the business has it turned on and its plan includes it. Otherwise its tools answer needs (kind module) with how to turn it on: business.useTool, or a plan that includes it.
Screens
- Assistant (/assistant)
What you can do
- Choose what your assistant can do: only you can do it, on its screen
- Attach a picture for your assistant: only you can do it, on its screen
- Use your AI conversations to improve Allpage: only you can do it, on its screen
For apps
Reads
- assistant_facts (About your business, for the assistant)
- assistant_runs (What your assistant did on its own)
- assistant_glance (See what your assistant does on its own, at a glance)
- assistant_summary (What’s going on)
Only the owner, in Allpage
- Choose what your assistant can do
- Attach a picture for your assistant
- Use your AI conversations to improve Allpage
The owner’s screens
- Assistant (/assistant)
Operations
Each one's input and output, as JSON Schema. Ids are typed (typed ids).
assistant.facts
About your business, for the assistant
- Kind
- Read
- Tool
assistant_facts- Scope
assistant:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"zone": {
"type": "string",
"description": "The business’s time zone."
},
"today": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Today, in that time zone."
},
"off": {
"type": "array",
"items": {
"type": "string"
},
"description": "Areas that are off."
},
"member": {
"description": "A team member asking: who they are and what their role covers.",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"role": {
"type": "string"
},
"can": {
"type": "array",
"items": {
"type": "string"
}
},
"records": {
"type": "string",
"enum": [
"all",
"assigned",
"own"
]
},
"lastDay": {
"type": "string"
}
},
"required": [
"name",
"role",
"can",
"records"
],
"additionalProperties": false
}
},
"required": [
"name",
"zone",
"today",
"off"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}assistant.glance
See what your assistant does on its own, at a glance
- Kind
- Read
- Tool
assistant_glance- Scope
assistant:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"all": {
"anyOf": [
{
"type": "string",
"enum": [
"auto",
"ask",
"never"
]
},
{
"type": "null"
}
]
},
"apart": {
"type": "object",
"properties": {
"auto": {
"type": "number"
},
"ask": {
"type": "number"
},
"never": {
"type": "number"
}
},
"required": [
"auto",
"ask",
"never"
],
"additionalProperties": false
},
"improve": {
"type": "boolean"
}
},
"required": [
"all",
"apart",
"improve"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}assistant.runs
What your assistant did on its own
- Kind
- Read
- Tool
assistant_runs- Scope
assistant:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 50
}
}
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^run_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A run id: run_ and 26 letters and digits."
},
"title": {
"type": "string"
},
"href": {
"type": "string",
"description": "Where to see it; empty while it waits on Today."
},
"status": {
"type": "string",
"enum": [
"queued",
"running",
"waiting",
"done",
"stopped",
"failed"
]
},
"summary": {
"type": [
"string",
"null"
]
},
"needs": {
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"message": {
"type": "string"
}
},
"required": [
"kind",
"message"
],
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "Stopped: what it needs from the owner, with its link, offer or choices (KTD8)."
},
"error": {
"type": [
"string",
"null"
]
},
"waitingOn": {
"type": [
"string",
"null"
]
},
"waitingFor": {
"anyOf": [
{
"type": "string",
"enum": [
"approval",
"task"
]
},
{
"type": "null"
}
],
"description": "While waiting: the owner’s OK, or a task it started."
},
"startedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"when": {
"type": "string",
"description": "When it started, in words."
},
"finishedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"title",
"href",
"status",
"summary",
"needs",
"error",
"waitingOn",
"waitingFor",
"startedAt",
"when",
"finishedAt"
],
"additionalProperties": false
}
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}assistant.summary
What’s going on
- Kind
- Read
- Tool
assistant_summary- Scope
assistant:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"facts": {
"type": "array",
"items": {
"type": "string"
},
"description": "One-line facts, e.g. \"3 bookings today\"."
},
"attention": {
"description": "Things that need the owner, each with a plain reason.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"id",
"text"
],
"additionalProperties": false
}
},
"happening": {
"description": "What’s on today, each at its time.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"at": {
"type": "number",
"description": "Epoch milliseconds."
},
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"id",
"at",
"text"
],
"additionalProperties": false
}
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"value": {
"type": "number"
},
"prior": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"count",
"money"
]
},
"href": {
"type": "string"
}
},
"required": [
"id",
"label",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"facts"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}