Skip to content

feat(meet): auto-fill meeting display name from connected account#4297

Merged
graycyrus merged 1 commit into
tinyhumansai:mainfrom
graycyrus:feat/meeting-name-autofill
Jun 29, 2026
Merged

feat(meet): auto-fill meeting display name from connected account#4297
graycyrus merged 1 commit into
tinyhumansai:mainfrom
graycyrus:feat/meeting-name-autofill

Conversation

@graycyrus

@graycyrus graycyrus commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The "Your name in this meeting" field in Send OpenHuman to a meeting now auto-fills from the connected Composio account that best matches the meeting platform, so users don't have to retype their display name.
  • Added a single entry point resolveMeetingDisplayName(platform, connectionByToolkit) that walks a per-platform toolkit priority — own account → mailbox → blank (e.g. Google Meet: googlemeetgmail). Composio exposes only an account email, so the name is derived from the email local part (first.last@…First Last).
  • Prefill only happens while the field is empty/untouched (respondToTouchedRef), so a late-arriving Composio poll never clobbers manual input. The form's hardcoded 'gmeet' literal is now a typed platform const driving both the resolver and the join payload.

Notes

  • Composio has no display-name field on ComposioConnection (only accountEmail), hence the derive-from-email approach.
  • Slugs for non-Google platforms (zoom/microsoft_teams/outlook/webex) are best-effort; only gmeet is selectable in this form today, so a wrong slug just falls through to the next entry.

Test plan

  • Typecheck passes (pnpm typecheck)
  • Lint passes
  • Format passes
  • Build passes

Summary by CodeRabbit

  • New Features

    • Improved the meeting bot setup flow by auto-filling a more suitable “respond to participant” display name when available.
    • The form now better respects the selected meeting platform when starting a bot session.
  • Bug Fixes

    • Prevents automatic account data from overwriting manual edits in the “respond to participant” field.
    • Better handles connected account naming so the displayed value is more human-friendly.

Prefill 'Your name in this meeting' from the Composio account that best
matches the meeting platform (own account -> mailbox -> blank). Composio
exposes only an account email, so derive a 'First Last' display name from
the local part. Only prefills while the field is untouched, so it never
clobbers manual input.
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9fed333d-8129-4aa0-b89c-f6f4d4f48510

📥 Commits

Reviewing files that changed from the base of the PR and between d867c1f and 96ce168.

📒 Files selected for processing (1)
  • app/src/components/skills/MeetingBotsCard.tsx

📝 Walkthrough

Walkthrough

MeetingBotsInline now resolves a default "respond to participant" display name from Composio connected accounts using a new set of helpers that humanize email local-parts and apply a per-platform toolkit priority. A touch-guard ref prevents the prefill effect from overwriting manual user input, and platform is forwarded into joinMeetViaBackendBot instead of being hardcoded.

MeetingBotsInline Composio prefill

Layer / File(s) Summary
Display name resolution helpers and imports
app/src/components/skills/MeetingBotsCard.tsx
Adds imports for useComposioIntegrations, ComposioConnection, and MeetingPlatform, then defines humanizeEmail, a toolkit priority map per platform, and resolveDisplayName to pick the first usable name from connected accounts.
Inline form prefill effect and touch guard
app/src/components/skills/MeetingBotsCard.tsx
Adds respondToTouchedRef, pulls connectionByToolkit from useComposioIntegrations, computes resolvedDisplayName, runs an effect to pre-fill respondTo only when untouched, marks the ref on manual onChange, and passes platform to joinMeetViaBackendBot.

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • tinyhumansai/openhuman#3597: Modifies the same MeetingBotsCard.tsx join-modal flow and joinMeetViaBackendBot submit payload handling around respondToParticipant.
  • tinyhumansai/openhuman#4231: Also modifies MeetingBotsCard.tsx's inline submit flow calling joinMeetViaBackendBot, adding a wakePhrase field to the same payload this PR modifies.

Suggested labels

feature

Suggested reviewers

  • sanil-23

🐇 A name from an email, cleverly found,
Composio's accounts make the bot feel renowned.
If you type it yourself, the ref holds it tight,
No prefill will clobber your manual delight.
Platform now flows where it once was fixed — hooray! 🎉

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration.


Comment @coderabbitai help to get the list of available commands.

@graycyrus graycyrus marked this pull request as ready for review June 29, 2026 14:57
@graycyrus graycyrus requested a review from a team June 29, 2026 14:57
@graycyrus graycyrus merged commit 59502c2 into tinyhumansai:main Jun 29, 2026
13 of 15 checks passed
@coderabbitai coderabbitai Bot added the feature Net-new user-facing capability or product behavior. label Jun 29, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 96ce16854c

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

// mailbox, then blank. Slugs are canonical Composio slugs (see
// `canonicalizeComposioToolkitSlug`).
const NAME_SOURCE_TOOLKITS: Record<MeetingPlatform, string[]> = {
gmeet: ['googlemeet', 'gmail'],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Include Google Calendar in Meet name sources

For the Google Meet form, the common connected account is often googlecalendar (the calendar meeting flow is backed by Google Calendar, and the core's ComposioConnection.accountEmail enrichment explicitly covers Google Calendar), not googlemeet or gmail. With only a Google Calendar connection present, this priority list returns blank, so the required “Your name in this meeting” field does not auto-fill even though the matching connected account is available. Add the canonical googlecalendar slug to the gmeet sources before falling back to Gmail.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Net-new user-facing capability or product behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant