Migrate from Instantly
One-time import of campaigns, sequences, leads, block list, and mailbox metadata from your Instantly v2 workspace into Superkabe.
What This Tool Does
The Instantly migration wizard performs a one-time, read-only copy of your Instantly v2 workspace into Superkabe. It pulls campaigns and their sequences (steps + A/B variants), every lead with its custom fields, your full block list (email + domain entries), and mailbox metadata (from-address and from-name).
It does not pull mailbox authentication credentials — Instantly's v2 API treats OAuth tokens and SMTP/IMAP passwords as write-only, so they cannot leave the source platform. After the import completes you will reconnect each mailbox in Superkabe before any sending begins.
Quick facts
- ▸ Free for all Superkabe tiers — no validation credits consumed during import
- ▸ Idempotent — re-run with the same key (within 24 hours) to resume after a failure
- ▸ Safe by default — every imported campaign lands in DRAFT / paused state
- ▸ Wizard URL:
/dashboard/migration/from-instantly
What Gets Imported vs. What Doesn't
Imported
- – Campaigns — name, status, schedule windows, daily limits
- – Sequence steps — subject line, HTML body, plain-text body, delay days/hours
- – A/B variants — every variant per step with its weight (no historical stats — variants restart fresh)
- – Leads — email address plus custom fields, mapped to Superkabe's lead schema
- – Block list — both exact-email and domain-level suppression entries
- – Mailbox metadata — from-address and from-name only
Not Imported
- – Mailbox OAuth tokens / SMTP credentials — security boundary (you reconnect in Superkabe)
- – Send history & engagement events from before migration
- – Instantly v1 (legacy) data — only v2 is supported
- – Inbox replies — Superkabe's inbox starts fresh
- – Custom analytics dashboards
- – Workspace-level settings — contact support if you need these transferred
Security Model
Your Instantly v2 API key is required only during the migration window. While stored, it is encrypted at rest using a per-organization key. Superkabe automatically discards the key when one of the following happens first:
- The import job finishes successfully (or is manually cancelled)
- 24 hours pass since you last submitted the key
You can also wipe the key on demand from the wizard via the Discard Key button. Every key lifecycle event (store, validate, discard) is recorded in the consent audit log alongside the workspace ID it authorised.
What scopes does the key need?
The wizard validates the key by calling GET /api/v2/workspaces/current. For the import itself, the key needs read access to: workspaces, campaigns, leads, accounts (mailboxes), blocklist, custom tags, and lead labels. A standard Instantly v2 workspace key already grants all of these.
Step-by-Step Walkthrough
The whole flow lives at /dashboard/migration/from-instantly. Plan on 10 minutes of hands-on time plus the background import (see the time estimates below).
1. Generate an Instantly v2 API key
In Instantly: Settings → API → Generate Key. Copy the key immediately — Instantly only shows it once. You must be on Instantly v2; legacy v1 workspaces are not supported (see Edge Cases below).
2. Validate the key
Paste the key into the wizard and click Validate Key. Superkabe pings Instantly's whoami endpoint to confirm the key works and surfaces your workspace name back to you. Common failure modes:
- 401 / 403 — key is invalid or revoked
- 402 — your Instantly workspace plan is inactive
- 503 — Instantly is temporarily unreachable; retry shortly
3. Preview what will be imported
Before any writes happen, the wizard runs a read-only summary against your workspace and shows you exact counts for each entity type:
campaigns · leads · block list entries · mailboxesLead counts are broken into five buckets — never contacted, stale contact, recent contact, opted out, completed — so you can see exactly what will land in Superkabe before you commit.
4. Start the import
Click Start Import. The job runs in the background and the wizard switches to a progress view with phase indicators:
campaigns → leads → block list → mailboxesYou can leave the page — progress is persisted server-side. Re-open the wizard at any time to see the current phase, percentage complete, and per-entity counts.
5. Reconnect your mailboxes
Imported mailboxes land in a disconnected state. Open /dashboard/sequencer/accounts, find each mailbox, and click Reconnect to re-grant access via Gmail OAuth, Microsoft 365 OAuth, or SMTP credentials.
6. Review imported campaigns
Every imported campaign lands in DRAFT / paused state regardless of its source state in Instantly. This is intentional — it guarantees no double-sending during cutover. Open /dashboard/campaigns, review the sequences and schedules, attach your reconnected mailboxes, and launch when you're ready.
Edge Cases & Known Limitations
| Scenario | Behaviour |
|---|---|
| Large workspaces (>100K leads) | Typically 30–60 minutes. The wizard shows phase-by-phase progress, including a per-phase ETA. |
| Instantly v1 (legacy) workspaces | Not supported. You must be on Instantly v2 — the v1 API surface is incompatible. |
| Open / click event history | Open timestamps are imported as engagement signals where available. Per-event click history is not currently mapped — Instantly does not expose it via REST. |
| Subsequence / branching triggers | Basic linear sequences are imported as-is. Complex reply-based branching may need to be rebuilt manually in Superkabe. |
| Custom field types beyond text/number/date | Coerced to text in Superkabe. The original value is preserved, but downstream filters may need to be re-typed. |
| Bounced / unsubscribed leads | Skipped on import — they remain in your block list rather than being re-enrolled. |
Time Estimate
- – Up to 25K leads: 10–30 minutes
- – 25K–100K leads: 30–60 minutes
- – 100K+ leads: 60–90 minutes
The wizard polls progress in real time, so you can leave the page open or come back later. Larger imports are paced to respect Instantly's rate limits (notably the 20 req/min cap on email-related endpoints).
Resuming a Failed Migration
The import is fully idempotent. Every imported entity carries an import_external_id from Instantly, and re-runs upsert on that ID — already-imported records are skipped, and only the missing tail is pulled.
- Within the 24-hour key TTL, click Restart Import in the wizard to resume from where it stopped.
- After 24 hours, generate a fresh Instantly API key and start over — the import will skip everything that already came across.
- If the source-side throttles (HTTP 429), the job pauses with status
paused_sourceand resumes automatically once the cooldown expires.
Block List Handling
Your Instantly block list — both exact-email entries and domain-level entries — is imported into Superkabe's suppression list. From that moment on, any future lead whose address or domain matches an entry is blocked at validation time before it can enter a campaign.
You can review and edit the suppression list in /dashboard/leads/suppression after the import completes.
Cost
The migration tool is free for every Superkabe tier. No validation credits are consumed during the import — the leads enter Superkabe in their existing state and are only re-validated when they next move through the pipeline (typically when you launch a campaign).
Why You Have to Reconnect Mailboxes
Mailbox auth (OAuth tokens for Gmail / Microsoft 365, SMTP & IMAP credentials) is encrypted with provider-specific keys that are scoped to the platform that issued them. Those keys cannot be transferred between platforms — Instantly's v2 API treats them as write-only and never returns them.
That's why every imported mailbox lands in a disconnected state. To re-grant access, open /dashboard/sequencer/accounts, find the mailbox, and click Reconnect. You'll go through the standard OAuth consent flow (Gmail / Microsoft 365) or paste fresh SMTP credentials — no different from connecting a brand-new mailbox.
Pro Tip
Reconnect your mailboxes before launching any imported campaign. Superkabe will not start sending until at least one connected, healthy mailbox is attached to the campaign — but having every mailbox ready avoids partial-send scenarios mid-cutover.