Meeting Actions
Agents built on AgentStation can create, join and engage in online meetings. Currently, the platform only supports Zoom.
What can agents do in meetings?
Agents can:
- Create a new meeting and provide a link for participants to join
- Join an existing meeting
- Speak and listen over audio
- Share their screen while completing browser actions
- Record meetings
Creating and joining meetings
Agents built using the API can create their own meetings, as well as join existing meetings.
Agents built using a JSON configuration file can currently only join existing meetings.
Sharing screen
When an agent shares its screen, it will always show their browser window with the active tab visible. You can then have the agent complete browser actions so that meeting participants can follow along.
Note that if an agent has joined an existing meeting where participant screensharing is disabled, the agent will fail to share its screen. It is recommended to warn meeting hosts to turn on participant screen sharing, through a speak
or question
action, or other notification.
Voice actions
Agents can use voice actions while in a meeting to communicate with participants. The agent's microphone is automatically unmuted, and will be able to hear responses back from participants as long as they are also unmuted.
Leaving meetings
Agents will automatically end a meeting when the last other attendee has left the call. The agent will then end their current session automatically.
You can also force an agent to leave a meeting using the Leave Meeting
endpoint, or by ending an active workstation session in the dashboard.
Recording
By default, agents will record their entire session while in an active workstation. Some jurisdictions require that meeting participants be notified if they are being recorded. It is recommended to notify meeting participants that a recording is in progress when the agent is in a meeting with them through a speak
action.
API
Creating and joining meetings
To start a meeting, you can use the Start Meeting
endpoint, which will return a URL that can be shared with participants:
curl -L -X POST 'https://api.agentstation.ai/v1/workstations/:id/start_meeting' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>'
To join a meeting, you can use the Join Meeting endpoint, providing a Zoom participant link as part of the request body:
curl -L -X POST 'https://api.agentstation.ai/v1/workstations/:id/join_meeting' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"meetingUrl": "string"
}'
Other meeting actions
Agents can start sharing their screen and stop sharing their screen by using the Start Screen Share and Stop Screen Share endpoints once in a meeting.
JSON Configuration
Joining meetings
To have agents using JSON configuration files join a meeting without having to make additional API calls, you can pass the meeting link by requesting a workstation via the dashboard, or using the 'Request workstation' endpoint:
curl -L -X POST 'https://api.agentstation.ai/v1/workstations' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
--data-raw '{
"agentId": "009c5634-y23d-12d3-a456-037614283000",
"meetingUrl": "https://zoom.us/j/1234567890",
}'
Other meeting actions
In the JSON configuration file, you can then configure the agent to share and stop sharing their screen as part of tasks
.
Below is an example of a JSON configuration topic
that includes the agent speaking, sharing its screen, and navigating to a URL in the browser within a Zoom meeting:
{
"name": "Introduction",
"description": "You are joining the call, saying hello and asking for the person's name and company.",
"priority": 1,
"required": true,
"next": [
"Ask Role"
],
"max_count": 1,
"tasks": [
{
"type": "speak",
"copy": "Hi there! I'm Max. I'm excited to give you an overview of what the AgentStation platform can do. Let's dive in!"
},
{
"type": "share_screen",
"selector": "button[aria-label=\"Share Screen\"]"
},
{
"type": "go_to_url",
"url": "https://www.addmax.ai/"
},
{
"type": "question",
"copy": "To start, could you tell me your name?"
}
],
"optional_response": true
}
For a full description of all meeting-related parameters within the JSON configuration file, refer to the JSON configuration guide.