Skip to the documentation
MCP server

Analytics

How mail arrives, and what became of the mail sent.

Analytics tools

ToolWhat it does
getMailboxInsightsHow mail arrives over a window, as the Analytics page shows it: per day and per hour, by address and by sender, what waits on a reply, and the folders.
getSendingAnalyticsWhat became of the mail the workspace sent over a window, as the Analytics page shows it: delivered, failed, bounced and complained about, per day, for one sender, recipient or tag if you like.
getSendingStreamsThe two lanes mail travels in, app mail and broadcasts, each with its state and its bounce and complaint numbers for the last 7 days.
resumeSendingStreamResume the broadcast lane after it paused itself for too many bounces or complaints. Only the workspace owner can, and in the app’s chat it always asks first.
listDedicatedIpsThe dedicated sending IPs of the workspace, with how far each one has warmed up.
getDedicatedIpOne dedicated IP of the workspace, with its status and warm-up.

Reading how mail arrives needs “Read threads and messages” (threads:read), and reading what became of sent mail needs “Read sent messages and their delivery status” (emails:read). A client limited to some addresses counts only the mail that arrived at them or was sent from them, and address narrows either to one address.

Reference

getMailboxInsights

Scopesthreads:readThe app's assistant runs it without askingToolkitinsights

How mail arrives, as the Analytics page shows it: how many conversations came in over a window and on which days, the busiest hours, the addresses they arrived at, the senders who wrote most, how many wait on a reply, and the folders. from and to are ISO 8601 instants and default to the last 30 days. offsetMinutes is the reader’s minutes east of UTC, so days break where theirs do. address narrows it to one address.

Inputs

fromstring
Formatdate-time
tostring
Formatdate-time
grainstring
One of"minute""hour""day"
offsetMinutesinteger
At least -840At most 840
addressstring
3 to 320 characters

Also available in

API
GET /analytics/mailbox
TypeScript
nextmail.analytics.mailbox()
Python
analytics.mailbox()
Ruby
analytics.mailbox
PHP
analytics->mailbox
Go
Analytics.Mailbox
Java
analytics().mailbox
C#
Analytics.MailboxAsync

getSendingAnalytics

Scopesemails:readThe app's assistant runs it without askingToolkitinsights

What became of the mail this workspace sent, as the Analytics page shows it: how many went out over a window and how many were delivered, failed, bounced or complained about, per day, with the statuses, where they came from, the addresses they went out as and the addresses suppressed. days defaults to 30, minutes wins over days, and since and until, ISO 8601 instants at most 365 days apart, set the window outright. address narrows it to the mail sent from one address, recipient to the mail that went to one address, counting only its delivery there, and tag to the mail sent with a tag: name for any value, name:value for one.

Inputs

daysinteger
At least 1At most 365
minutesinteger
At least 1At most 525600
sincestring
Formatdate-time
untilstring
Formatdate-time
grainstring
One of"minute""hour""day"
offsetMinutesinteger
At least -840At most 840
addressstring
3 to 320 characters
recipientstring
Up to 320 charactersFormatemail
tagstring
1 to 330 characters

Also available in

API
GET /analytics/sending
TypeScript
nextmail.analytics.sending()
Python
analytics.sending()
Ruby
analytics.sending
PHP
analytics->sending
Go
Analytics.Sending
Java
analytics().sending
C#
Analytics.SendingAsync

getSendingStreams

Scopesemails:readThe app's assistant runs it without askingToolkitinsights

The two sending lanes of this workspace, transactional for app mail and broadcast for newsletters, with whether each is active or paused, and the recipients, bounces and complaints of the last 7 days against the limits. The broadcast lane pauses itself when bounces pass 4% or complaints pass 0.2%, and app mail keeps going out.

Inputs

Takes no input.

Also available in

API
GET /sending/streams
TypeScript
nextmail.sending.listStreams()
Python
sending.list_streams()
Ruby
sending.list_streams
PHP
sending->listStreams
Go
Sending.ListStreams
Java
sending().listStreams
C#
Sending.ListStreamsAsync

resumeSendingStream

Scopesdomains:writeThe app's assistant always asks firstToolkitinsights

Resume the broadcast lane after it was paused for too many bounces or complaints. Broadcasts that were on hold continue at once, and the 7 day count starts again from now, so clean the audience first. Only the workspace owner can do it. It asks for a verification code, and in the app's chat it always asks first.

Inputs

streamstringRequired
One of"transactional""broadcast"

Also available in

API
POST /sending/streams/{stream}/resume
TypeScript
nextmail.sending.resumeStream()
Python
sending.resume_stream()
Ruby
sending.resume_stream
PHP
sending->resumeStream
Go
Sending.ResumeStream
Java
sending().resumeStream
C#
Sending.ResumeStreamAsync

listDedicatedIps

Scopesdomains:readThe app's assistant runs it without askingToolkitworkspace

The dedicated sending IPs of this workspace, each with its status, how far its warm-up has come as a percentage, and the pool it sends through. A workspace without the dedicated IP add-on has none and sends through the shared IPs.

Inputs

Takes no input.

Also available in

API
GET /sending/dedicated-ips
TypeScript
nextmail.sending.listDedicatedIps()
Python
sending.list_dedicated_ips()
Ruby
sending.list_dedicated_ips
PHP
sending->listDedicatedIps
Go
Sending.ListDedicatedIPs
Java
sending().listDedicatedIps
C#
Sending.ListDedicatedIpsAsync

getDedicatedIp

Scopesdomains:readThe app's assistant runs it without askingToolkitworkspace

One dedicated sending IP of this workspace by its address: its status, warm-up percentage, pool, and when it was assigned and became ready.

Inputs

ipstringRequired
3 to 64 characters