Skip to content

Conversation

@yuvrajangadsingh
Copy link

Summary

  • Adds ability to type email addresses in the team event-type assignment dropdown
  • Supports comma-separated emails for bulk invites
  • Email invites are visually distinguished with "(invite)" label and italic styling

Changes

  • Updated CheckedTeamSelect to use CreatableSelect for email input
  • Added email validation and comma-separated email parsing utilities
  • Added isEmailInvite and email fields to Host and CheckedSelectOption types
  • Passed allowEmailInvites prop through AddMembersWithSwitch component chain
  • Enabled email invites in EventTeamAssignmentTab for both fixed and round-robin hosts

Test plan

  • Go to team event type settings → Assignment tab
  • Type an email address in the host selection dropdown
  • Verify the email is validated and shown with "(invite)" label
  • Test comma-separated emails (e.g., "[email protected], [email protected]")
  • Verify duplicate emails are not added
  • Verify existing team member emails are detected

Closes #13532

/claim #13532

- Update CheckedTeamSelect to use CreatableSelect for email input
- Add email validation and comma-separated email parsing
- Add isEmailInvite and email fields to Host and CheckedSelectOption types
- Pass allowEmailInvites prop through AddMembersWithSwitch
- Enable email invites in EventTeamAssignmentTab for both fixed and round-robin hosts

Closes calcom#13532
@github-actions github-actions bot added $20 community Created by Linear-GitHub Sync event-types area: event types, event-types Low priority Created by Linear-GitHub Sync teams area: teams, round robin, collective, managed event-types ✨ feature New feature or request 💎 Bounty A bounty on Algora.io 🙋🏻‍♂️help wanted Help from the community is appreciated labels Jan 17, 2026
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

3 issues found across 4 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="apps/web/modules/event-types/components/tabs/assignment/EventTeamAssignmentTab.tsx">

<violation number="1" location="apps/web/modules/event-types/components/tabs/assignment/EventTeamAssignmentTab.tsx:231">
P2: Email invite hosts all use userId=0, but updatedHosts matches only on userId, causing later email invites to reuse the first invite’s groupId/scheduleId</violation>
</file>

<file name="apps/web/modules/event-types/components/CheckedTeamSelect.tsx">

<violation number="1" location="apps/web/modules/event-types/components/CheckedTeamSelect.tsx:109">
P2: Duplicate emails in a single comma-separated input aren’t deduped, allowing identical invite entries to be added in one create action.</violation>

<violation number="2" location="apps/web/modules/event-types/components/CheckedTeamSelect.tsx:148">
P1: React-select props from callers (e.g., isOptionDisabled, controlShouldRenderValue) are no longer forwarded, causing regressions like allowing disabled options to be selected.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

- Forward caller props to CreatableSelect (isOptionDisabled, etc.)
- Dedupe emails in comma-separated input
- Fix userId=0 collision by matching email invites by email
@yuvrajangadsingh
Copy link
Author

@cubic-dev-ai please re-review

@cubic-dev-ai
Copy link
Contributor

cubic-dev-ai bot commented Jan 17, 2026

@cubic-dev-ai please re-review

@yuvrajangadsingh I have started the AI code review. It will take a few minutes to complete.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 4 files

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

Labels

🙋 Bounty claim 💎 Bounty A bounty on Algora.io community Created by Linear-GitHub Sync event-types area: event types, event-types ✨ feature New feature or request 🙋🏻‍♂️help wanted Help from the community is appreciated Low priority Created by Linear-GitHub Sync size/L teams area: teams, round robin, collective, managed event-types $20

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CAL-3076] allow emails and invite people to a team event-type directly from "assignment" if not in team yet

1 participant