Skip to content

Preflight

Run a read-only OutboundSync launch-readiness check from your agent: CRM OAuth, Sources and sync, and SEP inbound webhook wiring — see blockers before you go live.

When to use: Ask your agent before you turn a campaign on — “am I ready to launch?”, inbound Sources webhook wiring (SEP paste URLs), CRM sync, or account-status readiness. For OutboundSync-emitted Sync Monitoring Webhooks, use the Sync monitoring skill or Webhooks.

Preflight is a read-only launch check. It looks at CRM OAuth, whether Sources and sync are enabled, and (when it can) mailboxes, inbound SEP webhook wiring, and campaigns on your sales engagement platforms. It does not send mail, change Sources or Webhooks, or write to your CRM.

“Webhook wiring” here means the SEP → OutboundSync Sources paste URL — not Platform access → Webhooks (Sync Monitoring). Agent skill for Sync Monitoring: Sync monitoring. Product docs: OutboundSync webhooks.

Do not confuse this with CRM analysis, which reads engagement fields already in HubSpot or Salesforce and does not call the OutboundSync API. For API vocabulary and routing, see API.

Before you turn a campaign on
You

Am I ready to launch? Check CRM sync and Sources webhook wiring.

AgentSkill · preflight

I’ll run a read-only launch check across CRM OAuth, Sources/sync, and your sales engagement platforms — then give you a Ready / Not ready report with next steps.

  • A clear Ready or Not ready verdict
  • A status gauge across CRM, OutboundSync, and each detected platform
  • Short cards explaining what passed or blocked
  • A Next list only when something still needs fixing (with paste URLs only when you need them)

Instantly is partly wired and Smartlead has no API, so it is marked manual rather than passed. Illustrative data — more states in examples.md.

## Not ready to launch
```text
Overall ████████████░░░░░░░░ 3/5 · not ready · 1 manual
CRM ████████████████████ ✓ ready
OutboundSync ████████████████████ ✓ ready
Instantly ███████░░░░░░░░░░░░░ ✗ 1/3
Smartlead ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ · manual — verify in UI
```
### CRM — HubSpot
`Connection 177 · outboundsync.com · org 123`
- ✓ Connected — HubSpot OAuth ready
- · Capabilities: sync on · destinations on · blocklists on
- · Integration config: instantly → company ✓ · task ✓ · owner ✓; smartlead → company ✓ · task ✗ · owner ✓
- · Destinations (forwarding, not CRM writes): 1 endpoint — Clay → EMAIL_SENT, EMAIL_REPLY
- · Blocklists: not_configured
### OutboundSync
`HubSpot · outboundsync.com`
- ✓ Sources + sync enabled
### Instantly
`Connection 177 · …/webhooks/ac2346f2`
- ✓ 2 active mailboxes
- ✗ No exact-match campaign webhook
- ✗ No sendable campaign
### Smartlead
`Connection 177 · 2 sources`
- · Select the intended source and verify the campaign webhook in Smartlead
### Next
1. Wire the Instantly source URL as an all-events webhook and attach it to the campaign
`https://app.outboundsync.com/webhooks/ac2346f2-e429-42fe-a6d4-70f56fca8f21`
2. Configure a sendable campaign (sequence, senders, leads, schedule)
3. Confirm the intended Smartlead source and its campaign webhook
  1. Put an OutboundSync API key in $OUTBOUNDSYNC_API_KEY (Creating API keys · Install), or connect OutboundSync MCP in your harness (same Bearer key).
  2. Install the skill:
Terminal window
npx skills add outboundsync/skills --skill preflight -g

Full Cursor / Claude Code / Codex notes: Install skills.

Security: never print or commit the API key; preflight never activates or re-points anything. Full procedure and examples: skills/preflight/.

Last updated: