> This page is for Server SDKs.

> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# queue_enter

> Place a call into a named queue.

[queue-leave]: /docs/server-sdks/reference/python/relay/call/queue-leave

[calling-call-queue]: /docs/server-sdks/reference/python/relay/call#events

[call-events]: /docs/server-sdks/reference/python/relay/call#events

Place the call into a named queue. The caller waits in the queue until they are
dequeued by another operation (such as an agent picking up) or removed via
[`queue_leave()`][queue-leave].

> **Info**
>
> This method emits [`calling.call.queue`][calling-call-queue] events. See [Call Events][call-events] for payload details.

## **Parameters**

**`queue_name`** `str` — required

Name of the queue to enter.

---

**`control_id`** `str | None` — default: None

Custom control ID. Auto-generated if not provided.

---

**`status_url`** `str | None` — default: None

URL to receive queue status webhooks (position updates, dequeue events).

---

## **Returns**

`dict` -- Server response confirming the call entered the queue.

## **Example**

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

client = RelayClient(
    project="your-project-id",
    token="your-api-token",
    contexts=["default"],
)

@client.on_call
async def handle_call(call):
    await call.answer()
    await call.play([{"type": "tts", "params": {"text": "You are being placed in the support queue."}}])

    # Enter the queue
    await call.queue_enter(
        queue_name="support",
        status_url="https://example.com/queue-status",
    )

    # The call stays in the queue until an agent dequeues it

client.run()
```