Skip to content
Esc
  • OverviewGuidesWhat exists today, and where to start.
  • QuickstartGuidesKey, domain, first send — in that order.
  • AuthenticationGuidesBearer keys, the mandatory User-Agent, and what each refusal means.
  • ErrorsGuidesThe whole vocabulary, with the status each name carries.
  • IdempotencyGuidesRetry a send without sending it twice.
  • PaginationGuidesCursors are item IDs, not page numbers.
  • Rate limitsGuidesTen a second per team, and the headers that tell you where you are.
  • EventsGuidesEvery event a webhook can carry, with one real payload each.
  • DomainsGuidesThe records, where they go at each registrar, and what the page does while you wait.
  • TrackingGuidesOpens and clicks: one record, two toggles, and what an open really means.
  • TemplatesGuidesFifty-seven starters sorted by goal, and how to keep a campaign as a template.
  • ReceivingGuidesInbound mail, and the Inbox: a webhook fires, you read it, you answer it.
  • InboxGuidesChannels, personal mailboxes and seats: who sees what, and where a reply goes.
  • Mail appsGuidesComing soon: your Rasket address in Apple Mail, Outlook and the Gmail app.
  • Inbox APIGuidesOpen, read and answer support conversations from your app, with the same key.
  • Support inbox in your appGuidesA Contact us form that opens a conversation your team answers, in five minutes.
  • Replies to your emailsGuidesOne field on a send, and the customer's reply opens a conversation.
  • Let an agent triageGuidesAn AI agent reads, notes and drafts over MCP; a person sends.
  • Node SDKGuidesThe rasket package: typed from the API's own document, retries only what is safe.
  • Python SDKGuidesThe rasket package on PyPI: the Node client's methods, in snake_case, over httpx.
  • MCP serverGuidesConnect Claude, ChatGPT or any MCP client: your scopes, no key.
  • AI assistGuidesSubject lines, drafts and diagnosis — in the dashboard and over the API, off until you allow it.
  • AgentsGuidesLet an AI agent set Rasket up: the skill, the rules file, MCP, and the recipe they share.
  • OAuthGuidesLet another app act for a team: register, authorize with PKCE, exchange, refresh.
  • Single sign-onGuidesOIDC login for your team, a domain proved by DNS, enforcement and break-glass.
  • IntegrationsGuidesVercel, Netlify and Cloudflare, Zapier and n8n, a WordPress plugin, and Notion contacts.
  • SMTPGuidesSend from anything that speaks SMTP: settings, setup guides, limits and replies.
  • ZapierGuidesSend email, add contacts and react to email events from a Zap, with no code.
  • n8nGuidesThe Rasket node and trigger for n8n workflows: install, connect, every operation.
  • VercelGuidesAdd Rasket on Vercel: a Sending key in each project as RASKET_API_KEY, no copying.
  • WordPressGuidesThe Rasket plugin: every email your site sends, through Rasket, with a safe fallback.
  • NotionGuidesTurn a Notion database of people into contacts in a segment, once or every hour.
  • Migrating to RasketGuidesBring contacts, unsubscribes, lists and templates from Mailchimp, Klaviyo and more.
  • EmailsAPI referenceSend, batch, retrieve, list, reschedule, cancel, attachments.
  • DomainsAPI referenceAdd a domain, publish its records, verify it.
  • API keysAPI referenceCreate, list, rename and revoke credentials.
  • WebhooksAPI referencePayloads, signature verification, retries and replay.
  • SuppressionsAPI referenceAddresses we will not send to, and why.
  • LogsAPI referenceEvery request made with this team's credentials.
  • MetricsAPI referenceDelivery, bounce, complaint and engagement counts.
  • TemplatesAPI referenceVersioned email content with typed variables, addressed by ID or alias.
  • ContactsAPI referenceYour audience: contacts, their typed properties, segments and topic choices.
  • SegmentsAPI referenceAudiences defined by a filter, by hand, or both.
  • TopicsAPI referenceWhat contacts subscribe to, and the preference page's list.
  • CampaignsAPI referenceCampaigns, at /broadcasts: one message to a segment, from draft to results.
  • ImportsAPI referenceCSV uploads: column mapping, conflicts and counts.
  • AutomationsAPI referenceWorkflows that run per contact: the graph, its versions, and every run.
  • Custom eventsAPI referenceThe names your product fires, and what starts a workflow.
  • ReceivingAPI referenceMail sent to you: the message, its attachments, its raw source.
  • OAuthAPI referenceClient registration, the token endpoint, and the grants a team has given.
  • TeamAPI referenceThe team a credential belongs to: its plan, sender identity, AI flag and members.
  • BillingAPI referencePlan, usage, invoices and add-ons, and the hosted pages where a customer pays.
  • AI helpersAPI referenceSubject lines, a first draft, and why an email did what it did.
  • InboxAPI referenceChannels, conversations, messages, notes and search in your support inbox.

GuidesNotion

Notion

Turn a Notion database of people into an audience. Rasket reads the database you share, keeps its people as contacts in a segment, once or every hour, and you send to that segment with campaigns.

Coming soon: connecting Notion is not switched on yet. This page describes it as it will ship. Until then, export the database from Notion as a CSV file and import it in Audience.

What it does

  • Reads only what you share. In Notion you choose which databases Rasket can see. Rasket only reads them and never changes anything in Notion.
  • One database, one sync. A sync says which column holds the email address, what the other columns become, and the segment the people go into.
  • Adds and updates, never removes. New rows become contacts, and changes in Notion update them. Nobody is removed or unsubscribed by a sync.
  • Sending stays in Rasket. Campaigns to the segment carry an unsubscribe link and respect every opt-out, as they always do.

