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

# Exam Updated

> Triggered when an exam's configuration, workflow, or center assignment changes.

<Info>
  For general webhook concepts like bubble-up behavior, payload visibility rules, and versioned snapshots, see [Webhook Concepts](/graph-api-reference/webhooks/concepts).
</Info>

## Description

This event is triggered when an exam is updated — for example, when its workflow, center assignment, or scheduling changes.

## Integration Details

* **Subscription Key**: `coordinator.exam.updated`
* **Use Case**: Sync exam changes to external scheduling or proctoring systems.
* **Related Events**: [`coordinator.exam.created`](/graph-api-reference/webhooks/coordinator/exam-created)

## Trigger

* **Event Type:** `coordinator_exam_updated`
* **Source:** Update of a record in the `coordinator.exam` table.

## Cross-Service References

This is one of the richest cross-service payloads:

* **Workflow Tools** (`wft.workflow`): Workflow definition with steps.
* **Scheduler** (`sch.drive_schedule`): Drive schedules filtered to `CENTER_PLAN` type, with rooms.
* **Proctoring Management** (`pm.center`): Physical proctoring center details.

## Payload Example

```json theme={null}
{
  "id": 501,
  "name": "Python Assessment - March 2024 (Updated)",
  "workflow_id": 100,
  "created_at": "2024-03-01T08:00:00Z",
  "created_by": 1,
  "updated_at": "2024-03-05T10:00:00Z",
  "updated_by": 1,
  "workflow": {
    "id": 100,
    "title": "Technical Hiring Pipeline",
    "workflow_type": "hiring",
    "status": "active",
    "external_id": "ext_wf_100",
    "steps": [
      {
        "id": 1,
        "name": "Online Assessment",
        "step_type": "assessment",
        "sequence": 1,
        "is_proctoring": true,
        "external_id": null
      },
      {
        "id": 2,
        "name": "Technical Interview",
        "step_type": "interview",
        "sequence": 2,
        "is_proctoring": false,
        "external_id": null
      }
    ],
    "centers": [
      {
        "id": 201,
        "name": "March 2024 - Bangalore Center",
        "drive_type": "CENTER_PLAN",
        "status": "active",
        "start_date": "2024-03-15",
        "end_date": "2024-03-15",
        "booking_start_date": "2024-03-01",
        "booking_end_date": "2024-03-14",
        "location": {
          "city": "Bangalore",
          "country": "India"
        },
        "timezone": "Asia/Kolkata",
        "cron_expression": null,
        "external_id": null,
        "rooms": [
          {
            "id": 301,
            "external_id": null,
            "guest_capacity": 30,
            "status": "active",
            "workflow_step_id": 1,
            "center_id": 401
          },
          {
            "id": 302,
            "external_id": null,
            "guest_capacity": 20,
            "status": "active",
            "workflow_step_id": 1,
            "center_id": 401
          }
        ]
      }
    ]
  },
  "center": {
    "id": 401,
    "name": "Bangalore Test Center",
    "center_type": "physical",
    "status": "active",
    "external_id": "ext_center_401",
    "timezone": "Asia/Kolkata",
    "contact_name": "Priya Sharma",
    "contact_email": "priya@testcenter.com",
    "contact_phone": "+919876543210",
    "exam_types": ["online", "offline"],
    "geo_location_id": 50
  }
}
```

## Payload Type Showcase

```typescript theme={null}
{
  id: number;
  name: string;
  workflow_id: number;
  created_at: string;
  created_by: number;
  updated_at: string;
  updated_by: number;
  workflow: {
    id: number;
    title: string;
    workflow_type: string;
    status: string;
    external_id: string | null;
    steps: {
      id: number;
      name: string;
      step_type: string;
      sequence: number;
      is_proctoring: boolean;
      external_id: string | null;
    }[];
    centers: {
      id: number;
      name: string;
      drive_type: string;
      status: string;
      start_date: string | null;
      end_date: string | null;
      booking_start_date: string | null;
      booking_end_date: string | null;
      location: Record<string, any> | null;
      timezone: string | null;
      cron_expression: string | null;
      external_id: string | null;
      rooms: {
        id: number;
        external_id: string | null;
        guest_capacity: number;
        status: string;
        workflow_step_id: number;
        center_id: number;
      }[];
    }[];
  };
  center: {
    id: number;
    name: string;
    center_type: string;
    status: string;
    external_id: string | null;
    timezone: string;
    contact_name: string | null;
    contact_email: string | null;
    contact_phone: string | null;
    exam_types: string[];
    geo_location_id: number | null;
  };
}
```

## Field Notes

* `workflow` is a cross-service join to `wft.workflow` including nested steps and drive schedules.
* `centers` is an alias that filters `drive_schedules` to `CENTER_PLAN` type only.
* `center` is a cross-service join to `pm.center` for the physical proctoring center.
* `location` on drive schedules is JSONB.
* `exam_types` is a Postgres array of strings.
