Skip to the documentation
MCP server

Subscriptions

The newsletters and mailing lists the mailbox receives.

Subscriptions tools

ToolWhat it does
listSubscriptionsThe senders of newsletters and mailing lists, one row per sender and the address it writes to, with how much mail each sent and how it lets you unsubscribe.
listSubscriptionDomainsThe same, one row per sender domain, with how many of its senders can be unsubscribed without a person opening a page.
unsubscribeSubscriptionUnsubscribe from one sender the way it asks for. A sender that only offers a page returns its link for a person to open.
unsubscribeSubscriptionDomainUnsubscribe from every sender on a domain that takes a one-click request or an email, and count the rest.
unsubscribeThreadUnsubscribe from the sender of a thread, as the Unsubscribe button of the reading pane does.
moveSubscriptionMove everything a sender sent to the archive, the Bin or a label, and with future keep moving its new mail with a rule.

Reading needs “Read threads and messages” (threads:read), and unsubscribing and moving need “Label, read and archive threads” (threads:write). Keeping new mail moving makes a rule, which also needs “Create, edit and reorder mail rules” (rules:write). A client limited to some addresses reaches only the subscriptions delivered to them.

Unsubscribing sends a request or an email to the sender, and nothing here takes it back. In the app’s chat, unsubscribeSubscriptionDomain always asks first, and the other changes ask unless you asked for them.

Reference

listSubscriptions

Scopesthreads:readThe app's assistant runs it without askingToolkitsubscriptions

The newsletters and mailing lists the mailbox receives, as the Subscriptions page shows them: one row per sender and the address it writes to, with how much mail it sent, how much is unread and how it lets you unsubscribe. status is active (the default) or unsubscribed. query searches the sender, sort is recent, most, unread or name, and offset pages on.

Inputs

statusstring
One of"active""unsubscribed"
querystring
Up to 200 characters
sortstring
One of"recent""most""unread""name"
limitinteger
At least 1At most 200
offsetinteger
At least 0
addressstring
3 to 320 characters

Also available in

API
GET /subscriptions
SDK
subscriptions.list()

listSubscriptionDomains

Scopesthreads:readThe app's assistant runs it without askingToolkitsubscriptions

The same subscriptions grouped by sender domain, so a company that writes from several addresses is one row, with how many of its senders can be unsubscribed without a person opening a page. Takes the same filters as listSubscriptions.

Inputs

statusstring
One of"active""unsubscribed"
querystring
Up to 200 characters
sortstring
One of"recent""most""unread""name"
limitinteger
At least 1At most 200
offsetinteger
At least 0
addressstring
3 to 320 characters

Also available in

API
GET /subscriptions/domains
SDK
subscriptions.listDomains()

unsubscribeSubscription

Scopesthreads:writeThe app's assistant asks first unless you asked for itToolkitsubscriptions

Unsubscribe from one sender the way it asks for: a one-click request when it offers one, otherwise an unsubscribe email from the address the mail arrived at. A sender that only offers a page returns its link, which a person has to open. bin also moves every conversation from the sender to the Bin. Take the id from listSubscriptions.

Inputs

idstringRequired
1 to 64 characters
binboolean

Also available in

API
POST /subscriptions/{id}/unsubscribe
SDK
subscriptions.unsubscribe()

unsubscribeSubscriptionDomain

Scopesthreads:writeThe app's assistant always asks firstToolkitsubscriptions

Unsubscribe from every sender on one domain that can be unsubscribed without a person opening a page, as the domain view of the Subscriptions page does. Senders that only offer a page are skipped and counted. bin also moves their conversations to the Bin, and address keeps it to the subscriptions delivered to one address.

Inputs

domainstringRequired
1 to 253 characters
addressstring
3 to 320 characters
binboolean

Also available in

API
POST /subscriptions/domains/{domain}/unsubscribe
SDK
subscriptions.unsubscribeDomain()

unsubscribeThread

Scopesthreads:writeThe app's assistant asks first unless you asked for itToolkitsubscriptions

Unsubscribe from the sender of an email thread, as the Unsubscribe button of the reading pane does, from the newest message in it that carries an unsubscribe header.

Inputs

threadIdstringRequired
1 to 200 characters

Also available in

API
POST /threads/{id}/unsubscribe
SDK
threads.unsubscribe()

moveSubscription

Scopesthreads:writeThe app's assistant asks first unless you asked for itToolkitsubscriptions

Move every conversation from one sender to the archive, the Bin or a label. future, true by default, also makes a rule that keeps doing it to new mail from the sender, which needs permission to change rules, and false drops such a rule. labelId is the label for destination label, from getUserLabels.

Inputs

idstringRequired
1 to 64 characters
destinationstringRequired
One of"archive""bin""label"
labelIdstring
1 to 200 characters
futureboolean
ruleNamestring
Up to 100 characters

Also available in

API
POST /subscriptions/{id}/move
SDK
subscriptions.move()