What is a Supabase invite user email template?
Supabase sends an invitation email when you call inviteUserByEmail() from your server-side code. The invited user clicks the link to set their password and activate their account — without going through a standard signup flow.
This template is designed in Figma and exports as HTML ready to paste into your Supabase Auth dashboard. All variables are pre-configured.
The full Figma file with all 12 Supabase auth email templates (including this one) is available at the Supabase email templates hub →
Supabase variables used in this template
| Variable | Description |
|---|---|
{{ .ConfirmationURL }} |
The invitation acceptance link — use as the href on your CTA button |
{{ .Token }} |
6-digit OTP code (alternative to the link) |
{{ .TokenHash }} |
Hashed token for constructing custom invitation URLs |
{{ .SiteURL }} |
Your app's site URL |
{{ .Email }} |
The invited user's email address |
{{ .RedirectTo }} |
The redirect URL passed in inviteUserByEmail() |
How to add this template to Supabase
- Duplicate the Figma file and customize with your brand and invitation copy
- Open Marka Email Generator plugin, select the invite user frame, click Export HTML
- In Supabase Dashboard: go to Authentication → Email Templates
- Select Invite user
- Paste your HTML into the Body field
- Click Save
Customization tips
Invitation context Unlike other auth emails, invitation emails are often sent by a human (an admin inviting a teammate) rather than triggered by the user's own action. Make this clear in the copy: "You've been invited to join [App Name] by your team admin."
Accept button link
Set the CTA button to link to {{ .ConfirmationURL }}. After clicking, the user is redirected to your app where they can complete their profile and set a password.
Sender name
Since invitations come from admins, consider showing who sent the invite in the email body. You can pass metadata in inviteUserByEmail() options and render it using {{ .Data }} if your Supabase version supports it.
Link expiry Invitation links expire based on your project's OTP expiry setting. Add an expiry notice and a "contact your admin to resend" instruction for users who delay accepting.
Frequently asked questions
Who can call inviteUserByEmail()?
This function requires the service_role key — it must be called from your server-side code, not from the browser. Use it in admin panels, onboarding workflows, or any server-side invite flow.
What happens when the invited user clicks the link?
They're redirected to your redirectTo URL with a session established. Use supabase.auth.onAuthStateChange() to detect the session and prompt them to complete their profile or set a password.
Can I invite users to a specific team or organization?
Not directly via Supabase Auth — but you can pass metadata in the inviteUserByEmail() options and handle the team assignment logic in your app after the user accepts the invitation.
Can I resend an invitation?
Yes — call inviteUserByEmail() again with the same email address. Supabase will generate a new invitation link and send a new email.


















