When you start a verification, the console queues a branded invite automatically. This page covers resending, customizing, and tracking it.

## Send the invite email

The first invite is sent inline with [verification creation](/guides/verification/create-a-verification). The message is composed from the workflow template's `messaging.invite` copy, branded with the snapshot's effective branding, and queued in the same transaction that wrote the verification record.

The applicant receives a greeting, a CTA button that opens their [invite link](/guides/verification/one-time-links), and an expiry line.

## Copy the invite link

On the new applicant response panel and on the applicant detail page, the applicant URL is shown alongside a QR code. The link points at the verify app's `/v/<code>?o=<otl>` resolver; see [How an invite link works](/guides/verification/one-time-links) for what the applicant has to do.

Share the link through any channel you trust. The link is single-use, so the first human click consumes it; see [troubleshooting](#troubleshooting) below if a resend lands on "link expired".

## Customize the invite message

You can customize invite copy at two levels:

- **Per-workflow-template (durable).** Edit the workflow template's invite subject and body in the workflow template editor. New verifications inherit the new copy. See [Create a workflow template](/guides/workflows/workflow-templates-create).
- **Per-send (one-off).** The new applicant form has optional "Customize invite email" fields that override the workflow template copy for one send.

When per-send fields are blank, the send falls back to the workflow template's `messaging.invite`. When the workflow template has none, it falls back to the platform default copy.

## Resend or revoke

Open the applicant detail page and click **Resend invite**. The endpoint:

- Re-derives the recipient by decrypting the stored email envelope. You cannot pass a different address.
- Reuses the existing invite link if it is still valid; otherwise generates a fresh one inline.
- Refuses the send if the verification has already reached `completed`, `awaiting_review`, `expired`, or `cancelled` (`session_finished`).

Two anti-spam guards apply:

- **Cooldown.** A resend within 60 seconds of the previous send is rejected as `rate_limited`.
- **Daily cap.** Five resends per verification per rolling 24 hours.

To revoke an outstanding invite, cancel the verification (which finishes it and rejects further sends). To invalidate an unclicked link without cancelling, regenerate the link from the detail page.

## Check the email log

Delivery signals are surfaced on the applicant detail page and in the activity feed. A dedicated [Email log](/developers/email-log) lists every outbound email by workflow template, status, and timestamp.

## Troubleshooting

- **"Link expired" on first click.** The invite link is valid for 24 hours from issue. Ask the applicant to self-service on the expired page, or resend.
- **Email never arrives.** Check the activity feed for `kyc.invite.sent`. If present, ask the applicant to check spam.
- **`no_recipient` on resend.** The verification has no email address on file. Cancel and recreate with one, or share the applicant URL directly.