Skip to the documentation
MCP server

Imports

Old mail coming in, and moves from another provider.

Imports tools

ToolWhat it does
listImportsThe imports of old mail into the workspace, newest first, with their status and progress. addressId keeps the ones into one address.
getImportOne import by its id: its files, how far it has read and how many messages it imported.
listImportFailuresThe messages an import could not bring in, and why.
cancelImportStop an import that is still running. Mail it already imported stays. In the app’s chat it always asks first.
listProviderImportsThe imports from another email provider, such as Resend, newest first, with their status.
getProviderImportOne import from another provider with its report: what came across, the domains to publish here and the API keys to replace.
cancelProviderImportStop an import from another provider that is still running. What it already brought across stays. In the app’s chat it always asks first.

Imports of old mail need threads:read, and threads:write to cancel one. A client limited to some addresses sees only the imports into them.

Imports from another provider need settings:read, and settings:write to cancel one. Only the workspace owner reaches them.

No tool uploads mail or starts an import, because the files go up in parts and an import from another provider needs its API key. Start one on the Migrations page of the app, or with POST /imports and POST /provider-imports on the REST API.

Reference

listImports

Scopesthreads:readThe app's assistant runs it without askingToolkitworkspace

The imports of old mail into this workspace, newest first, as the Migrations page of the app lists them: the address each one fills, its status, how far it has read and how many messages it imported. addressId keeps the ones into one address. A member sees the imports into the addresses they reach. One page at a time: when more follow, the last line gives a cursor to pass back for the next page.

Inputs

addressIdstring
1 to 128 characters
limitinteger
At least 1At most 100
cursorstring

Also available in

API
GET /imports
SDK
imports.list()imports.listAll()imports.iterate()

getImport

Scopesthreads:readThe app's assistant runs it without askingToolkitworkspace

One import of old mail by its id: its status, the files it reads, how far it has read, and how many messages it imported, found already here, left out or could not import. listImportFailures says which messages did not import and why.

Inputs

idstringRequired
1 to 128 characters

Also available in

API
GET /imports/{id}
SDK
imports.get()

listImportFailures

Scopesthreads:readThe app's assistant runs it without askingToolkitworkspace

The messages an import could not bring in, in the order it met them, with the reason for each, as What was not imported on the Migrations page shows them. When more follow, the last line gives the after value to pass back for the next page.

Inputs

idstringRequired
1 to 128 characters
afterinteger
At least -1
limitinteger
At least 1At most 100

Also available in

API
GET /imports/{id}/failures
SDK
imports.listFailures()

cancelImport

Scopesthreads:writeThe app's assistant always asks firstToolkitworkspace

Stop an import of old mail that is still uploading, waiting or running, as Cancel import on the Migrations page does. Mail it already imported stays in the mailbox. A chat always asks first.

Inputs

idstringRequired
1 to 128 characters

Also available in

API
POST /imports/{id}/cancel
SDK
imports.cancel()

listProviderImports

Scopessettings:readThe app's assistant runs it without askingToolkitworkspace

The imports from another email provider, such as Resend, into this workspace, newest first: what each one brings across and its status. Only the workspace owner reaches them. getProviderImport gives the full report of one. One page at a time: when more follow, the last line gives a cursor to pass back for the next page.

Inputs

limitinteger
At least 1At most 100
cursorstring

Also available in

API
GET /provider-importsGET /provider-imports/{id}
SDK
providerImports.list()providerImports.listAll()providerImports.iterate()providerImports.get()

getProviderImport

Scopessettings:readThe app's assistant runs it without askingToolkitworkspace

One import from another email provider by its id, with its report as the Migrations page shows it: what came across, the domains to publish here, the API keys to replace and what was not brought across. Only the workspace owner reaches it.

Inputs

idstringRequired
1 to 128 characters

Also available in

API
GET /provider-importsGET /provider-imports/{id}
SDK
providerImports.list()providerImports.listAll()providerImports.iterate()providerImports.get()

cancelProviderImport

Scopessettings:writeThe app's assistant always asks firstToolkitworkspace

Stop an import from another email provider that is still waiting or running. What it already brought across stays. Only the workspace owner can, and a chat always asks first.

Inputs

idstringRequired
1 to 128 characters

Also available in

API
POST /provider-imports/{id}/cancel
SDK
providerImports.cancel()