All posts
Behind the Product

From BrandOps to Your Website: How Citeya's Publishing Pipeline Works

A behind-the-scenes look at the three-stage pipeline that turns a queued keyword into a live, published article — from BrandOps campaign scheduling, through Citeya's quality gate, to a signed webhook delivery on a partner site like CricLegacy.

Kishan PrajapatAugust 20, 2026Updated September 27, 20266 min read

Every article that shows up on a Citeya-powered site got there through the same three-stage pipeline, whether it was scheduled a month in advance or generated five minutes ago: a keyword campaign in BrandOps, a quality-gated generation pass inside Citeya, and a signed webhook delivery to the destination site. None of those stages is visible from the finished article, which is exactly the point — but it's worth walking through what actually happens in between, especially for anyone running campaigns and wondering why a scheduled article shows 'Starting soon' or why a status flips from Active to Completed on its own.

Stage One: A Campaign Starts in BrandOps

BrandOps is where a content campaign actually begins — a brand name, a category, a target site, a cadence (once a day, once a week, every two days), and a list of keywords ranked by priority. Pushing a campaign from BrandOps doesn't generate anything by itself. It queues the work: one row per keyword, sitting in a pending state until the campaign's schedule says it's time.

This separation matters for how the two systems specialize. BrandOps owns campaign strategy — which keywords, in what order, at what pace, targeting which site. Citeya owns everything downstream of 'here's a keyword, write it.' A campaign manager in BrandOps never has to think about sourcing, citation quality, or webhook delivery. Citeya never has to think about which keywords are worth targeting in the first place.

BrandOps Keyword Finder showing keyword research, opportunity scores, and search intent breakdown for a campaign
BrandOps' Keyword Finder — where a campaign's seed keywords, search volume, and opportunity scores get worked out before anything is pushed to Citeya.

Stage Two: Citeya Turns a Keyword Into a Sourced Article

When a keyword's turn comes up, Citeya runs it through the same generation pipeline every article goes through, campaign or not: pull real sources for the topic, generate a draft that cites them inline, score that draft against an editorial bar, and — if it falls short — regenerate with specific feedback about what to fix rather than a vague 'try again.' A draft that nails the structure but leaks a stray piece of internal scaffolding into the body text, or repeats the same heading, doesn't pass. It gets sent back with exactly what needs fixing. Once a draft passes, a separate check compares each cited sentence with the source it links to and flags any claim the source doesn't clearly support, so a reviewer knows exactly where to look.

The output of this stage is a fully structured article — headline, intro, sourced sections, and a short FAQ only when readers would have real follow-up questions — written in a neutral, third-person, reported voice. Nothing about who wrote it, what it should be titled, or how it should be formatted is left ambiguous by the time it moves to the next stage.

Stage Three: A Signed Webhook Delivery, Not a File Drop

Getting the finished article onto the destination site doesn't mean handing over a file or a database export. Citeya sends it as a cryptographically signed HTTP request — the same HMAC-based pattern GitHub and Stripe use for their own webhooks — to an endpoint the destination site controls. The receiving site verifies the signature, checks the request hasn't been replayed from an old capture, and only then accepts the payload.

The article itself arrives as structured content — a title, an excerpt, and a content field broken into typed blocks (headings, paragraphs, calls to action) — completely separate from anything Citeya used internally to generate it. Publishing works by upserting on the article's slug, so the same call that creates a new article the first time updates it cleanly if it's republished later. If the destination site is temporarily unreachable, Citeya retries with backoff rather than losing the article; if the payload itself is invalid, it fails immediately rather than retrying something that will never succeed.

A Real Example: CricLegacy

CricLegacy is one of the live destinations on the receiving end of this pipeline. A cricket-focused keyword campaign in BrandOps, targeting CricLegacy, produces articles written in the same neutral, source-attributed style as everything else Citeya generates — no fabricated first-person commentary standing in for a named author's actual opinion, no internal generation notes leaking into the body text, one consistent editorial structure whether the article covers a single match report or a season-long storyline.

A Citeya-generated article live on CricLegacy, byline attributed to a named author, with related-news links on the sidebar
The same pipeline's output, live on CricLegacy — structured content, a real byline, no generation scaffolding in sight.

Why This Matters

The three-stage split is what makes the whole thing reliable at a cadence no manual publishing workflow could sustain. A campaign set to publish daily doesn't need anyone to remember to check on it — BrandOps tracks what's queued, Citeya enforces the same quality bar on the hundredth article as the first, and the webhook layer means a destination site goes live immediately once it accepts a request, with no rebuild or deploy step in between. The one deliberate exception: articles on health, finance, or legal topics wait in a review queue until an editor approves them, because those are the topics where a wrong claim costs readers the most. The campaign dashboard reflects all of it: 'Active' means there's still queued work and a schedule driving it, 'Completed' means every keyword in the campaign has been generated and delivered, and the next-run estimate is exactly that — a straight read of the cadence you set, not a guess.

Citeya's Keyword Campaigns dashboard showing active, paused, and completed campaigns with next-run filters
The Campaigns dashboard on Citeya's side — every queued keyword, its status, and when it's next due.
Three systems, one job each: BrandOps decides what to write about, Citeya decides how to write it well, and a signed webhook decides how it gets there safely.
Written by Kishan Prajapat, SEO & Content Lead at KPThink

Kishan Prajapat is SEO & Content Lead at KPThink, the studio that builds Citeya. Since October 2024 he has led SEO and content across KPThink's websites, including managing published content, corrections, and updates, and he holds a Master of Computer Applications. Spotted an error? Tell us and we'll correct the post and note the update date.


PreviousWhat We Changed After Google Rejected Our AdSense Application for Low-Value Content

Ready to try Citeya?

Generate source-backed articles with inline citations and SEO metadata in under 60 seconds. Free to start.

Get started free

Source-backed articles, researched and cited before the first draft

Citeya gathers sources, drafts with inline citations, and adds SEO metadata in one pass, usually in under 60 seconds, so you start from a checkable draft instead of a blank page.