Browse the docs

Trust and risk

Trust and risk in Allpage: its screens, what you can do there and its operations.

Availability. Every business has it.

What you can do

  • Set how customers agree to marketing texts: the assistant asks you first
  • Turn a paused capability back on: only you can do it, on its screen

For apps

Tools

  • trust_setTextOptIn (Set how customers agree to marketing texts): customers see it: waits for the owner’s approval unless they chose Just do it for your app
  • trust_resume (Turn a paused capability back on): only the owner can do it: the tool answers with a single-use link for them to open, signed in, and does nothing else

Reads

  • trust_status (See unlocks and account health)
  • trust_summary (What’s going on)

Operations

Each one's input and output, as JSON Schema. Ids are typed (typed ids).

trust.resume

Turn a paused capability back on

Kind
Owner only
Tool
trust_resume
Scope
trust:write
Reached by
MCP

only the owner can do it: the tool answers with a single-use link for them to open, signed in, and does nothing else

Input
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": {}
}
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": {},
          "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": {}
    }
  ]
}

trust.setTextOptIn

Set how customers agree to marketing texts

Kind
Change
Tool
trust_setTextOptIn
Scope
trust:write
Reached by
API, MCP

customers see it: waits for the owner’s approval unless they chose Just do it for your app

Input
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "capture": {
      "default": "checkbox",
      "type": "string",
      "enum": [
        "checkbox",
        "keyword"
      ]
    },
    "words": {
      "type": "string",
      "minLength": 40,
      "maxLength": 500
    }
  },
  "additionalProperties": false
}
Output
{
  "oneOf": [
    {
      "type": "object",
      "required": [
        "status",
        "title",
        "change"
      ],
      "properties": {
        "status": {
          "const": "done"
        },
        "title": {
          "type": "string"
        },
        "change": {
          "type": "boolean"
        },
        "result": {},
        "undo": {
          "type": "object",
          "properties": {
            "command": {
              "type": "string"
            },
            "input": {}
          }
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "proposalId"
      ],
      "properties": {
        "status": {
          "const": "proposed"
        },
        "proposalId": {
          "type": "string"
        },
        "preview": {},
        "approveAt": {
          "type": "string",
          "format": "uri"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "check"
      ],
      "properties": {
        "status": {
          "const": "pending"
        },
        "message": {
          "type": "string"
        },
        "check": {
          "type": "string"
        },
        "checkInput": {
          "type": "object"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "message"
      ],
      "properties": {
        "status": {
          "const": "refused"
        },
        "message": {
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "status",
        "kind",
        "message"
      ],
      "properties": {
        "status": {
          "const": "needs"
        },
        "kind": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "note": {
          "type": "string"
        }
      }
    }
  ]
}

trust.status

See unlocks and account health

Kind
Read
Tool
trust_status
Scope
trust:read
Reached by
API, MCP, ChatGPT

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": {
            "worst": {
              "description": "The worst risk state, when anything isn’t Healthy.",
              "type": "object",
              "properties": {
                "capability": {
                  "type": "string",
                  "enum": [
                    "texting",
                    "email",
                    "payments"
                  ]
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "healthy",
                    "watch",
                    "at_risk",
                    "paused"
                  ]
                },
                "text": {
                  "type": "string"
                },
                "href": {
                  "type": "string"
                }
              },
              "required": [
                "capability",
                "state",
                "text",
                "href"
              ],
              "additionalProperties": false
            },
            "capabilities": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "enum": [
                      "texting",
                      "email",
                      "payments"
                    ]
                  },
                  "title": {
                    "type": "string"
                  },
                  "level": {
                    "type": "string",
                    "enum": [
                      "new",
                      "unlocked"
                    ],
                    "description": "`new` until every unlock requirement is done."
                  },
                  "limits": {
                    "type": "object",
                    "properties": {
                      "daily": {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      "monthly": {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      "marketing": {
                        "type": "boolean"
                      },
                      "renewals": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  "unlock": {
                    "type": "object",
                    "properties": {
                      "capability": {
                        "type": "string",
                        "const": "texting"
                      },
                      "summary": {
                        "type": "string"
                      },
                      "done": {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      "total": {
                        "type": "integer",
                        "minimum": -9007199254740991,
                        "maximum": 9007199254740991
                      },
                      "requirements": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "title": {
                              "type": "string"
                            },
                            "why": {
                              "type": "string"
                            },
                            "done": {
                              "type": "boolean"
                            },
                            "detail": {
                              "type": "string"
                            },
                            "countdown": {
                              "type": "object",
                              "properties": {
                                "at": {
                                  "type": "string",
                                  "description": "When it’s done on its own."
                                },
                                "days": {
                                  "type": "integer",
                                  "minimum": -9007199254740991,
                                  "maximum": 9007199254740991
                                }
                              },
                              "required": [
                                "at",
                                "days"
                              ],
                              "additionalProperties": false
                            },
                            "action": {
                              "description": "What to do next: run an operation, send the owner to a screen, or wait. None once done.",
                              "oneOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "operation"
                                    },
                                    "operation": {
                                      "type": "string"
                                    },
                                    "input": {
                                      "type": "object",
                                      "propertyNames": {
                                        "type": "string"
                                      },
                                      "additionalProperties": {}
                                    },
                                    "label": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "operation",
                                    "input",
                                    "label"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "screen"
                                    },
                                    "href": {
                                      "type": "string"
                                    },
                                    "label": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "href",
                                    "label"
                                  ],
                                  "additionalProperties": false
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "const": "wait"
                                    },
                                    "label": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "kind",
                                    "label"
                                  ],
                                  "additionalProperties": false
                                }
                              ]
                            }
                          },
                          "required": [
                            "id",
                            "title",
                            "why",
                            "done"
                          ],
                          "additionalProperties": false
                        }
                      }
                    },
                    "required": [
                      "capability",
                      "summary",
                      "done",
                      "total",
                      "requirements"
                    ],
                    "additionalProperties": false
                  },
                  "risk": {
                    "type": "object",
                    "properties": {
                      "state": {
                        "type": "string",
                        "enum": [
                          "healthy",
                          "watch",
                          "at_risk",
                          "paused"
                        ]
                      },
                      "label": {
                        "type": "string"
                      },
                      "since": {
                        "type": "string"
                      },
                      "reason": {
                        "type": "string"
                      },
                      "reasons": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "signal": {
                              "type": "string"
                            },
                            "text": {
                              "type": "string"
                            },
                            "count": {
                              "type": "integer",
                              "minimum": -9007199254740991,
                              "maximum": 9007199254740991
                            },
                            "volume": {
                              "type": "integer",
                              "minimum": -9007199254740991,
                              "maximum": 9007199254740991
                            },
                            "rate": {
                              "type": "number"
                            },
                            "windowDays": {
                              "type": "integer",
                              "minimum": -9007199254740991,
                              "maximum": 9007199254740991
                            }
                          },
                          "required": [
                            "signal",
                            "text",
                            "count",
                            "volume",
                            "rate",
                            "windowDays"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "fix": {
                        "type": "string"
                      },
                      "whilePaused": {
                        "type": "string"
                      },
                      "review": {
                        "type": "object",
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          },
                          "note": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "requested"
                        ],
                        "additionalProperties": false
                      },
                      "action": {
                        "description": "`trust.resume` is the owner’s own, on their screen: an agent gets a link for them.",
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "enum": [
                                  "resume",
                                  "review"
                                ]
                              },
                              "operation": {
                                "type": "string",
                                "const": "trust.resume"
                              },
                              "label": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "operation",
                              "label"
                            ],
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "wait"
                              },
                              "label": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "label"
                            ],
                            "additionalProperties": false
                          }
                        ]
                      }
                    },
                    "required": [
                      "state",
                      "label",
                      "reasons"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "id",
                  "title",
                  "level",
                  "limits",
                  "risk"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "capabilities"
          ],
          "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": {}
    }
  ]
}

trust.summary

What’s going on

Kind
Read
Tool
trust_summary
Scope
trust: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": {}
    }
  ]
}