Agent-native

A marketing stack your AI agent can actually operate

Most software bolts a chat box onto a UI and calls it AI. Revvify exposes the whole product — brands, topics, campaigns, the calendar, landing pages, the lead inbox, analytics — as tools an agent can discover, call, and safely retry.

Why agents work here

Four things most APIs get wrong

Capability discovery

GET /api/v1/capabilities returns the current shape of the workspace — plan limits, remaining budget, connected accounts, brands, and which products have a compiled brief to write from. An agent plans against what's actually true instead of guessing and failing.

Idempotent writes

Send an Idempotency-Key on any mutating call. A retry returns the original response rather than posting twice. Reusing a key with a different body is rejected, not silently misapplied — so an agent that can't tell a timeout from a failure can retry freely.

Structured errors

Failures carry stable codes — plan_required, budget_exhausted, needs_human_approval, missing_capability, rate_limited — with a remediation URL. Agents branch on fields; they cannot reliably parse prose.

Declared human-in-the-loop lines

The capabilities response lists what can never complete autonomously: sending outreach, replying to a lead, publishing controversial content, generating video. An agent plans around those instead of discovering them by being refused.

Two front doors

MCP, or plain REST

Native MCP server

Connect Revvify to Claude, ChatGPT, or any MCP client over OAuth and drive it by talking. 34 tools, scoped to one workspace, every call audit-logged. Your assistant subscription becomes the intelligence — no separate AI bill.

{
  "mcpServers": {
    "revvify": {
      "url": "https://revvify.io/mcp"
    }
  }
}

Versioned REST API

A stable /api/v1 surface with an OpenAPI document, bearer auth, per-token rate limits, and the same guarantees as MCP. Build your own agent, or wire Revvify into one you already run.

curl https://revvify.io/api/v1/capabilities \
  -H "Authorization: Bearer $TOKEN"

curl -X POST .../api/v1/posts \
  -H "Idempotency-Key: $STABLE_KEY" \
  -d '{"brandId":"...","text":"..."}'

The toolset

34 tools, covering the whole loop

list_brandsDiscover what this workspace markets.
get_capabilitiesPlan limits, budget, and what always needs a human.
list_outgoingEverything going out, with per-channel status.
reschedule_postMove a scheduled post; re-enqueues its jobs.
repost_itemCopy a post to another network as a draft.
get_budget_statusCredits left, ceilings, and which tier pays.
request_videoAsk a human to make a clip. Never generates one.
get_pending_approvalPoll a handle a human has not resolved yet.
list_reelsReels cut from the workspace's own footage.
request_reelSuggest a reel. A person cuts it — never the agent.
import_videoBring a finished video in from Motion or anywhere else.
get_brand_contextVoice, goals, blocked topics — before writing anything.
get_radar_feedWhat's trending in the workspace's topics right now.
submit_topicsTell the Radar what to watch.
create_campaignOpen a campaign and plan it end to end.
get_calendarSee what's already scheduled before adding more.
schedule_postPut a post on the calendar.
update_postRevise a draft.
publish_nowPublish immediately to connected accounts.
delete_postRemove a draft or scheduled post.
upload_mediaAttach an image.
create_landing_pageBuild a page with a lead form.
create_email_draftDraft a newsletter or follow-up.
get_lead_inboxRead who came in.
draft_lead_replyWrite the reply — a human still sends it.
get_analyticsFind out what actually worked.
get_product_briefWhat the owner says this product is — read it before writing.
get_prompt_healthHow well the AI is describing a product, measured.
add_product_materialGive a product a note or a reference to write from.
compile_product_briefRebuild the brief — free if nothing changed.
generate_imageMake an image from a structured brief.
estimate_video_costPrice a clip. Making one needs a human.
project_automation_costWhat an automation would cost per month.
set_operating_modeRecord how a product is run. Gates nothing.

A recipe

Make a video in Motion, publish it here

  1. 1 · Connect both MCP servers. Motion’s at https://mcp.motion.so/mcp, ours at the URL on your Agents page. Your Claude or ChatGPT subscription drives both.
  2. 2 · Ask for the video in Motion. Motion designs it and renders the MP4. This is where the money goes: Motion bills its own credits to your Motion account.
  3. 3 · Import it here. import_video with the finished URL, a brand id and an idempotency key. It lands in the media library as an ordinary asset.
  4. 4 · Schedule the post. schedule_post attaches it and picks the time. From here it is a normal post — it appears in the Posts hub, obeys approvals, and fails loudly if a channel rejects it.

You need a Motion account. Claude drives Motion, but Motion renders the video and bills its own credits — Revvify never marks that up and cannot see your Motion balance.

Guardrails

What an agent can never do

Automation without limits is a liability, so the limits are part of the API rather than a policy document. Regardless of plan, autonomy setting, or how the call is made, an agent cannot:

  • Send an email or a reply to a lead — it drafts, a human presses send.
  • Publish opinionated or controversial content without human approval.
  • Follow, unfollow, or DM anyone.
  • Generate video at all — it can price a clip, but a human runs and accepts it.
  • Spend past the workspace's budget cap — it gets budget_exhausted instead.

When an agent hits one of these it receives needs_human_approval plus a handle it can poll — so the work continues after a person approves, rather than dead-ending.

Economics

Bring your own everything

Your agent uses your social accounts, your email provider, and your model keys. We orchestrate; we never mark up your tokens and never sit between you and your audience. If you already pay for Claude or ChatGPT, connecting over MCP means the AI costs you nothing extra here.

Point an agent at it

Programmatic access is included on paid plans. Start free, connect your assistant, and see what it does with a real marketing stack.