---
title: Stream Applet
slug: exotel-agentstream/stream-applet
docTags: 
createdAt: 2025-09-27T08:28:25.611Z
---

**Unidirectional Streaming**

Unidirectional Streams allow you to Stream live calls over WebSocket in a single direction, from Exotel to the WebSocket Endpoint. Some of the use cases for this are live transcription, realtime monitoring of agents, realtime coaching etc.

**Configuring a Unidirectional Stream-Stream applet&#x20;**

You can enable unidirectional streaming on a call flow using the Streaming Applet.&#x20;



::Image[]{src="https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/3077415531/original/fKxLQhxB405N7bPeEEl4xv-ZvcUO4EsRZQ.png?1647935726" size="62" width="513" height="382" position="center" darkWidth="513" darkHeight="382" showCaption="false"}

**The applet takes 3 parameters :**



**1. Action** - You can either start a new stream or stop a stream that you started earlier in the same call flow. You will use the Stop action if you have started a unidirectional Stream earlier in the same flow. When you choose stop, that is the only input you need to configure&#x20;

**2. URL** - This is the URL to which Exotel will stream the voice media. You can either specify a WSS endpoint or an HTTPS endpoint. If you specify an HTTP/HTTPS endpoint, Exotel expects the HTTPS endpoint to return a WSS URL in its response. This is to allow&#x20;

a. Dynamic endpoints for the same call flow
b. Have dynamic custom parameters that can be passed to the websocket endpoint to handle any application specific customization


When you specify a https endpoint, it must return a json with the key “url” &#x20;

```json
{ 
"url" : "wss://streamhandler.yourdomain.com" 
}  
```

On receiving this, Exotel will initiate a connection to wss\://streamhandler.yourdomain.com&#x20;

**3. Next Applet**
&#x20;In the case if Unidirectional Stream, the Stream would be created and the call flow proceeds to the next applet configured&#x20;
