***

title: user_event
slug: /reference/python/relay/call/user-event
description: Send a custom user-defined event on a call.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

Send a custom user-defined event on the call. User events allow you to pass
application-specific data through the RELAY event system. Other listeners on
the same call can receive and react to these events.

## **Parameters**

<ParamField path="event" type="Optional[str]" toc={true}>
  The event name or identifier.
</ParamField>

## **Returns**

`dict` -- Server response confirming the event was sent.

## **Example**

```python {15}
from signalwire.relay import RelayClient

client = RelayClient(
    project="your-project-id",
    token="your-api-token",
    host="your-space.signalwire.com",
    contexts=["default"],
)

@client.on_call
async def handle_call(call):
    await call.answer()

    # Send a custom event with metadata
    result = await call.user_event(
        event="customer_identified",
        customer_id="cust-12345",
        tier="premium",
    )
    print(f"User event sent: {result}")

client.run()
```