TransIT AI

How-tos

Invite a teammate

Once you’ve bought a team plan, the admin portal at /admin/ lets you invite teammates by email. Each invite is bound to one tier (Operator / Pro / Max) and consumes one seat at that tier when accepted. Invites expire 7 days after they’re sent.

This page covers sending an invite, watching the list of open invites, and resending or canceling when something goes wrong.

Before you start

  • You must be owner or admin of the team. Regular members can see the portal exists but the page returns “Not authorized.”
  • You must have at least one unused seat at the tier you want the invite to consume. Seat counts live on the Billing page; an invite consumes a seat immediately (it doesn’t wait for acceptance — otherwise members could accept past the seat cap).

Steps — send an invite

  1. Open the admin portal.
  2. Click Invites in the admin nav.
  3. Click Invite a teammate.
  4. Enter:
    • Email — where the invite link is sent.
    • Tier — Operator, Pro, or Max. The dropdown only shows tiers with at least one unassigned seat plus tiers your team already owns. If a tier you want is missing, add a seat on Billing first.
    • RoleMember (the default; can use the product but can’t manage the team) or Admin (can do everything you can except cancel the subscription).
  5. Click Send invite.

The recipient gets an email titled “You’ve been invited to <your team’s name> on Transit AI” with a link. The link is unique to that invite — anyone with the link can claim the seat, so treat it like a credential.

The Open invites list

Below the invite form, Open invites shows everyone who hasn’t accepted yet:

ColumnWhat it means
EmailWhere the invite was sent
TierWhich tier seat is reserved for them
RoleAdmin or Member
SentWhen the invite was created
Expires7 days from “Sent”. After that the link stops working
ActionsResend (re-emails the same link) and Cancel (revokes the link, returns the seat to the pool)

The invite row disappears once accepted — head to Members to see the new joiner.

Resend an invite

The most common reason: the recipient says they didn’t get the email. Resend re-sends the same link, doesn’t generate a new one, and doesn’t reset the 7-day expiration clock.

Click Resend on the row. You’ll see a green confirmation. If the email still doesn’t arrive after a resend, check:

  • Recipient’s spam / junk folder
  • Recipient’s email provider’s bulk-mail filtering (some block any “click this link” email from a domain they’ve never seen)
  • The Email field for typos — a typo’d address means the link goes to a stranger or bounces

If none of those apply, email support@transitai.app with the invite recipient’s email and we’ll look at the delivery log.

Cancel an invite

Click Cancel on the row, confirm. The link stops working immediately and the seat returns to your unassigned pool. The recipient can no longer accept.

Cancel before re-inviting if you’ve changed your mind about which tier the seat should be at — you can’t change an open invite’s tier in place. Cancel the old, send a new one at the right tier.

What the recipient sees

They receive an email with a “View invite” link. Clicking it lands them on the Accept invite page on transitai.app, which:

  • If they don’t have a Transit AI account, walks them through sign-up and then accepts the invite.
  • If they already have one (personal subscription, say), signs them in and accepts. Their personal subscription is replaced with the team seat; we issue a prorated refund on the personal side.

See Accept a team invite for the full member-side walkthrough.

Troubleshooting

”Seat cap exceeded” when sending an invite

You have no unused seats at the chosen tier. Either:

  • Cancel an open invite at that tier, or remove a member at that tier, then retry, OR
  • Add a seat at that tier on Billing first.

”Invite already pending”

The email you entered already has an open invite. Find it in the Open invites list — resend or cancel it, don’t try to create a duplicate.

Invite expired (7 days passed)

Cancel the expired invite (the Cancel button still works on expired rows for cleanup) and send a new one.