MCP App Store
by KeenEthics

Overview

Revnu runs a company's growth: it finds buyers, reaches them in the founder's voice, runs paid ads, and gets the business showing up in AI answers. This app brings that work into ChatGPT. Ask what's waiting and the review queue opens in the chat as cards. Each one is a drafted reply, a blog post ready to publish, or an ad budget change. You approve, send, snooze, request changes or dismiss it without leaving the conversation. Nothing goes out without your say-so, unless you've told Revnu that kind of work may ship on its own. What you can do from ChatGPT: - Review queue: list, open, approve, send, snooze, request changes on or dismiss cards. - Hand over a job: ask Revnu to do something ("find 20 fintech CFOs in London", "draft a post on our pricing change") and check how it's going. - Results: read what each channel produced (meetings, replies, ad spend and conversions, pages ranking). - Pipeline: list leads, open one, set its labels. - Block list: see, add and remove people and domains Revnu must never contact. - Workflows: create, change, pause, resume or delete recurring work, and read its runs. Every tool acts on your own Revnu account, with the permissions you grant when you connect. Each connected app gets its own token, which you can revoke in Settings → API Tokens.

Tools

agent_message_status

ChatGPT
Poll one request sent through ask_revnu by requestId: its status and any replies so far.

agent_status

ChatGPT
Whether the agent is up and busy: sandbox state, last activity, whether a turn is running, and the next scheduled wake.

agent_thread

ChatGPT
This token's conversation with the agent, newest first. Each token is its own thread; the customer's dashboard and Slack conversations are not included.

ask_revnu

ChatGPT
Ask the customer's Revnu growth agent to do growth work: find and research leads, draft or send outreach, write or publish content, change ads, report results, or answer a question about the account. It is the same agent the customer talks to in the Revnu chat, with the same tools and memory; the other tools only read or resolve the review queue, leads and workflows. Waits up to waitSeconds (default 60, max 200) and returns status (queued, running, replied, failed) and replies. replies can hold progress updates while the status is still running; the work is done only once the status is replied. Work the agent wants approved lands in the review queue (review_list). Give the whole task in one message. While an earlier request from this connection is still queued or running, a new message is not sent: the call waits on the earlier request and returns its progress with notSent. Poll it with agent_message_status. Pass interrupt: true only when the customer asks to change or stop the running work; the agent then drops it and starts on the new message. Pass queue: true to hand over another job without stopping the running one: it is sent now and the agent starts it once the current work is done. Pass a clientRequestId so a retry of the same request is safe.

blocklist_add

ChatGPT
Block up to 500 domains, email addresses or LinkedIn profiles (acme.com, jane@acme.com, Jane <jane@acme.com>, linkedin.com/in/jane-doe) so the agent never contacts them. Returns how many were added, how many were already blocked, and the values it could not parse. Needs leads:write.

blocklist_list

ChatGPT
The customer's block list, newest first: the domains and addresses their agent will never research or contact. Pass back nextCursor for the next page. Read-only.

blocklist_remove

ChatGPT
Unblock one entry by its id from blocklist_list, so the agent may contact that domain or address again. Only do this on the customer's explicit say-so: a wrong unblock can email someone who should not hear from them. An address that unsubscribed returns 409 and stays blocked. Needs leads:write.

customer_sync

ChatGPT
Import or update a sourced signup, trial, customer or former customer. Links the company in Leads, preserves outreach history, excludes known identities from cold outreach and cancels linked pending cold pitches. Reuse source and externalId on retries. Provide an email, website, domain or LinkedIn profile; a personal email alone excludes that person without inventing a company. Former customers stay excluded. Call only when the customer asks to import or sync their customer data. Needs leads:write.

lead_get

ChatGPT
One lead with its contacts (capped at 50; contactsTruncated says when). Read-only. In hosts that support MCP Apps, the user also sees this result in the Revnu app.

lead_note_add

ChatGPT
Add a note to a lead's timeline: what happened on a call, what they asked for, a next step. The customer's team and their Revnu agent read it on the lead. Needs leads:write.

lead_update

ChatGPT
Label a lead: set its vertical, archetype or tags (tags replace the whole list). Pass null to clear a field; omitted fields are left alone. Changes labels only, never status or outreach. Needs leads:write.

leads_list

