Browse the docs

Team

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

Availability. Every business has it.

What you can do

  • Invite a team member: only you can do it, on its screen
  • Invite a guest to help with some offerings: only you can do it, on its screen
  • Change what a guest helps with, or their last day: only you can do it, on its screen
  • Cancel an invite: the assistant can do it on its own
  • Remove a team member: only you can do it, on its screen
  • Make or change a role: only you can do it, on its screen
  • Change someone’s role: only you can do it, on its screen
  • Remove a role: only you can do it, on its screen

For apps

Tools

  • team_cancelInvite (Cancel an invite): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval

Reads

  • team_members (See who’s on your team)
  • team_roles (See your team’s roles)
  • team_glance (See who’s on your team at a glance)
  • team_summary (What’s going on)

Only the owner, in Allpage

  • Invite a team member
  • Invite a guest to help with some offerings
  • Change what a guest helps with, or their last day
  • Remove a team member
  • Make or change a role
  • Change someone’s role
  • Remove a role

Operations

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

team.cancelInvite

Cancel an invite

Kind
Change
Tool
team_cancelInvite
Scope
team: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": {
    "inviteId": {
      "type": "string",
      "pattern": "^inv_[0-9a-hjkmnp-tv-z]{26}$",
      "description": "A invite id: inv_ and 26 letters and digits."
    }
  },
  "required": [
    "inviteId"
  ],
  "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"
        }
      }
    }
  ]
}

team.glance

See who’s on your team at a glance

Kind
Read
Tool
team_glance
Scope
team: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": {
            "members": {
              "type": "number"
            },
            "invites": {
              "type": "number"
            }
          },
          "required": [
            "members",
            "invites"
          ],
          "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": {}
    }
  ]
}

team.members

See who’s on your team

Kind
Read
Tool
team_members
Scope
team: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": {
            "members": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "personId": {
                    "type": "string",
                    "pattern": "^per_[0-9a-hjkmnp-tv-z]{26}$",
                    "description": "A person id: per_ and 26 letters and digits."
                  },
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "owner",
                      "staff"
                    ],
                    "description": "`staff` is a team member."
                  },
                  "roleKey": {
                    "description": "A team member’s role, from team.roles.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "roleName": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "calendarId": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^res_[0-9a-hjkmnp-tv-z]{26}$",
                        "description": "A resource id: res_ and 26 letters and digits."
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Their calendar: pass it as the resourceId offerings.save staffs and resources.savePerson takes. Null until they have one."
                  },
                  "since": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "you": {
                    "type": "boolean",
                    "description": "The person asking."
                  },
                  "until": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "date-time"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "A contributor’s: when their access ends. Null for the rest of the team."
                  },
                  "ended": {
                    "type": "boolean",
                    "description": "A contributor whose access has ended."
                  },
                  "helpsWith": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$",
                          "description": "A offering id: off_ and 26 letters and digits."
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ],
                      "additionalProperties": false
                    },
                    "description": "A contributor’s offerings: all they reach besides sessions they’re put on."
                  }
                },
                "required": [
                  "personId",
                  "name",
                  "email",
                  "role",
                  "roleKey",
                  "roleName",
                  "calendarId",
                  "since",
                  "you",
                  "until",
                  "ended",
                  "helpsWith"
                ],
                "additionalProperties": false
              }
            },
            "invites": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^inv_[0-9a-hjkmnp-tv-z]{26}$",
                    "description": "A invite id: inv_ and 26 letters and digits."
                  },
                  "email": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string",
                    "description": "The role they join with."
                  },
                  "expiresAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "expired": {
                    "type": "boolean"
                  },
                  "until": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "date-time"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "A contributor’s invite: when their access ends."
                  },
                  "helpsWith": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$",
                          "description": "A offering id: off_ and 26 letters and digits."
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "name"
                      ],
                      "additionalProperties": false
                    },
                    "description": "A contributor’s invite: the offerings they’ll reach."
                  }
                },
                "required": [
                  "id",
                  "email",
                  "name",
                  "role",
                  "expiresAt",
                  "expired",
                  "until",
                  "helpsWith"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "members",
            "invites"
          ],
          "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": {}
    }
  ]
}

team.roles

See your team’s roles

Kind
Read
Tool
team_roles
Scope
team: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": {
            "roles": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "permissions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "records": {
                    "type": "string",
                    "enum": [
                      "all",
                      "assigned",
                      "own"
                    ]
                  },
                  "sensitive": {
                    "type": "boolean"
                  },
                  "approval": {
                    "type": "string",
                    "enum": [
                      "ask",
                      "auto"
                    ]
                  },
                  "bookable": {
                    "type": "boolean",
                    "description": "New team members in it take bookings online."
                  },
                  "members": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "starter": {
                    "type": "boolean",
                    "description": "One the business starts with (Allpage’s, or its kind of business’s)."
                  },
                  "summary": {
                    "type": "string",
                    "description": "What it can and can’t do, in a line."
                  }
                },
                "required": [
                  "key",
                  "name",
                  "permissions",
                  "records",
                  "sensitive",
                  "approval",
                  "bookable",
                  "members",
                  "starter",
                  "summary"
                ],
                "additionalProperties": false
              }
            },
            "catalog": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "area": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "permissions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "key",
                        "label"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "area",
                  "title",
                  "permissions"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "roles",
            "catalog"
          ],
          "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": {}
    }
  ]
}

team.summary

What’s going on

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