EmailBison-style sequencing flow adapted for Microsoft Graph mailbox routing.
Loading workspace...
No mailboxes are available in the current workspace.
This is usually a workspace selection problem, not a campaign problem. Switch to the workspace that already has mailbox inventory, or import mailboxes first.
Start with the campaign name and choose the draft you want to work on.
Draft saved as you decide
Campaign name only
Simple setup
Start with one decision, like the Loom walkthrough: name the campaign, then continue to leads. No advanced settings are required here.
No email is sent here · draft campaign only · live_sends_enabled:false
Advanced diagnostics
For operators only. These panels are hidden by default so the main workflow stays simple and ordered.
Existing drafts / manual campaign selection
Campaign management
Draft only
Create draft campaign records and choose the active draft before attaching recipients or mailboxes. This removes manual campaign ID entry from the normal operator flow.
Active draft campaigncampaigns/$1 · manual campaign ID fallback
internal-test-send/dry-run · internal-test-send/attempts · no email sent
Inbound Reply Review live
Loading live reply data...
guided-campaign-builder-simple currentCampaignStep Save progress Advanced diagnostics sequenceStepsDraft.length Render preview per contact Manual compliance option CSV-derived merge fields Available workspace mailboxes Search mailboxes Filter by domain Showing all workspace mailboxes Showing all verified mailboxes Select all visible mailboxes Clear selected mailboxes Sender account merge fields {{sender_first_name}} {{sender_last_name}} {{sender_email}} {{sender_domain}} {{sender_company}} {{sender_company_url}} {{sender_phone}} Time-of-day greeting {Hello|Hi|Hey} {Thank you|Have a good day|Best,} {{time_of_day_greeting}} Compliance warnings compliance-preflight draft-send-queue internal-test-send/dry-run internal-test-send/attempts send-gate suppression-actions-preview inbound-reply-review campaign_error_state_no_send campaign_sender_rbac_draft_only can_launch:false live_sends_enabled:false graph_send_called:false MailboxSelectionPanel RecipientSelectionPanel SequenceStepsPanel Backend-authoritative merge fields unknown merge fields Hosted unsubscribe URL Signed URL expires can_send:false 420 selected verified mailboxes Campaign readiness No-send route preview Ready recipients Ready vs blocked recipients Launch disabled Draft send queue Queue rows 3 draft queue items No Graph sendMail called draft_ready Daily caps respected 2 days required No queue item is live 2 draft_ready 1 hard_bounce 0 draft_held Hold draft item Release draft item Delete draft item Inbound sync preview Replies found Bounces found Unsubscribes found No sendMail called during inbound sync Hard bounces to suppress Unsubscribes to suppress Replies to pause Complaints require global suppression Hold affected draft queue rows Applied count Created suppressions Held queue items No sendMail called for inbound safety actions Live-send gate Send gate locked Graph send disabled Emergency stop active Internal test allowlist required Launch preflight blocked No Graph send path is reachable Dry-run only Allowed test recipients required Graph send not called Live send disabled Attempt audit recorded No internal test email is sent in dry-run internal_test_send_dry_run_no_send Internal test attempt history Latest attempts Dry-run selected queue item graph_send_called:false for blocked/dry-run attempts Internal test send gate Internal test approval state Exact approval status Missing blockers Real internal test send action disabled Disabled real-send action — no active send button is present Future approval checklist Safety warnings before any gated internal send Explicit approval required One allowlisted recipient Campaign launch still disabled Graph sendMail gated internal_test_send_sent_one_allowlisted No actual internal test email has been sent from this UI Campaign lifecycle status Operator mission control Audience lifecycle Sender pool lifecycle Queue lifecycle Inbound feedback lifecycle Launch gate lifecycle Safety flags lifecycle queue_live_enabled:0 Can I safely proceed? Blocked work Ready to review catholicmen.pro launch_remains_disabled_no_send_sprint compliance_preflight_no_send message_render_preview_api_no_send live_send_enabled:false schedule_preview_no_send_only Queue audit is draft-only Read-only Graph sync inbound_sync_read_only inbound_actions_preview_only inbound_actions_applied_no_send Suppression actions preview Outbound queue remains draft-only Attempt audit history internal_test_send_attempt_history_no_send No email sent — attempt history refreshed after dry-run approval_state_not_open Recipient allowlist blocker Verified mailbox/profile blocker Emergency stop blocker APPROVE_INTERNAL_TEST_SEND Campaign management Create draft campaign Select draft campaign campaigns/$1 Existing campaign steps loaded for editing Save sequence changes Sequence edits saved to selected draft campaign sequence_persistence_no_send manual campaign ID Inbound Reply Review live Live endpoint ready