ChatGPT
The customer's leads, newest first, with status and outreach counts but never draft bodies. Pass back nextCursor for the next page. Read-only. In hosts that support MCP Apps, the user also sees this result in the Revnu app.

linkedin_person

ChatGPT
One person's LinkedIn relationship with each of the customer's connected LinkedIn accounts (or the one named in account): whether they're connected, any pending invite and when it was sent, Revnu's own invite record with when it saw acceptance, and the newest 50 messages with who sent each. profile is a linkedin.com/in/ URL or id. Read live from LinkedIn: each account is one paced profile lookup, so look people up as you need them rather than in bulk. Read-only.

results_get

ChatGPT
The customer's growth scoreboard for a window ending now: per-channel sections that are either {available: true, data} or {available: false, reason}. Zero and unknown are different. since is epoch milliseconds, clamped to the last 31 days; default 24 hours. In hosts that support MCP Apps, the user also sees this result in the Revnu app.

review_answer

ChatGPT
Resolve a card the way the dashboard's primary button would. approve for drafts, budgets and proposals; answer with text for questions; choose with exactly one optionValues entry for choices. Only use a verb listed in the card's actions. Gmail cards return 409 use_send: call review_send instead. This is a real approval: a blog draft publishes, a Reddit post posts, an outbound proposal sets up.

review_dismiss

ChatGPT
Decline a card. It closes without shipping, the agent's trust level for that kind of work resets, and reason (up to 2,000 characters) teaches the agent what to change next time.

review_get

ChatGPT
One review card by id, including its full payload (draft text, options, research). Read-only.

review_list

ChatGPT
List what is waiting for the customer's approval: drafts, questions, budgets and other cards their revnu growth agent has queued. Each card carries actions, the exact verbs the API accepts for it, and primaryLabel, what the dashboard's main button would say. One call returns up to 50 open cards (pass limit for up to 100; any beyond that are not returned): pending ones and ones the agent is revising together, with status on each card saying which. There is no status filter. In hosts that support MCP Apps, the user also sees the cards, with their buttons, in the Revnu app. Read-only.

review_request_changes

ChatGPT
Send a card back to the agent with feedback. The agent revises it and a new version returns to the queue. Use this instead of approving something that is nearly right.

review_send

ChatGPT
Approve and send a Gmail reply or draft card. Pass body to send an edited version instead of the draft. This sends real email from the customer's mailbox.

review_snooze

ChatGPT
Hide a card until until (epoch milliseconds, in the future). Cancels any auto-ship deadline on it.

whoami

ChatGPT
Who this token is: its label, scopes, the revnu account it belongs to, and the rate limits it is held to. Needs no scope. Its scopes say which tools this token can use.

workflow_create

ChatGPT
Create a recurring workflow, exactly as the dashboard editor does. scheduleText is plain words (every weekday at 09:00 Europe/London); each step is a title plus optional details lines, and gate: { on: true } makes that step wait for a human ok. Put volume in the details as words (five per day). The workflow is live on creation; read it back with workflows_list for nextRunAt, or scheduleError when the schedule was not understood. Needs workflows:write.

workflow_delete

ChatGPT
Delete a workflow so it never runs again. Its past runs stay readable. This cannot be undone; use workflow_pause to stop it for now. Needs workflows:write.

workflow_pause

ChatGPT
Pause a workflow: it keeps its steps and schedule but stops running until resumed. Needs workflows:write.

workflow_resume

ChatGPT
Resume a paused workflow on its schedule. Needs workflows:write.

workflow_run

ChatGPT
Run a workflow now instead of waiting for its next scheduled time. The schedule is unchanged; only a scheduled run less than an hour away is replaced by this one. Returns the queued run's id; it starts within about a minute, and workflow_runs shows its progress. Pass a clientRequestId so a retry is safe. Needs workflows:write.

workflow_runs

ChatGPT
Run history for one workflow, newest first, with per-step outcomes. Read-only.

workflow_update

ChatGPT
Change a workflow's name, description, schedule, destination or status. steps, when passed, replaces the whole list. Fields left out are unchanged. Needs workflows:write.

workflows_list

ChatGPT
The customer's recurring workflows with their schedule, next run and steps. Read-only. In hosts that support MCP Apps, the user also sees this result in the Revnu app.

Capabilities

WritesInteractive

Example Prompts

Click any prompt to copy it.

Similar Apps