> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trugen.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Join External Meeting

Send a TruGen agent into a live external meeting (Google Meet, Zoom, Microsoft Teams). The agent joins as a participant, listens, speaks, and captures a full transcript.

## Endpoint

```
POST https://api.trugen.ai/v1/ext/externalmeeting
```

## Headers

| Header         | Required | Description         |
| -------------- | -------- | ------------------- |
| `X-API-Key`    | Yes      | Your TruGen API key |
| `Content-Type` | Yes      | `application/json`  |

## Request body

| Field         | Type   | Required | Description                                                                            |
| ------------- | ------ | -------- | -------------------------------------------------------------------------------------- |
| `agent_id`    | string | Yes      | ID of the agent to send into the meeting                                               |
| `meeting_url` | string | Yes      | Full URL of the Google Meet, Zoom, or Teams meeting the agent should join              |
| `user_name`   | string | Yes      | Display name the agent uses in the meeting                                             |
| `user_id`     | string | Yes      | Identifier for this session — used in analytics and callbacks                          |
| `context`     | string | No       | Free-form conversational context passed to the agent's system prompt                   |
| `wake_phrase` | string | No       | Optional phrase the agent listens for before speaking (useful in silent-observer mode) |
| `mode`        | string | No       | Session mode                                                                           |

## Example

```bash theme={null}
curl --request POST \
  --url https://api.trugen.ai/v1/ext/externalmeeting \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --data '{
    "agent_id": "agt_12345",
    "meeting_url": "https://meet.google.com/abc-defg-hij",
    "user_name": "Alex — AI Assistant",
    "user_id": "meeting-2026-07-30-abc",
    "context": "This is a hiring interview. The candidate is Priya Sharma for the Senior Engineer role."
  }'
```

## Response

Plain-text status message:

```
Agent request successfully created.
```

Or, if the underlying meeting-bot service could not accept the request:

```
Unable to create agent request.
```

## Behavior

The agent joins the meeting at the URL you provide, using the display name from `user_name`. It participates in real time — hearing, transcribing, reasoning, and speaking through its configured pipeline (STT / LLM / TTS / avatar).

When the meeting ends, the associated conversation record persists — retrieve it with [`GET /v1/ext/conversation/{id}`](/api-reference/endpoint/conversationgetbyid) for the transcript, tool calls, and any structured output.

## Common uses

* **AI interviewer** — automatically join scheduled interviews and run structured question sets
* **Sales attendee** — join discovery calls to answer live product questions
* **Meeting note-taker** — silently transcribe and summarize customer calls
* **Compliance witness** — attend regulated calls and flag policy issues in real time

## Supported meeting platforms

* Google Meet
* Zoom
* Microsoft Teams

See [External Meetings](/docs/agents/meetings/overview) for the full concept, plus behavior details like multi-participant handling and platform join flows.

## What's next

<CardGroup cols={2}>
  <Card title="External Meetings concept" icon="users" href="/docs/agents/meetings/overview">
    How agents behave in real meetings.
  </Card>

  <Card title="Callbacks" icon="webhook" href="/docs/agents/callback">
    Get real-time events as the meeting runs.
  </Card>
</CardGroup>
