---
name: bijection-convex-invite-links
description: "Evaluate and integrate the Convex Invite-links component with Bijection."
---

# Convex Invite-links

Membership and invite management for Convex — shareable invite links with expiration, email locking, and group access control.

This is an upstream package. It has not been adapted or qualified for Bijection.

- Package: convex-invite-links
- Source: https://github.com/TimpiaAI/convex-invite-links
- npm: https://www.npmjs.com/package/convex-invite-links
- Directory: https://bijection.com/components/convex-invite-links

Read the upstream README for setup, license, and compatibility before using it.

## Integration workflow

1. Read the source README and package manifest at the recorded revision.
2. Confirm the required SDK, dependency availability, and runtime compatibility.
3. Follow the component's documented setup and configuration. Never invent an npm install command from a catalog package name.
4. Keep credentials in the project's existing secret store.
5. Follow the project's execution rules for verification and report what was actually checked.

## Original upstream skill

The following guidance describes convex-invite-links. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


# convex-invite-links

## Instructions

Use convex-invite-links to add invite links and membership management to convex apps with shareable urls, email locking, expiration, and role-based access control. This Convex component integrates directly with your backend.

### Installation

```bash
npm install convex-invite-links
```

### Capabilities

- Skip building invite systems from scratch with pre-built membership tracking and invite lifecycle management
- Control access with email-locked invites, configurable expiration, and automatic cleanup via cron jobs
- Integrate seamlessly with HTTP routes for social preview metadata and direct invite URL handling
- Manage group and resource-level permissions with TypeScript-safe APIs for roles and access control

## Examples

### how to add team invite links to Convex app

Use convex-invite-links to create shareable team invite URLs with makeInvite() and handle acceptance with claimInvite(). The component automatically manages membership tracking, email verification, and access granting when users click invite links.

### Convex membership management with roles

The convex-invite-links component provides isMember(), hasAccess(), and role-based group management. Create invites with metadata for roles, then use getAllGroups() and getAllMembers() to query membership across your app.

### expire and revoke invite links in Convex

Set expiration times when creating invites with makeInvite(), then use revokeInvite() to manually invalidate specific invites. Schedule deleteOldInvites() in Convex cron jobs to automatically clean up expired invites.

### social preview for invite links Convex

Use the handleInviteWebhook HTTP handler to serve invite pages with og:title and og:description metadata. When users share invite URLs, social platforms will display custom preview cards with your app name and invite details.

## When NOT to use

- When a simpler built-in solution exists for your specific use case
- If you are not using Convex as your backend
- When the functionality provided by convex-invite-links is not needed

## Troubleshooting

**Can I restrict invites to specific email addresses?**

Yes, convex-invite-links supports email-locked invites. When creating an invite with makeInvite(), pass an email parameter to restrict claiming to that specific email address. The claimInvite() function will validate the email match before granting access.

**How do I check if a user has access to a resource?**

Use the hasAccess() query function from convex-invite-links to check resource-level permissions, or isMember() to verify group membership. Both functions take a userId and return boolean results for authorization checks in your Convex queries and mutations.

**Does this component handle invite URL generation automatically?**

The convex-invite-links component provides makeInviteUrl() to generate shareable URLs from invite tokens, and inviteFromUrl() to parse tokens from incoming requests. You configure the base URL during initialization and the component handles token generation and parsing.

**Can I add users to groups without sending invites?**

Yes, convex-invite-links includes direct membership management with addMember() and grantAccess() functions. These bypass the invite process and immediately add users to groups or grant resource access, useful for admin actions or programmatic membership changes.

**How do I clean up old expired invites?**

Use the deleteOldInvites() mutation from convex-invite-links in a scheduled Convex cron job. Pass an olderThanMs parameter to specify the age threshold, and the component will remove expired, claimed, and revoked invites older than the specified time period.

## Resources

- [npm package](https://www.npmjs.com/package/convex-invite-links)
- [GitHub repository](https://github.com/TimpiaAI/convex-invite-links)
- [Live demo](https://invite-links-demo.vercel.app)
- [Convex Components Directory](https://www.convex.dev/components/convex-invite-links)
- [Convex documentation](https://docs.convex.dev)