Overview
With our LiveKit Agents integration, you can easily send a LemonSlice avatar into a video call hosted on a third-party platform. Supported platforms are Zoom, Google Meet, Microsoft Teams, and Webex. The avatar appears on camera, listens to the meeting, and responds with low-latency voice and animation. Joining a call is as simple as adding a single line of code to your LiveKit agent. LemonSlice handles the rest: connecting to the call, feeding meeting audio into your agent, and publishing the synced avatar audio and video into the meeting.Supported platforms


How it works
- Start a normal LiveKit
AvatarSessionwith the desired session parameters (see our LiveKit guide for details). - Call
join_meetingwith the meeting URL. LemonSlice joins the call as a bot and opens a relay WebSocket that streams mixed meeting audio into your agent for STT (bypassing LiveKit room audio). - LemonSlice publishes the synced avatar audio/video stream into the meeting.
- Optionally, enable
listen_to_meeting_chatso chat messages from the meeting are passed to the agent as user input.
Requirements
Usage
Afteravatar.start(...), call join_meeting, then start the agent session with the room options returned by the avatar. Those options disable LiveKit room audio I/O so the agent listens to the meeting relay instead.
Toggle listening behavior
Afterjoin_meeting, the plugin attaches a MeetingAudioInput to session.input.audio so the agent hears the meeting. To temporarily stop (or resume) listening without leaving the call, swap that input for a silent one:
End-to-end examples
Both show a full worker that reads
meeting_url from job metadata, joins the call, and starts the agent session with meeting-aware room options.
