Skip to content

Approval request didn't auto-fire after Generate export

After you click Generate export, the platform automatically emails an approval request to the client's first active approver — within ~30 seconds. When that doesn't happen, this is almost always one of four things; work them top to bottom.

1. The client has no active approver

The auto-fire path needs at least one client contact with Can approve ticked and Is active set. If the client has only submitter contacts (or the approver was deactivated since the last cycle), the platform has no one to address the email to and the auto-fire is a no-op.

Check: open the client (from Clients in the sidebar) → Contacts tab. Filter by Can approve = Yes and Active. If the result list is empty, that's your cause.

Fix:

  1. Add or activate at least one approver contact via Add or edit client contacts.
  2. Return to the cycle and click Request approval manually — see Request client approval. The auto-fire only runs once at export time; you have to trigger it manually after fixing the contacts.

TIP

When multiple approvers are active, the platform picks the first one alphabetical by name. If you need a specific approver to receive this round, use the manual Request approval button — it lets you pick.

2. The email failed or bounced

The email was queued but the SMTP provider rejected it (or the recipient's server bounced it).

Check: open the Outbox in the staff dashboard, filter by the client and template approval-request, sort by Created descending. The most recent row's Status column tells you:

  • Failed — SMTP-level rejection. Click into the row for the error detail.
  • Bounced — provider accepted but the recipient's mailbox rejected it (usually a wrong address).

Fix:

  • For Bounced, fix the approver's email on the contact record via Add or edit client contacts, then click Request approval on the cycle to retry.
  • For Failed with a transient error, retry by clicking Request approval — most transient SMTP errors clear within minutes.
  • For repeated failures across multiple sends, it's a deliverability issue, not a per-cycle problem — see The client says they didn't receive the email.

3. The email is stuck in Pending

The Outbox row exists but the dispatcher hasn't drained it.

Check: the row's Status is Pending and Created is more than 5 minutes old.

Fix: the dispatcher itself is stuck — anything in Pending longer than 5 minutes means the cron has fallen behind or failed. Escalate via the Outbox stuck runbook. Don't manually resend — that just queues another row that will also stick.

4. There's no Outbox row at all

The export finished but the downstream approval.requested event never fired. Rare but possible.

Check: open the cycle's Audit tab and look for two events near the export timestamp:

EventMeaning
export.generated present, approval.requested missingThe export ran but the auto-fire path didn't trigger downstream
Both missingThe export itself didn't actually complete — go to The Generate export button is greyed out and verify the cycle status is EXPORTED
export.generated present, approval.requested present, no Outbox rowThe audit recorded it but the outbox insert failed

Fix:

  • If export.generated fired but approval.requested didn't, you can recover by clicking Request approval manually on the cycle. The auto-fire path is a convenience — the manual path produces the same result.
  • If neither event fired, the export didn't actually complete. Re-trigger from the export tab.
  • If approval.requested fired but no Outbox row exists, escalate to the on-call engineer — that's an outbox-write failure that should never happen silently.

Still not finding it?

If you've worked through all four and the approver still hasn't received anything:

  • Confirm the approver is actually checking the right inbox (sometimes clients give us a personal email but check a corporate one).
  • Confirm the approval-request email isn't being filtered into spam or a corporate quarantine on the recipient side. The platform sends from a single domain — ask their IT to whitelist it.
  • For deeper deliverability investigation, see The client says they didn't receive the email.

If the approval round is genuinely open and the approver genuinely never got the link after 24+ hours of investigation, mint a fresh link manually and call them — see Request client approval.

Internal use only — BreezyCorp