What starts a listing
When the deciding-sources map shows a directory deciding answers to your tracked questions, Attensira drafts a listing for it and puts it in your Inbox as a Change. It knows the forms for G2, Capterra, GetApp, Product Hunt, AlternativeTo, Clutch and Slashdot. The values come from your Brand Book. Anything it cannot answer is left blank and named as blank, never guessed. A listing makes claims about your product under your name, so it waits for a person’s approval like any other claim. The off-site rules apply: a daily cap per workspace, and the first listing in a workspace is always filed by a person.How it is filed
On your approval, the site’s row in the site policies table, as it applies to your workspace now, decides the route.
No listing site has an
api_oauth row or an integration that can file it today, so every listing is a copy kit. A site in a browser mode would also get the copy kit: there is no route that files a listing in a browser.
The policy is read again at the moment of filing. If a site’s row was downgraded after you approved, for example because its terms changed, the stricter mode applies.
The copy kit
The copy kit is everything you need to file the listing by hand, in your own browser:
In the app the Change shows the kit as a card, with a copy button on each value, the site’s steps, and I sent it. Everywhere else, the kit is in the Change’s timeline as plain text.
Accounts are always yours
An agent never creates an account. If the start page is a sign-up or registration page, the kit’s first step is to create your own vendor account there, with your own work email. That holds whatever the site’s mode is.Saying you sent it
A listing counts as filed only when you say so. We never mark it for you.- In the app: I sent it on the copy kit card, or mark sent in the Inbox.
- Over MCP:
actwithmark_senton the change. - Over REST:
POST /v1/actionswithmark_sent.
Updating a profile you already have
When a fact changes and a directory profile you already have shows the old one, the Change is a profile update. Before it is filed, Attensira reads your public profile page, so the Change shows what the page says now next to the new value. It reads the name from the page title and the tagline or description from the page description. A field the page does not carry reads as blank, never as a guess. The kit then points at your profile page with the new value to paste.How we check it went live
After you mark it sent, we check the live page. A listing is placed once the page shows your brand name or a link to your domain, and verified once an AI answer cites that page. The full rules are in How a placement is verified.Checking the listing against your Brand Book
Once a day we also read the public page of every listing and profile update you delivered, and compare it with your Brand Book. The result is the listing’sverification. The change’s receipt carries it too: live_status is live once the page shows the listing, no_longer_live once the site rejected it, and live_check holds the page and the sentence.
Which page we read. For a profile update, your profile page. For a new listing, the page the site’s integration returned, or otherwise the profile on that site listed in your Brand Book under On the web › Directory profiles. Never the submission form. If we do not know the page, you get one Inbox step asking you to add its link there.
What we compare. For a new listing: the name and tagline in your Brand Book, and a link to your site. For a profile update: the value you approved.
What we may read. The site’s policy row and its robots.txt decide. A site whose effective mode is never or read_licensed, or whose robots.txt does not let our reader in, is not read, and nothing changes.
When a read fails. A timeout, a 408, a 429 or a 5xx is tried again up to three times, waiting 5 then 10 seconds. A read that still fails changes nothing, and we try again the next day.
Apart from a verified one, a listing is read every day for 60 days after delivery.
Measuring a verified listing
A listing only takes effect once it is live, so its before-and-after checks start from the read that verified it, not from the day you marked it sent. Once a day, every delivered listing whose last read islive_verified and which names the tracked prompts it was meant to move gets its +3, +7, +14 and +30 checks, booked once. The same goes for a profile update and for a Brand Book fact carried to a profile elsewhere when the listing route filed it. A listing with no tracked prompts is not checked.
Each check’s live test is our last read of the listing page, not a search of your own site. While that read is live_verified, the check measures your answers as any other check does. When a later read finds a mismatch, a rejection or a page that no longer shows you, the check stops as Not live with that read’s sentence and no verdict, so a listing that failed its live check is never counted as a result, on your receipt or in the playbook win rates.
Asking for reviews
Review platforms are often the page an AI answer quotes, and a profile with few or old reviews says little. Attensira prepares the ask. You send it. No agent sends an invite, creates or claims an account on a review platform, or opens a browser there.What the agent drafts
Once a week, for each review platform whose site policy row allowsrequest_reviews (today G2, Capterra, Trustpilot and Google Business Profile), Attensira drafts one review request Change if your Brand Book names your profile on that platform under On the web › Directory profiles. It drafts at most one per platform per calendar quarter, and none while an earlier one still waits on you. A platform whose row does not allow invites gets none. Yelp, whose rules forbid asking for reviews at all, never gets one.
The Change is a kit:
- Where to start: the platform’s own business console, where its invite tool and your review link live, and the steps to use them: G2 and Capterra’s review collection pages, Trustpilot’s Get reviews, and Google Business Profile’s Ask for reviews. We never make up a review link. The copy has a placeholder where you paste yours.
- Invite copy: a subject and a short message asking for an honest review, signed with your company’s name as your Brand Book states it (your workspace’s name if it states none).
- The rules: send it to every customer on your list, offer nothing in exchange, and never write or post a review yourself. The platform’s own rule from its policy row is added.
kind is review_request.
You approve a kit as it was written; it can’t be edited before approving. The kit is a fixed template: once approved, you copy it and can adjust the wording in your own email before you send it, as long as it still goes to every customer and offers nothing. If you don’t want to send it, decline it. A decline and its note are recorded, but they do not rewrite the kit. No new kit for that platform is drafted until the next calendar quarter, and it is written from the same template. An edit sent anyway (an edit action, or approving with an edited value) is refused with a 400. If the edit offers something for a review or asks only happy customers, the error names each phrase that broke the rule, with details.reason set to incentive_or_gating.
Sending it
Send the invite to your whole customer list, from your own email or through the platform’s own invite tool. Do not pick who gets it, and do not filter by a survey score: review platforms ban selective asks and incentives, and so does the FTC’s guidance on endorsements. Then mark it sent:- In the app: I sent it on the Change.
- Over MCP:
actwithmark_senton the change. - Over REST:
POST /v1/actionswithmark_sent.
How the receipt is measured
Once a week we read your profile on the platform, from the day the request is filed until a year after you marked it sent. Each read records the review count, the average rating (with the platform’s top rating) and the date of the newest review, as the page itself states them in its structured data. We never infer a number from the page’s text. The read follows the platform’s policy row and itsrobots.txt, the same way the listing check does. A profile we may not read, cannot reach, or that states no review count is recorded as not_measurable with the reason. It is never recorded as zero reviews.
The change’s receipt counts from the day you marked it sent. Its reviews shows the baseline, the last measured read on or before that day (or the first one after, if none came before), the latest read, and the difference in review count and average rating between the newest measured read and the baseline.
Read it yourself
GET /v1/listings lists the directories agents prepare listings for, each with its fields, its policy mode and effective_mode, whether an integration can file it (toolkit), the steps you take, the verification of your newest delivered listing on it, and the reviews read for your newest review request on it. Trustpilot and Google Business Profile are listed too, with no form fields, because they take review requests. Review requests themselves are changes: GET /v1/changes?kind=review_request lists them, and over MCP list with type change and kind review_request. See Directory listings in the API reference. Over MCP, list with type listing and get on attensira://{workspace}/listing/{domain} read the same.
GET /v1/listings, GET /v1/listings/{domain} and GET /v1/changes are served on webapp.attensira.com: send them there with the same key. They are not on api.attensira.com yet, which answers 404. The MCP reads work today.