Imports inbox (/setup/migrate/imports) — track every migration in one place
/setup/migrate/imports is the standalone imports inbox — the page where every queued migration lives until you've dropped its export file and Turtini has parsed it in.
How a request gets there:
When you pick "Connect & import" on /setup/migrate for a vendor without live OAuth (most of them — QuickBooks, Toast, Klaviyo, Squarespace, etc.), Turtini creates a migrationRequest. That request is what the imports inbox tracks. Live-OAuth vendors (HubSpot, Mailchimp, Calendly) skip the inbox — they import in-band on /setup/migrate.
Two sections on the page:
• Pending — every request that's waiting on you. Each row is a MigrationUploadPanel: the vendor's instructions, the file slot(s) to fill, a dropzone, and a "Run import" button once every slot has a file.
• Finished — every request Turtini has parsed in. Shows the row's summary ("Imported 142 contacts, 8 deals") and confirms it's safe to cancel that vendor now.
How to find it:
• Click the "Finish your imports" card on /welcome (only appears when you have at least one pending migration).
• Visit /setup/migrate/imports directly — bookmark it if you're working through several at once.
• From /setup/migrate, click "Manage imports" at the top of the vendor list.
Cancellation reminders pause while imports are pending:
The platform pauses the cancel-this-vendor reminder for any vendor with a pending or in-flight import. You won't get nudged to cancel a tool while we're still waiting on its data — only after the import completes (or you mark it as "Don't currently use").
Resuming after time away:
The imports inbox lives at a stable URL — no time pressure. Walk away for a week, come back, and the same pending rows are waiting. Each row preserves your last upload state (file name, validation errors, etc.).
If you don't see a vendor:
The inbox only shows requests you've created. To add a new vendor, click "← Add another tool to migrate" at the top of the page (back to /setup/migrate's full vendor catalog).
Empty state:
With no pending and no finished requests, the page shows a quick link back to /setup/migrate so you can pick a tool. Once anything imports successfully, the finished row stays as a record so you can see what's been brought over.