Attendee
Attendee is an open-source meeting bot API: it sends a bot into a Zoom, Google Meet or Microsoft Teams call to record and transcribe it, stream its audio, and speak, show media or chat in it.
Authentication
- API key
Actions
Generic API request. Call any Attendee API endpoint on this connection, for the case where no shipped action covers it yet. The connection supplies the base URL, the authentication and the egress route, so only the path, query and body are yours to fill.
- Create botSend an Attendee bot into a Zoom, Google Meet or Microsoft Teams meeting to record and transcribe it, stream its audio, or speak and chat in it.
- Create calendarConnect a user's Google or Microsoft calendar to the project with your own OAuth application's client and the user's refresh token.
- Create Zoom OAuth connectionRegister a Zoom user's authorization of your Zoom app with Attendee, by exchanging the authorization code from your OAuth redirect.
- Delete bot dataDestructivePermanently delete everything a bot captured — recording, transcript, participants and chat — keeping only its metadata.
- Delete calendarDestructiveDisconnect a calendar from the project and permanently delete it with its synced events.
- Delete scheduled botDestructiveDelete a bot that is still scheduled, so it never joins its meeting.
- Delete Zoom OAuth connectionDestructiveDelete a Zoom OAuth connection, so Attendee stops minting tokens for that Zoom user.
- Get botRead one bot: its meeting URL, current state, recording and transcription state, every lifecycle event so far, scheduled join time, deduplication key and metadata.
- Get calendarRead one connected calendar: platform, connection state, last successful and attempted sync, any connection failure, deduplication key and metadata.
- Get recordingGet a short-lived download URL for a bot's recording, once the bot has ended and post-processed it, with the time recording started.
- Get transcriptRead a bot's transcript as a list of utterances — speaker, start time, duration and text.
- Get Zoom OAuth connectionRead one Zoom OAuth connection: its Zoom user and account id, state, token capabilities, last token sync and any connection failure.
- Leave meetingDestructiveMake a bot leave its meeting now.
- List botsList the project's bots, oldest first, with each one's meeting URL, state, recording and transcription state, lifecycle events and metadata — filtered by state, meeting URL, deduplication key or scheduled join time.
- List calendar eventsList the events Attendee has synced from the project's calendars — name, meeting URL, start and end, attendees, deletion flag and the bots scheduled for each — filtered by calendar, time window or last update, or one event by id.
- List calendarsList the Google and Microsoft calendars connected to the project, with each one's connection state, last sync and any connection failure — optionally only the one with a deduplication key.
- List chat messagesList the chat messages a bot has seen in its meeting — text, sender, whether it went to everyone or only the bot, and when.
- List participant eventsList when participants joined and left a bot's meeting (and started or stopped speaking, where the platform reports it), with who and when — optionally within a time window.
- List participantsList the people a bot has seen in its meeting — name, participant uuid, platform account id and whether they host — optionally only the host or one participant.
- List Zoom OAuth connectionsList the project's Zoom OAuth connections — Zoom users who authorized your Zoom app so Attendee can mint tokens for bots joining their meetings — with each one's Zoom user and account id, state and token capabilities.
- Output audioPlay an MP3 file through the bot's microphone in the meeting, once.
- Output imageShow an image as the bot's video in the meeting until another image or video replaces it.
- Output videoPlay an MP4 video from a URL as the bot's webcam (and, unless muted, through its microphone) in the meeting.
- Pause recordingDestructivePause a bot's recording while it stays in the meeting; nothing is recorded until attendee:resumerecording.
- Resume recordingDestructiveResume a bot's paused recording.
- Send chat messagePost a message in the meeting chat as the bot, which must be in the call — to everyone, to everyone but the host, or privately to one participant.
- SpeakMake the bot say a text aloud in the meeting with Google text-to-speech.
- Update botDestructiveChange a bot.
- Update calendarDestructiveReplace a calendar's OAuth client secret or refresh token — the way to reconnect a calendar that went disconnected — or its metadata.
- Update voice agent settingsDestructiveStart, switch or stop the voice agent web page a bot runs mid-meeting: the page's audio and video play in the call and the meeting audio reaches it as its microphone.
Triggers
- Bot state changedStarts on every step of a bot's lifecycle (bot.statechange) — joining, waiting room, recording, leaving, post-processing, ended, fatal error — with the old and new state and the event behind it.
- Calendar connection state changedStarts when a connected calendar's connection state changes (calendar.statechange) — typically when its OAuth refresh token stops working and it goes disconnected — with the failure.
- Calendar events updatedStarts after each successful sync of a connected calendar (calendar.eventsupdate), with the calendar and its sync state.
- Chat message receivedStarts for each chat message a bot sees in its meeting (chatmessages.update), with the text, the sender and whether it was sent to everyone or only to the bot — for answering questions put to the bot in the chat.
- Live meeting audioStarts when an Attendee bot joins its call and streams the meeting's mixed audio into the workflow as it is spoken.
- Live meeting conversationStarts when an Attendee bot joins its call, streams the meeting's mixed audio into the workflow, and plays the audio the workflow returns as the bot's voice in the meeting.
- Participant joined or leftStarts when someone joins or leaves a meeting a bot is in (participantevents.joinleave), with who and when — for attendance tracking or acting when a particular person arrives.
- Participant started or stopped speakingStarts when a participant in a bot's meeting starts or stops speaking (participantevents.speechstartstop), with who and when — for talk-time tracking or turn-taking in a voice agent.
- Transcript updatedStarts for each new utterance in a bot's live transcript (transcript.update), with the speaker, start time, duration and text — for acting on what is said while the meeting runs.
- Zoom OAuth connection state changedStarts when a Zoom OAuth connection's state changes (zoomoauthconnection.statechange) — typically when the Zoom user revokes your app and it goes disconnected — with the Zoom user and account and the failure.
Product names, logos and brands are the property of their respective owners and are used here for identification only. Their use does not imply endorsement by, or affiliation with, those owners.