> ## Documentation Index
> Fetch the complete documentation index at: https://docs.attensira.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Outreach rules

> The rules every outreach email follows: who it is from, the one-click opt-out, the suppression list, who we never write to, follow-ups and replies, how much a mailbox sends, and what changes by country.

Outreach is the email the agent drafts to the people who run a page an AI answer cites: an editor, an author, a maintainer. It goes out from your own Gmail or Outlook, under your name. The rules below are checked in code on every pitch, whether you send it yourself from a saved draft or the agent sends it for you. A pitch that breaks one is not sent, and the refusal says which rule it was and what to do instead.

For how pitches are found and written, see [Pitches](https://docs.attensira.com/agent/off-site.md#pitches).

## Who the email is from

Every pitch ends with a footer that names a real sender:

* the real name of the person it is from, your company's name and your company's postal address, from your [brand profile](https://docs.attensira.com/agent/knowledge-and-skills.md) (**The company** → **Business postal address** and **Outreach sender**). A name the draft is already signed with wins over the profile's;
* a one-click opt-out link (see below);
* for recipients in the EU, the EEA or the UK, the notice line described under [Countries](#countries).

If your profile has no postal address, or no name to sign with, nothing is sent. A row in your [Inbox](https://docs.attensira.com/agent/inbox.md) asks you for the missing field. Fill it in there, and the next pitch goes out.

Nothing is ever sent from an Attensira address. A pitch goes from your connected mailbox, or it does not go.

## The opt-out link

Every pitch carries a link the recipient can click to stop hearing from you.

* **One click is enough.** Opening the link puts the address on the suppression list in that same request and shows a page confirming it. There is no form, no login and no second step.
* **It does not expire.** A link from a pitch sent a year ago still works.
* **It only stops mail.** The link carries a signed token for one address. It cannot do anything except stop mail to that address, so a mail scanner that opens it can only ever make us write to someone less.
* **Clicking it twice changes nothing.** The address is already on the list, with the reason it first went on.
* **One-click unsubscribe works on the same link.** The link also accepts an [RFC 8058](https://www.rfc-editor.org/rfc/rfc8058) one-click `POST` (`List-Unsubscribe=One-Click`), the request a mail client's own **Unsubscribe** button makes. It needs no login, records the opt-out exactly as a click does, and repeating it changes nothing.

The link in the body is how a recipient opts out. Gmail's and Outlook's send actions do not let us set the `List-Unsubscribe` and `List-Unsubscribe-Post` headers on a pitch, so a mail client may not show its own **Unsubscribe** button next to the sender; the link in the footer is always there. If a mailbox's send action starts accepting those headers, they will carry this same link.

## The suppression list

There are two kinds of entry, and they reach differently:

* **An opt-out.** A recipient who clicks the opt-out link in a pitch is never written to again: not by your workspace, and not by any other Attensira workspace.
* **An opt-out, bounce or complaint found in a reply.** When a reply to a pitch is an unsubscribe request, a bounce or a spam complaint, the address goes on your workspace's list and on the global list, so no Attensira workspace writes to it again.
* **An address you add.** An address your workspace adds to its suppression list binds that workspace only. It does not stop another workspace, and nothing another workspace adds stops yours.

Only addresses you add yourself are local to your workspace.

The check runs first, before every other rule, on every pitch.

* **Aliases count.** Addresses are matched lowercased and without a `+tag`, so `editor+news@example.com` is the same entry as `editor@example.com`.
* **No address is kept.** Each entry is stored only as a one-way hash of the address, so the list can be kept for good without keeping anyone's address. See [Data retention](https://docs.attensira.com/security/data-retention.md#the-suppression-list-keeps-no-addresses).
* **Nothing takes an address off.** There is no removal, in the app or over the API. An address that asked not to be written to stays that way.
* **The agent checks it when drafting too.** A contact who opted out is not stored on a new draft; the draft is kept and points at the site's contact page instead.

An address goes on the list when the recipient clicks the opt-out link, when a reply to a pitch is an unsubscribe request, a bounce or a complaint, or when your workspace adds it. The agent finds those replies when it reads your mailbox once a day. A reply it cannot sort stays in your mailbox for you to read: if it asks not to be written to, add the address yourself.

| What | REST | MCP |
| - | - | - |
| Add an address (someone replied "please stop", or you would rather they were not written to) | [`POST /v1/suppressions`](https://docs.attensira.com/api/endpoints#post-/v1/suppressions) | [`act`](https://docs.attensira.com/mcp/tools#act) with `suppress` and `payload.email` on `attensira://{workspace}/contact_suppression` |
| Read your workspace's own list | [`GET /v1/suppressions`](https://docs.attensira.com/api/endpoints#get-/v1/suppressions) | [`list`](https://docs.attensira.com/mcp/tools#list) with type `contact_suppression` |

Your workspace's list holds the addresses you added and the recipients who opted out from your own pitches, each with the date your workspace saw it. An address that opted out from another workspace's pitch is refused for you too, but it is not listed in yours.

Reading the list needs the `read` scope; adding an address needs `configure`. Both endpoints take your API key at `https://webapp.attensira.com`. They are not on `api.attensira.com` yet. Over MCP, an entry has the address's hash and no address; the answer to `suppress` echoes the address you sent.

## Who we never write to

Outreach is business to business only. A pitch is refused when the recipient is:

* **On the suppression list.**
* **A personal mailbox.** An address on a consumer mail provider (Gmail, Outlook.com, Yahoo, iCloud, Proton, GMX, web.de and the like) is refused, whatever page it was found on.
* **Not on the business's own domain.** The address must be on the domain of the site the pitch is about, or of the page it was found on.
* **Not backed by a public business page.** We write only about a page the business published. An address with no public page behind it, neither a page it was published on nor the page the pitch is about, is refused.
* **In Germany or Austria.** See [Countries](#countries).

The agent also never writes to a support inbox, and it never invents an address. It looks in this order, and every read honours the site's `robots.txt`:

1. the page itself: the author its structured data names, else its byline, and an address the page shows;
2. the site's own contact or about page;
3. when the agent chooses to and the site published nothing, a contact-lookup service. This costs credits and is tried at most ten times a run. Only an address on the site's own domain is kept, and a personal mailbox is never used.

Each address keeps where it came from and the page it was published on, when there is one. If none of these finds one, the draft says so and points at the site's contact page.

## Outreach threads

A sent pitch becomes an outreach thread: the pitch, its follow-ups, the replies, and the one message waiting for your yes.

* **One pitch per site.** A site gets one outreach row and one pitch.
* **At most two follow-ups**, due on day 4 and day 10 after the pitch. When one falls due, the agent drafts it and files one card in your [Inbox](https://docs.attensira.com/agent/inbox.md). A third follow-up is never sent.
* **Nothing is sent without a person's yes.** Every follow-up and every answer waits for a signed-in person to approve it. An API key, an MCP connection or an automation can pause, resume, stop or decline a thread, but never approve a send. Every send goes from your own mailbox, through the checks on this page.
* **Any reply stops the follow-ups.**
* **A no stays a no.** A site that declined is not proposed again, and the thread stops.

### How replies are read

Once a day the agent checks your connected mailbox for replies to pitches from the last 60 days. By default it reads only who a reply is from and its subject. When a signed-in person turns on **Read replies** for the mailbox, it also reads the reply text, to tell what kind of reply it is. The text is never stored. Our own subject line is ignored when sorting, so only their words count.

| Reply | What happens |
| - | - |
| Unsubscribe request | The address is suppressed and the thread stops |
| Bounce | The address is suppressed, the thread stops, and the bounce counts toward the mailbox's bounce rate |
| Spam complaint | The address is suppressed, the thread stops, and the complaint counts toward the mailbox's bounce rate, as a bounce does |
| Out of office | The follow-ups move to after the return date, or a week later when no date is given |
| Delivery delay | Ignored |
| Interested | An answer is drafted for your yes |
| Asks for a fee | An answer is drafted when the fee is within your terms; otherwise a decision card |
| No | The thread stops |
| Anything else | Yours to read in your own mailbox |

### Answers and your terms

An answer is written only from your **Outreach terms** in the brand profile (see [Outreach terms](https://docs.attensira.com/agent/knowledge-and-skills.md#outreach-terms)): the most you will pay for a placement, the claims an answer may make, and the tone. No sentence in an answer comes from anywhere else.

A fee at or under your maximum gets a drafted yes for you to approve. A fee above your maximum, or any fee when you set no maximum, becomes one decision card with three choices: **Yes**, **No**, or **Counter at \$X**. It is never sent on its own. Any fee you agree to is for a placement labelled as sponsored, and the answer says so. Attensira never pays a fee: it is agreed between you and the site, in your own email. When you say yes to a fee, the placement is recorded in your outreach budget line and its page is checked for the disclosure; see [Paid placements](https://docs.attensira.com/offsite/paid-placements.md).

## Creators and podcasts

When the answers that decide a question cite a YouTube video or channel, or a podcast on Apple Podcasts or Spotify, the agent can pitch its creator for a review, an interview or a mention.

* **Only creators an answer cited.** A creator is a target only because one of your deciding answers cited their video or episode in the window you are looking at. The agent does not search for creators, buy lists of them, or open their video pages to find them. A cited page on your own domain or a tracked competitor's is never a creator target. A channel or show on YouTube, Apple Podcasts or Spotify is not matched against your name or your rivals' names, so the person who sends the pitch is the check that it is not your own channel or a rival's.
* **One pitch per creator.** A creator gets one outreach row, like a site.
* **Every creator pitch waits for a person.** A person sends it, from your own mailbox. No automation, API key or MCP connection sends one, whatever your outreach autonomy level.
* **The same rules as every pitch.** The opt-out link, the suppression list, the business-address and country rules and the record above all apply. An address is kept only when it is a business address on the domain of the public page it was published on, such as the creator's own site; a personal mailbox is never used, and a creator with no such address gets a draft for their own contact form instead.
* **No payment, ever, in a pitch.** A pitch states one fact from your brand profile and asks one question. It never offers money, a fee, a sponsorship, an affiliate cut or free products, and every creator pitch says so in a closing line: if you and the creator ever agree a paid arrangement, you agree it between yourselves, off Attensira, and the video or episode must carry the platform's paid-promotion disclosure. Attensira does not negotiate, hold or pay anything to a creator.

## Countries

Where a recipient is, as far as we can tell, is read from country codes in this order: the end of their email address, then the site's address, then the pages their address and the pitch were found on (the contact page and the cited page). The first EU, EEA or UK country code found decides. `info@acme.de` is in Germany whatever the page, `hello@acme.com` on `acme.de` is too, and so is `hello@acme.com` on `acme.com` when the address was found on a `.de` page. A country code from outside Europe does not stop a later one from counting: `hello@acme.ca` on `acme.de` is treated as German. When none of the address, the site or those pages carries an EU, EEA or UK country code, no country rule applies.

| Recipient | What happens |
| - | - |
| Germany (`.de`) or Austria (`.at`) | Not written to. Business email there needs the recipient's prior consent (UWG §7 in Germany, §174 TKG 2021 in Austria), and nothing in the product collects that consent. Reach them through the site's contact form instead |
| The rest of the EU and EEA, including `.eu`, and the UK | Written to, with a notice line in the footer: that the email is sent as a business contact on the basis of legitimate interest (GDPR art. 6(1)(f)), where their address was published, and that they can object or ask for it to be deleted at any time, by replying or with the opt-out link |
| Anywhere else | Written to, with the sender footer and the opt-out link |

## The record we keep

For every contact we write to, we keep a record of where their address was published (for an address from the contact-lookup service, which no page we read shows, the site's contact page when the draft has one, otherwise the page the pitch is about), why we wrote (a one-to-one business email about content on their own published page), the legal basis (legitimate interest) and when we first wrote. It is written before the pitch leaves, and a pitch is never sent without one: if the record cannot be saved, nothing is sent. This is the record GDPR art. 14 asks for.

## How much goes out

* **The first ten are yours.** No pitch is sent by the agent until ten have gone out from your mailbox by hand. Only a signed-in person earns one of the ten: a pitch marked sent with an API key or over MCP counts toward the day's cap, never toward the ten.
* **Two pitches a day, per workspace.** The cap applies to you as well as to the agent, and it rolls over at midnight UTC.
* **Sending is off unless you turn it on.** The agent sends only when the workspace is in **act** mode. See [Approval and modes](https://docs.attensira.com/agent/approval.md).
* **Every send the agent makes waits for your yes.** An email cannot be recalled, so even in **act** mode each pitch the agent wants to send stops on an approval card in your [Inbox](https://docs.attensira.com/agent/inbox.md) first. Approve it and the pitch goes out from your own connected mailbox, with the footer above; decline it and nothing is sent.
* **Each mailbox ramps up.** Follow-ups and answers from a mailbox start at 2 a day. The limit rises by one a week, up to 10 a day, and only while the mailbox's bounce rate stays under 2% over at least 10 sends.
* **A bounce rate over 5% pauses the mailbox.** Bounces and spam complaints both count. All outreach from it stops, pitches included, and an Inbox notice says why: "We paused outreach from your mailbox because N% of its emails bounced, over the 5% limit." Only a signed-in person can resume it, in the app.
* **There is no other way out.** The agent is not given Gmail's or Outlook's own send or draft tools, even with the mailbox connected. Every pitch, sent or saved as a draft, goes through the checks on this page.

## When a pitch is refused

Every refusal says that nothing was sent, why, and what to do. Over the API it is a `403` whose `code` you can branch on:

| `code` | Why |
| - | - |
| `recipient_opted_out` | The address is on the suppression list |
| `personal_mailbox_recipient` | The address is on a consumer mail provider |
| `not_a_business_address` | The address is not on the domain of the business it was found for |
| `no_public_business_source` | No public business page is behind the address |
| `invalid_recipient_address` | The address is not a usable email address |
| `prior_consent_required` | The recipient is in Germany or Austria |
| `postal_address_missing` | Your brand profile has no business postal address. An Inbox row asks you for it |
| `sender_identity_missing` | Your brand profile has no name to sign with. An Inbox row asks you for it |
| `opt_out_link_unavailable` | The opt-out link could not be created, and a pitch never goes out without one. Try again later |
| `lawful_basis_not_recorded` | The record above could not be saved. Try again later |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.