Inviting Clinicians to Your Agency
Once your BAA is signed, you can invite clinicians from the Members tab of your admin dashboard at /admin/agency. Two modes: Single and Bulk.
Single invite
Use this when you’re adding one clinician, or when you need to invite an Admin (not a Clinician).
Fill in:
- Full name (optional but recommended). Helps us greet them properly on day 1 — the in-app greeting reads “Hey [first name], notes time!” If you skip the name, the greeting falls back gracefully.
- Email (required). Where the invite is sent.
- Seat type — Base or Voice.
- Role — Clinician (uses the product only) or Admin (full agency-management access). Default is Clinician.
Click Send Invite. We send them an email with a single-click acceptance link.
If the email fails to deliver (SES rejection, spam suppression, bad address), the dashboard shows the failure clearly — the member entry is still created, but you’ll see an error like “Member added, but email to X failed to send — use Resend in the table once you’ve checked the address.”
Bulk invite
Use this when you have a list of clinicians to add at once. Up to 200 emails per batch.
Switch to the Bulk sub-tab. Paste emails, one per line. Each line can be:
- Just an email:
[email protected] - Email plus name:
[email protected], Jane Smith - Mailbox format:
Jane Smith <[email protected]>
The parser handles commas, semicolons, tabs, and angle brackets. Pick one seat type for the whole batch (the dropdown above the textarea).
Click Send Invites. You’ll see a per-email results table:
- sent — invite email went out
- skipped — already a member, or already invited
- error — email rejected, address is invalid, or you’re at seat capacity
Bulk invites always go out as Clinicians. To invite an Admin, use Single invite.
What the invited clinician sees
They receive an email titled “You’ve been invited to [your agency name] on SOAP Note Buddy” with a single button: Accept Invite.
Clicking it lands them on /agency-join, which:
- Auto-accepts the invite (the token in the URL is proof of ownership of the email)
- Activates their seat (status flips from
InvitedtoActive) - Signs them in automatically
- Redirects to a success page with a link to download the app or install the extension
No password to create. No code to enter. One click → activated.
Resending or re-inviting
If a clinician didn’t get their invite email (often spam) or their invite expired, you have two options in the Members table:
- Resend button next to any row marked
Invited— generates a fresh invite token, invalidates the old one, sends the email again. - Re-invite button next to any row marked
Blocked— converts a blocked entry (someone who tried to auto-join when full) into a normal invite. Generates a token, sends the email. They can accept once you’ve freed up a seat.
Both are also available even if the original email failed to deliver — useful for fixing typos. (Note: Single-invite blocks duplicate invites at the same email, so to “change the email” you’d Remove the existing entry and add a new one with the corrected address.)
Common gotchas
- “Already a member or invited” in bulk results = that email is already on your agency in some state (active, invited, pending, or blocked). The duplicate check protects against re-inviting the same person twice.
- “No available seats” = you’re at capacity for the requested seat type. Either add a seat first (Seats & Billing tab), enable Auto-Add Seats (Settings tab), or remove an existing inactive member.
- Email not arriving = check spam first; if confirmed missing, the address may be on the SES bounce-suppression list from a prior failed send. Verify the address is real and currently deliverable.
More on member statuses → More on domain auto-join (no explicit invite needed) →