Sending Invitations
Owners and admins can invite new members to join their organization:Email Sent Automatically
An invitation email is automatically sent to the recipient with a unique invitation link.
Invitation Validation
The system performs several checks before creating an invitation:Email Format Validation
Duplicate Prevention
The system checks:- Existing Members: User is not already a member of the organization
- Pending Invitations: No pending invitation already exists for this email
Team Size Limits
Before sending an invitation, the system checks your organization’s member limit based on your subscription plan:Free Plan
Up to 3 members
Pro Plan
Up to 10 members
Max Plan
Unlimited members
Invitation Properties
Each invitation has the following properties:- Token: A unique 32-character random token for security
- Email: The recipient’s email address (stored in lowercase)
- Role: Either
owneroradmin - Status:
pending,accepted,expired, orrevoked - Expiration: Invitations expire after 7 days
- Rate Limiting: Invitations can be resent once every 15 seconds
Managing Invitations
Viewing Pending Invitations
Owners and admins can view all pending invitations for their organization:Resending Invitations
If the recipient didn’t receive the email or the invitation expired:- Extends expiration by another 7 days from the current time
- Sends a new email to the recipient
- Rate limited to once per 15 seconds to prevent spam
If you try to resend too quickly, you’ll see:
Revoking Invitations
Cancel a pending invitation before it’s accepted:Accepting Invitations
When a recipient receives an invitation email, they can accept it by:Acceptance Validation
The system validates:- Token Validity: The invitation token must exist and be valid
- Status Check: Only pending invitations can be accepted
- Expiration: Invitation must not have expired (auto-marked as expired if time has passed)
- Email Match: The logged-in user’s email must match the invitation email
- Duplicate Membership: User is not already a member of the organization
Invitation Notifications
When someone accepts an invitation and joins your organization:- Notification Sent: All existing organization members receive an in-app notification
- Notification Type:
MEMBER_JOINED - Includes: The new member’s name and email
Invitation Email Template
Invitation emails are sent via Plunk and include:- Organization name
- Inviter’s name
- Recipient email
- Unique invitation link
- Expiration notice
Common Scenarios
Scenario 1: Inviting Multiple Team Members
Scenario 2: Promoting an Admin to Owner
Invitations are only for new members. To change an existing member’s role, use:Scenario 3: Re-inviting a Former Member
If someone left the organization, you can send them a new invitation. Their old organizer record is soft-deleted, and accepting creates a new one.Best Practices
Double-Check Email Addresses
Verify email addresses before sending invitations to avoid sending to wrong recipients.
Monitor Pending Invitations
Regularly review and revoke stale invitations that haven’t been accepted.
Communicate with Recipients
Let team members know they’ll receive an invitation email to avoid it being missed or marked as spam.