Launch a sequence safely
Resolve the sequence
reply_search_sequences by name → resolve the exact sequenceId (ask the user if ambiguous).Inspect its channels
reply_get_sequence_steps → see which channels the sequence uses.Attach a mailbox (if email steps)
reply_list_email_accounts, then reply_assign_email_account_to_sequence if none is attached.Attach LinkedIn (if LinkedIn steps)
reply_list_linkedin_accounts, then reply_assign_linkedin_account_to_sequence; warn if the
account is unhealthy.Set a schedule
reply_list_schedules, then reply_assign_schedule_to_sequence if none is set.Optional AI SDR config
reply_attach_offer_to_sequence / reply_attach_playbook_to_sequence /
reply_attach_knowledge_base_to_sequence, then reply_set_sequence_reply_mode.Confirm, then start
reply_start_sequence — expect NoContacts / NoEmailAccounts / Archived if configuration
was skipped.Verify
reply_get_sequence_stats or reply_search_sequences to confirm it is Active.Add a contact to a sequence
Find the contact
reply_search_contacts by email or LinkedIn URL (the tool does not accept names — ask the user
for an email if that’s all you have).Create if missing
reply_create_contact (needs a name plus at least one
of email/LinkedIn URL).Resolve the sequence
reply_search_sequences for the target sequence.Confirm, then enroll
reply_add_contact_to_sequence (up to 100 IDs; per-contact skips arrive in
NotProcessed, e.g. ContactAlreadyInSequence, ContactInBlackList).Verify
reply_get_contact_activity to verify enrollment.Supervise Jason in Review mode
Ensure Review mode
reply_set_sequence_reply_mode → Review (if not already).Read the queue
reply_list_pending_approvals — filter by sequence, owner, or channel.Act on each draft (addressed by sequenceId + contactId)
reply_approve_message(optionally overriding body/subject) — sends immediately;reply_regenerate_messagewith specific feedback to revise the draft;reply_reject_messageonly if the contact should leave the sequence entirely — rejection is irreversible and removes them from the sequence.
Bulk approve carefully
reply_bulk_approve_messages only after every draft in the batch was reviewed — the batch is
atomic: one stale reference rejects the whole batch and nothing is sent.Switch Jason to Autonomous
Verify configuration
Confirm explicitly
Switch
reply_set_sequence_reply_mode → Autonomous.Keep watching
reply_get_inbox_emails and reply_get_sequence_stats.Reply to an inbox thread
Find the thread
reply_get_inbox_emails (pagination only in v1 — no filters; previews only, not full bodies) →
resolve the exact threadId and note its channel.Draft and confirm
Send
reply_send_inbox_reply with the matching channel (Email or LinkedIn) — v1 supports message
body only (max 32,000 chars); no Cc/Bcc, attachments, or scheduling. Expect ChannelMismatch,
ContactOptedOut, or ThreadSendFailed as the named failure modes.Optionally categorize
reply_change_inbox_category to reflect the new state.Handle an unsupported request
Confirm no tool fits
tools/list can do it.Check the app map
reply_get_app_map — the action may be a UI-only setting; return the exact in-app link.Check the Help Center
reply_search_knowledge_base + reply_get_knowledge_base_article — answer a how-to and cite
the source.Report if truly missing
reply_report_unsupported_request with a stable kebab-case
requestKey and a category from its enum — then tell the user plainly you cannot do it. Offer
the REST API if it covers the gap.