View as Markdown
LiveKit icon

LiveKit ACTION

Generate Access Token

Generate an access token for a participant to join a LiveKit room. See the documentation.
  • Action
  • Writes data
  • API key
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's LiveKit account once, then configure and run Generate Access Token from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "livekit-generate-access-token",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    livekit: { authProvisionId: "apn_xxxxxxx" },
    room: "Room Name",
    ttl: 10,
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

Generate Access Token inputs
Property Type Description
room Room Name string
The name of the room to join
Optional Dynamic
ttl Token TTL (seconds) integer
How long the access token should be valid for (in seconds)
Optional
name Participant Name string
Display name for the participant
Optional
identity Participant Identity string
Unique identity for the participant joining the call
Required
metadata Participant Metadata string
Optional metadata to attach to the participant
Optional
canPublish Can Publish boolean
Whether the participant can publish audio/video tracks
Optional
canSubscribe Can Subscribe boolean
Whether the participant can subscribe to other participants' tracks
Optional
canPublishData Can Publish Data boolean
Whether the participant can publish data messages
Optional
hidden Hidden Participant boolean
Whether the participant should be hidden from other participants
Optional
roomCreate Room Create Permission boolean
Permission to create rooms
Optional
roomList Room List Permission boolean
Permission to list rooms
Optional
roomRecord Room Record Permission boolean
Permission to start a recording
Optional
roomAdmin Room Admin Permission boolean
Permission to control the specific room
Optional
ingressAdmin Ingress Admin Permission boolean
Permission to control ingress, not specific to any room or ingress
Optional
canUpdateOwnMetadata Can Update Own Metadata boolean
Allow participant to update its own metadata
Optional
recorder Recorder boolean
Participant is recording the room, allows room to indicate it's being recorded
Optional
agent Agent boolean
Participant allowed to connect to LiveKit as Agent Framework worker
Optional
canSubscribeMetrics Can Subscribe Metrics boolean
Allow participant to subscribe to metrics
Optional
destinationRoom Destination Room string
Destination room which this participant can forward to
Optional
createRoomIfNotExists Create Room If Not Exists boolean
Whether to create the room if it doesn't exist
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
livekit-generate-access-token
Version
0.0.2
App
LiveKit
Authentication
API key
Read-only
No
Destructive
No
Open world
Yes