Before you start

  • An admin of the Rasket project. Connecting a workspace and adding a sync are an admin's decisions. Other members can see the syncs but not change them.
  • A Notion database with an email column. One address per row, in an Email, Title, Text or Formula column.
  • Their agreement. Only sync people who agreed to hear from you. An opt-in column, such as a checkbox, lets Rasket skip everyone else.
  • A verified sending domain, for the campaigns you send afterwards. The domains guide walks through it.

Connect a Notion workspace

  1. In Rasket, open Settings, then Integrations, then Notion, and choose Connect a Notion workspace.
  2. Rasket says what it will read. Choose Continue to Notion.
  3. In Notion, pick the workspace and the pages and databases to share with Rasket. Share only the databases you want to turn into contacts.
  4. You are back on Settings with “Notion is connected.” The workspace has its own card.

Finish within ten minutes of choosing Continue. After that the connection expires and nothing is read; start again from Settings. A project can connect more than one workspace.

Share a database later

To add a database you did not share while connecting, open it in Notion, choose •••, then Connections, and add Rasket. It shows up in Rasket the next time you add a sync.

Add a sync

  1. On the workspace's card, choose Add a sync. Rasket lists the databases shared with it, most recently edited first.
  2. Choose the database. The form lists its columns.
  3. Map the columns, as the table below describes.
  4. Confirm that these people agreed to hear from your project. With no opt-in column, also confirm that everyone in the database agreed, so every row is added.
  5. Choose Save and sync. The sync runs once straight away, and its page shows what it did.
The sync form
FieldWhat it takes
Email address columnRequired. An Email, Title, Text or Formula column holding one address per row.
First name, Last nameOptional. A Title, Text, Formula or Select column. Leave the rest as Don't copy.
A contact propertyAny other readable column, into one of your project's contact properties. Add properties in Audience first.
Opt-in column (optional)A Checkbox, or a Select or Status column with the option that means opted in. Rows not opted in are skipped.
Add them to the segmentAn existing segment, or A new segment… with a name you type. Every synced person joins it.
Subscribe them to a topic (optional)New subscriptions only: people who opted out of the topic stay opted out.
RunOnce, now, or Every hour.

Rasket keeps the statement you confirmed, who confirmed it and when, on the sync. People added to a topic get a consent record, as an import gives them.

What a sync never does

  • It never removes or unsubscribes anybody. A row deleted in Notion, or no longer opted in, leaves the contact and its segment as they are.
  • It never touches people who said no. Unsubscribed contacts, addresses on your suppression list and contacts deleted in Rasket are skipped and left alone. A contact you delete stays deleted.
  • It never writes to Notion.

Changes in Notion win over names and properties edited in Rasket. An email address changed in Notion becomes a new contact; the old one stays. When one address appears in several rows, the last row wins.

Send to them

In Campaigns, create a campaign for the sync's segment and send it. With an hourly sync, the segment keeps growing as people are added in Notion. The campaigns reference covers sending one over the API.

Managing a sync

  • Sync now on the sync's page runs it at once, whether it runs once or every hour.
  • Change this sync on the same page edits the mapping, the segment, the topic or the schedule.
  • Runs shows the newest runs and how many rows each added, updated and skipped. Rasket keeps the last 30.
  • Delete sync stops it. The contacts it added stay.
  • Disconnect on the workspace's card deletes its syncs and Rasket's access to the workspace. The contacts stay.

Limits

  • Columns. Title, Text, Email, Phone, URL, Number, Checkbox, Select, Status, Multi-select, Date, Formula, ID, Created time and Edited time can be read. People, relation, rollup and file columns cannot.
  • Hourly, not instant. An hourly sync runs about once an hour. Use Sync now when you need a change sooner.
  • 10,000 rows a run. A bigger database is read over several runs, each one continuing where the last stopped.
  • Your plan's contact limit applies, as it does to an import. Rows past it are skipped.

Troubleshooting

“Notion isn't available here”

Connecting Notion is not switched on for this deployment. Export the database from Notion as a CSV file and import it in Audience instead.

“This connection has expired”

More than ten minutes passed, or the connection started somewhere other than Rasket. Nothing was read. Start again from Settings → Integrations → Notion.

“The request was cancelled in Notion”

Notion's screen was cancelled. Connect again when you are ready.

“The link didn't match this browser” or “Notion didn't accept the connection”

The connection started in another browser, or took too long. Connect again from Settings, in the same browser, without leaving Notion's screen open.

“Only an admin of this project can connect Notion”

Ask an admin of the project to connect it, or to make you an admin.

The database is not listed, or “Rasket can't see this database”

It is not shared with Rasket. In Notion, open it, choose ••• → Connections and add Rasket, then reload the page.

“Notion no longer accepts Rasket's access to this workspace”

Rasket was removed from the workspace in Notion, or its access was refused. The workspace's syncs are paused. Choose Reconnect on its card; the syncs start again.

A column is gone from the Notion database

A renamed column still works. A deleted one stops the sync, and its page names the column. Choose another column for it, or Don't copy, and save.

Rows were skipped

The sync's Runs list says why for a sample of rows. A row is skipped when it has no valid email address, is not opted in, has the same address as a later row, belongs to someone who unsubscribed, is on your suppression list or was deleted in Rasket, or when the project is at its contact limit.