> ## 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.

# Event Callbacks

> The SDK supports several lifecycle callbacks to handle different events:

### onConnected

Called when the proctoring session successfully connects.

```javascript theme={null}
callbacks: {
    onConnected: (api) => {
        console.log('Session connected');
        // api object provides additional methods (implementation pending)
    }
}
```

### onDisconnected

Called when the proctoring session disconnects.

```javascript theme={null}
callbacks: {
    onDisconnected: () => {
        console.log('Session disconnected');
        // Handle disconnection logic
    }
}
```

### onError

Called when an error occurs during the proctoring session.

```javascript theme={null}
callbacks: {
    onError: (error) => {
        console.error('Proctoring error:', error);
        // Handle error logic
    }
}
```

### Complete Callback Example

```javascript theme={null}
const config = {
    projectSecret: 'your-project-secret',
    candidate: {
        externalId: 'candidate-123'
    },
    workflow_step: {
        proctoringType: 'remote_invigilation'
    },
    callbacks: {
        onConnected: (api) => {
            console.log('✅ Proctoring session started');
            // Show success message to user
            document.getElementById('status').textContent = 'Proctoring Active';
        },
        onDisconnected: () => {
            console.log('❌ Proctoring session ended');
            // Update UI to reflect disconnected state
            document.getElementById('status').textContent = 'Proctoring Inactive';
        },
        onError: (error) => {
            console.error('🚨 Proctoring error:', error);
            // Show error message to user
            alert('Proctoring error: ' + error.message);
        }
    }
};
```
