Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meeting Bot #5249

Open
FelixMalfait opened this issue May 2, 2024 · 1 comment
Open

Meeting Bot #5249

FelixMalfait opened this issue May 2, 2024 · 1 comment
Assignees
Labels
blocked: design needed This doesn't seem right

Comments

@FelixMalfait
Copy link
Member

FelixMalfait commented May 2, 2024

1. Define env vars and pass them as client config
MEETING_BOT_PROVIDER=aimeetingbot
MEETING_BOT_API_KEY=xxxx
Pass the meeting bot provider to the frontend in clientConfig.

Note this is a standard across our codebase, we use a “driver based” approach for all external providers, even if there’s just 1 provider implemented.

2. Add an option to opt-in in integration page
Frontend: design will be confirmed by @Bonapara

Backend: we need to add a new billingSubscriptionItem to the subscription, which will track that the user has opted-in to the meeting bot extension. I think we need a custom resolver for that.

Related: #5247

3. Add an option to opt-in to MeetingBots in calendar settings
Frontend: design will be confirmed by @Bonapara. Conditionally display section "meeting bot" with a setting to define when meeting bots should be automatically added to meetings
Backend: we need to introduce a new column on calendarChannel table, which we can call meetingBotAutoAttendance, values = NEVER, EXTERNAL_MEETINGS, ALL_MEETINGS

4. Add an option to toggle bot at the calendarEvent level
Frontend: basic dropdown/enum field (should come for free)
Backend: add field on calendarEvent, meetingBotShouldJoin, with values TRUE, FALSE, CHANNEL_SETTINGS

6. Call MeetingBot API for events to be logged
Create a listener on calendarEvent.created/updated/deleted and call the meeting bot API accordingly.
Meeting provider and link can be found on calendarEvent.conferenceLink and calendarEvent.conferenceSolution

5. Webhook at the end of calls
Create an endpoint /apps/aimeetingbot/webhook to receive webhook notifications
At the end of calls, we will create a new activity with type=note
We can easily import markdown to the body: https://www.blocknotejs.org/docs/editor-api/converting-blocks#parsing-markdown-to-blocks
We also need to call the Stripe API tu update usage metrics: https://docs.stripe.com/api/billing/meter-event/create

@Bonapara
Copy link
Member

Bonapara commented May 6, 2024

WDYT of this UX? (Will need advice for the wording that are mostly placeholders for now)

Index

image

Integration detail page

image

image

image

Calendar page

CleanShot 2024-05-06 at 15 10 37

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked: design needed This doesn't seem right
Projects
None yet
Development

No branches or pull requests

4 participants
@FelixMalfait @Bonapara @CoreTeamTwenty and others