Actions are an enterprise-only feature. Contact support@lemonslice.com to get access.
1. Action Machine (automatic)
Get the full power of actions with no custom logic required. LemonSlice automatically selects and triggers contextually appropriate actions based on the conversation state. Setenable_actions and action_engine when creating a session:
Enrich the Action Machine with user state (LiveKit only)
By default, the Action Machine knows two avatar states: IDLING and RESPONDING. You can unlock a third state, LISTENING, by publishing the user’s speech state from your agent code (e.g.,agent.py). This lets the avatar react naturally while the user is speaking.
2. LiveKit data messages (manual, lowest latency)
Trigger actions yourself with full control over timing. LiveKit data messages are approximately 250 ms faster than the REST control endpoint, making them the recommended option for LiveKit users. Setenable_actions when creating a session:
ls.action and a JSON payload containing the action name from the available actions table:
3. Control endpoint (manual, any integration)
Use the control endpoint to trigger actions from any integration (Daily, Agora, WebSocket). If LiveKit data messages are available to you, prefer those for lower latency. Setenable_actions when creating a session:
POST request with the action name. Replace {session_id} with your active session ID and <ACTION_NAME> with any action from the table below.

