# invite_teammate

Ask for one person to be brought into this workspace by email. This does not send anything: it answers with the page to give a workspace administrator, with the address already filled in for them to read, and with whether that address is already here. Inviting somebody is an administrator's act, so the person reads the address in their own browser and presses Send. Call it when somebody asks you to add a teammate, give them the page it returns, and tell them nothing has been sent yet. Call it again afterwards to find out whether the invitation is now open.

Reviewed 2026-10-01. Read the [current operating instructions](https://app.balladeer.ai/agent) and the [tool index](/docs/mcp-reference.md). This reference does not authorize the action.

## Parameters

```json
{
  "type": "object",
  "properties": {
    "email": {
      "description": "The person's email address, exactly as the person you are talking to gave it to you. Never one you worked out. It must be an address: anything else is refused rather than filled into an administrator's invitation box.",
      "type": "string",
      "minLength": 3,
      "maxLength": 320,
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "role": {
      "description": "A viewer can read this workspace. A contributor can also propose promises. An administrator can also change setup and invite people. Ask if they did not say; contributor is the ordinary answer.",
      "default": "contributor",
      "type": "string",
      "enum": [
        "contributor",
        "viewer",
        "administrator"
      ]
    }
  },
  "required": [
    "email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
```

## Effect annotations

```json
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
```
