Skip to main content
Recurring retainer work shouldn’t depend on someone remembering to run it. Two mechanisms make it standing:
  • Workflow templates — thirteen ready-made workflows you instantiate per client. Scheduled ones fire weekly or monthly; event ones fire when something happens (a rank drops, an ad gets disapproved, a bad review lands).
  • Delivery playbooks — three named, step-by-step recipes the agent follows for the recurring delivery passes themselves.
The posture is staged-to-approval throughout. These loops read, classify, draft, and alert — but anything that would touch a live campaign, post to Google, or publish content is staged as a draft or an approval card. Nothing is applied, posted, or published automatically.

Instantiating a template

workflow_templates_list returns every template with its slug, label, description, and the variables it needs. workflow_create_from_template instantiates one: pass the slug and an overrides object keyed by variable name — the server substitutes every placeholder, creates the workflow, and auto-provisions any webhook triggers in one call. Missing required variables fail fast. Scheduled templates take a TIMEZONE variable (IANA name, default America/Chicago) that their schedule fires in.

The scheduled templates

The event templates

These fire from platform events rather than a clock:

Ad Disapproval Triage (event)

Slug disapproval-triage. When the daily PPC guardrail sweep finds newly disapproved ads, the PPC agent pulls the disapproval details, diagnoses each policy violation, and emails a concrete fix plan. Read and alert only — no ad is edited or resubmitted automatically. Variable: RECIPIENT_EMAIL.

Rank Drop Response (event)

Slug rank-drop-response. When a tracked keyword drops in the daily ranking sync, the SEO agent checks the live SERP, fetches the ranking page, correlates with recent changes, and emails a diagnosis. Variables: MIN_DROP (default 3 — fire only when a keyword worsened by at least this many positions), PM_PROJECT_ID (optional — when set, each diagnosis also files a follow-up task; blank means email only), RECIPIENT_EMAIL.

New Review Response (event)

Slug new-review-response. When a new Google review lands below your rating threshold, the SEO agent drafts an empathetic reply and stages it to the ops inbox for human approval — it never posts to Google. An email tells the owner a draft is waiting. Variables: MIN_RATING_BELOW (default 4, which catches 1-3 star reviews), RECIPIENT_EMAIL. Fires from the Business Profile review sync, which runs every six hours.

The three delivery playbooks

Playbooks are named recipes — when to use them, the ordered tool calls, what to expect from each, and the gotchas. The agent discovers them with hiveku_playbooks_list and pulls the full sequence with hiveku_playbook_get. Three cover recurring marketing delivery:

ppc-weekly-ops — PPC weekly optimization pass

The recurring weekly sweep on any account with active ad spend. In order: load account context, enumerate the ad connections, check budget pacing (ppc_pacing_summary) and anomalies (ppc_anomaly_check), then disapprovals first (ppc_disapprovals_list and the per-platform depth reads) — optimizing a campaign whose ads cannot serve is wasted work. Then wasted spend from the search-terms reports feeds staged negatives, impression share splits scaling headroom into raise-budget vs raise-bids, and ppc_digest closes the loop with the client-facing summary. Every write in the loop (negatives, budgets, status flips) stages an approval card; reads never do.

seo-monthly-retainer — SEO monthly retainer delivery

The recurring monthly deliverable: refresh data (seo_sync), month-over-month movement (seo_gsc_period_comparison — the winners and losers become the report narrative), a fresh technical audit (seo_audit_start then seo_audit_get), opportunities (seo_content_gaps, seo_content_decay, seo_cannibalization, seo_backlink_opportunities), then assemble the client report section by section and save the month’s deliverable. Data sources marked not-applicable on the account (a Business Profile on a non-local business, say) are skipped rather than reported as gaps.

aeo-monthly — AEO monthly delivery

How the brand shows up in AI answers, what blocks it, and the fixes. Readiness first (seo_aeo_readiness — can answer engines even use the site?), then refresh visibility tracking (seo_aeo_rankings_sync), run the monthly AEO audit (seo_aeo_audit_run / seo_aeo_audit_get), audit brand presence in AI answers (seo_aeo_brand_audit — absences become content briefs), add structured-data recommendations, draft answer-shaped content in the department’s voice, and add the AEO section to the monthly report. AEO rides the SEO department; run it after the retainer pass so both report sections read from the same data window.