Equipe
Convide, atualize e remova membros da equipe.
list_team_members
List the agency's team members — everyone with (or invited to have) access to this agency's OS account. Each row has name, email, role (owner/admin/member), status (Owner / Active / Not Active / Invited), last session, weekly hours capacity, module permissions, and Slack link. Use this to find a member's id before update_team_member, resend_team_invite, revoke_team_invite, or remove_team_member.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_team_members",
"arguments": {}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}O formato da resposta é ilustrativo — o conteúdo real depende da ferramenta e dos seus dados.
invite_team_member
Invite a new team member to the agency by email — sends them a signup invite (or, if that email already has an active Synup account elsewhere, an account-link invite instead). Fails if that email is already on this agency's team (use resend_team_invite instead). permissions is a { moduleKey: boolean } map; omit to use the default "member" preset. Returns the new (pending) member's id.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "invite_team_member",
"arguments": {
"firstName": "string",
"lastName": "string",
"email": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}O formato da resposta é ilustrativo — o conteúdo real depende da ferramenta e dos seus dados.
update_team_member
Edit a team member's weekly hours capacity, module permissions, or Slack link. Does NOT change their role (owner/admin/member — there is no way to change role through this action; it isn't editable in the product today). Pass only the fields you want to change. A Slack user id can only be linked to one member at a time — assigning it here unlinks it from whoever had it. Identify the member by their id (from list_team_members).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_team_member",
"arguments": {
"memberId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}O formato da resposta é ilustrativo — o conteúdo real depende da ferramenta e dos seus dados.
resend_team_invite
Resend a pending team invite email with a fresh 7-day link. Only works while the invite is still pending (status "Invited") — throws if the member already accepted. Identify the member by their id (from list_team_members).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "resend_team_invite",
"arguments": {
"memberId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}O formato da resposta é ilustrativo — o conteúdo real depende da ferramenta e dos seus dados.
revoke_team_invite
Revoke an accepted team member's access, removing them from the agency entirely (this permanently deletes their membership row — it is not reversible; they'd need to be re-invited). Only works for members who already accepted their invite (status "Active"/"Not Active") — use remove_team_member for a pending invite instead, or this throws. Cannot be used on the owner.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "revoke_team_invite",
"arguments": {
"memberId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}O formato da resposta é ilustrativo — o conteúdo real depende da ferramenta e dos seus dados.
remove_team_member
Remove a team member (pending invite or accepted member) from the agency. This permanently deletes their membership row — not reversible; they'd need to be re-invited from scratch. Cannot be used on the owner.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "remove_team_member",
"arguments": {
"memberId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}O formato da resposta é ilustrativo — o conteúdo real depende da ferramenta e dos seus dados.