set_author_profile: Agent-Applied Author Names and Bios
How the Get AI Traffic agent sets a real author name and bio, reassigns posts off an admin account, and how to roll both changes back.
Published on July 16, 2026
set_author_profile is the tool the Get AI Traffic agent uses to put a real name and a real bio on an author account after you approve a fix. It sets the account’s public display name and biographical info, then publishes through your site’s connection.
This page documents what the tool touches, what it refuses to touch, and how to undo it. For the decision of who should sign a page, and when nobody should, read No Author Schema Is a Trust Problem AI Can’t Ignore. That is a judgment call. This page is about the mechanics.
What it does
The tool targets one author account, identified by login, email, or numeric id, and sets either or both of:
- Display name. The name your site prints in the byline. This is the fix for a byline reading “admin” and for the
author.namethat renders as an email address. - Bio. The biographical text on the author’s profile, which is what an author bio page shows and what an
author.urlin your schema points a machine at.
You have to supply at least one of the two. The tool moves no posts and touches only the account you name.
The full author fix is three tools
set_author_profile on its own gives a credentialed profile that nothing points at. The fix usually runs as a sequence:
reassign_authormoves the posts off the generic account and onto a credentialed one.set_author_profilegives that person a real display name and a real bio.upsert_schemaadds thePersonmarkup on the article andProfilePagemarkup on the bio, so machines can connect the byline to the human.
reassign_author is worth understanding before you run it. It moves every post the source author owns, across post types and post statuses, to the target. It does not delete the source account, it empties it.
It also runs in the background rather than inline. A large author cannot be reassigned inside a single call: the batched writes run for minutes, longer than one connection survives, which was confirmed on staging at 526 posts. So the tool returns a job_id immediately and the work continues on a durable queue. Poll cms_job_status with that id for progress, and for the ledger_id you will need if you want to reverse it. If the job is interrupted it resumes where it stopped.
What it will not touch
- Your content. Both tools change attribution and profile fields. Neither edits a word of an article body.
- Users that don’t exist. Neither tool creates accounts. The target author has to already exist on your site, or the call fails with “Target author not found.” Create the user first, then reassign to it.
- Scripts in a bio. Bio text is sanitized on the way in, so markup that doesn’t belong in a profile is stripped rather than stored.
- Anything, without the right permissions. These changes require an account with
edit_others_postsandedit_users. Without both, the call is refused rather than partially applied.
Timing
The display name and bio are live on the next render of any page carrying that byline, so this is one of the few fixes you can verify immediately. A reassignment is not instant: it returns a job_id right away, then works through the posts in batches, which takes minutes for a large author.
Caching is the trap here. Because the change targets an author rather than a URL, the automatic edge purge that follows a URL-targeted apply does not fire. Your site purges its own page cache once after a batch, but if a Cloudflare-cached copy still shows the old byline, run purge_cache on the affected URLs.
Downstream, the usual lag applies. Search engines and AI engines re-read the byline and the markup on their next crawl, and trust signals are not a switch that flips. Nobody re-ranks you next week because a bio appeared.
Rolling back
Both tools capture the prior state before they write.
set_author_profile records the account’s previous display name and bio, and roll_back restores them on the same account. Because the apply and the reversal both target that one user, the rollback cannot land the old profile on the wrong person.
reassign_author records its reversal once, before the first post moves, with the full captured set of post ids. That ordering matters: if the job is interrupted halfway and resumed, the ledger still holds every post, so a rollback returns them all to the original author rather than the half that happened to move. Get the ledger_id from cms_job_status once the job reports done.
Related tools
reassign_authormoves posts between authors. It is the other half of this fix and is covered above.upsert_schemawrites thePersonandProfilePageJSON-LD that turns a visible byline into a machine-readable one.cms_job_statusreports progress and the resultingledger_idfor the background reassignment.purge_cacheclears a cached page still showing the old byline at the edge.
Findings this tool resolves
author_eeat: pages are attributed to a generic or admin account with no real, credentialed author behind them.
Want this checked on your own site?
Get your free AI-visibility audit