Browse the docs

Today

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

Availability. Every business has it.

What you can do

  • Try again: the assistant can do it on its own
  • Approve a change: only you can do it, on its screen
  • Decline a change: only you can do it, on its screen

For apps

Tools

  • today_retryJob (Try again): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
  • today_approve (Approve a change): customers see it: waits for the owner’s approval unless they chose Just do it for your app
  • today_decline (Decline a change): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval

Reads

  • today_weights (Weigh Today)
  • today_waiting (Waiting for your approval)
  • today_attention (See what needs you)
  • today_summary (What’s going on)

Outside any one business

  • today_everywhere (See Today across your businesses)

Operations

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

today.attention

See what needs you

Kind
Read
Tool
today_attention
Scope
today: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": {
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "text": {
                    "type": "string",
                    "description": "What needs the owner, in their words."
                  },
                  "area": {
                    "type": "string",
                    "description": "Where it comes from: Account health."
                  },
                  "href": {
                    "description": "Where it’s fixed, under the business.",
                    "type": "string"
                  },
                  "retryJobId": {
                    "description": "A failed task to try again with `today.retryJob`.",
                    "type": "string",
                    "pattern": "^job_[0-9a-hjkmnp-tv-z]{26}$"
                  }
                },
                "required": [
                  "id",
                  "text",
                  "area"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "items"
          ],
          "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": {}
    }
  ]
}

today.everywhere

See Today across your businesses

Kind
Outside a business
Tool
today_everywhere
Scope
today:read
Reached by
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": {
            "businesses": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "businessId": {
                    "type": "string",
                    "pattern": "^biz_[0-9a-hjkmnp-tv-z]{26}$",
                    "description": "A business id: biz_ and 26 letters and digits."
                  },
                  "name": {
                    "type": "string"
                  },
                  "waiting": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^prp_[0-9a-hjkmnp-tv-z]{26}$",
                          "description": "The change: the owner approves or declines it on its card. A proposal id: prp_ and 26 letters and digits."
                        },
                        "title": {
                          "type": "string"
                        },
                        "lines": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "changes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "label": {
                                "type": "string"
                              },
                              "from": {
                                "type": "string"
                              },
                              "to": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "label"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "money": {
                          "description": "What it charges or pays out.",
                          "type": "object",
                          "properties": {
                            "amountMinor": {
                              "type": "integer",
                              "minimum": -9007199254740991,
                              "maximum": 9007199254740991
                            },
                            "currency": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "amountMinor",
                            "currency"
                          ],
                          "additionalProperties": false
                        },
                        "recipients": {
                          "description": "How many customers it messages.",
                          "type": "object",
                          "properties": {
                            "count": {
                              "type": "integer",
                              "minimum": -9007199254740991,
                              "maximum": 9007199254740991
                            }
                          },
                          "required": [
                            "count"
                          ],
                          "additionalProperties": false
                        },
                        "confirm": {
                          "type": "boolean",
                          "description": "It moves money or messages customers: approving confirms it."
                        },
                        "from": {
                          "type": "string",
                          "description": "Who proposed it, in words."
                        },
                        "when": {
                          "type": "string"
                        },
                        "href": {
                          "type": "string",
                          "description": "Its page in Allpage."
                        }
                      },
                      "required": [
                        "id",
                        "title",
                        "lines",
                        "confirm",
                        "from",
                        "when",
                        "href"
                      ],
                      "additionalProperties": false
                    },
                    "description": "Changes waiting for the owner’s OK, newest first."
                  },
                  "needs": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string"
                        },
                        "area": {
                          "type": "string"
                        },
                        "href": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "area"
                      ],
                      "additionalProperties": false
                    },
                    "description": "What needs the owner, worst first."
                  },
                  "happening": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string"
                        },
                        "at": {
                          "type": "string",
                          "description": "When, in the business’s time."
                        },
                        "href": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "text",
                        "at"
                      ],
                      "additionalProperties": false
                    },
                    "description": "What’s on today, in order."
                  }
                },
                "required": [
                  "businessId",
                  "name",
                  "waiting",
                  "needs",
                  "happening"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "businesses"
          ],
          "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": {}
    }
  ]
}

today.retryJob

Try again

Kind
Change
Tool
today_retryJob
Scope
today:write
Reached by
API, MCP

a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval

Input
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "pattern": "^job_[0-9a-hjkmnp-tv-z]{26}$",
      "description": "A job id: job_ and 26 letters and digits."
    }
  },
  "required": [
    "jobId"
  ],
  "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"
        }
      }
    }
  ]
}

today.summary

What’s going on

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

today.waiting

Waiting for your approval

Kind
Read
Tool
today_waiting
Scope
today: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": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^prp_[0-9a-hjkmnp-tv-z]{26}$",
                "description": "The proposal: approve it in Allpage. A proposal id: prp_ and 26 letters and digits."
              },
              "title": {
                "type": "string"
              },
              "lines": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "changes": {
                "description": "What changes, value by value.",
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "label": {
                      "type": "string"
                    },
                    "from": {
                      "type": "string"
                    },
                    "to": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "label"
                  ],
                  "additionalProperties": false
                }
              },
              "view": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "const": "site"
                  }
                },
                "required": [
                  "kind"
                ],
                "additionalProperties": false
              },
              "confirm": {
                "type": "boolean",
                "description": "It moves money or messages customers: the owner confirms it."
              },
              "from": {
                "type": "string",
                "description": "Who proposed it, in words."
              },
              "when": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "title",
              "lines",
              "confirm",
              "from",
              "when"
            ],
            "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": {}
    }
  ]
}

today.weights

Weigh Today

Kind
Read
Tool
today_weights
Scope
today:read
Reached by
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": {
            "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])))$"
            },
            "date": {
              "type": "string"
            },
            "greeting": {
              "type": "string"
            },
            "note": {
              "type": "string"
            },
            "lead": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "enum": [
                    "idea",
                    "start",
                    "session",
                    "orders",
                    "later",
                    "clear"
                  ]
                },
                "kicker": {
                  "type": "string"
                },
                "headline": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                },
                "session": {
                  "type": "string"
                }
              },
              "required": [
                "kind",
                "kicker",
                "headline"
              ],
              "additionalProperties": false
            },
            "panels": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "weight": {
                    "type": "number"
                  },
                  "empty": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "weight",
                  "empty"
                ],
                "additionalProperties": false
              }
            },
            "week": {
              "type": "boolean"
            }
          },
          "required": [
            "today",
            "date",
            "greeting",
            "lead",
            "panels",
            "week"
          ],
          "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": {}
    }
  ]
}