MCP App Store
by KeenEthics
Business & Operations
OneUp Today icon

OneUp Today

by OneUp Today

Overview

OneUp Today finds people on Reddit who are already describing the problem your product solves, and turns them into a reviewable outreach pipeline. With this plugin you can review the campaigns running in your OneUp account, browse the leads each one discovered with their relevance scores and funnel status, read the conversation history with any lead, and draft a personalized opener using OneUp's message writer. Approved drafts can be queued for delivery, and you can check send readiness before you do. Every message is delivered through your own connected browser session, so outreach always goes out as you, on your own account, after you have approved it. Drafting and sending are always separate steps: nothing is sent without an explicit confirmation. New here? Sign in with Google on first use; the account is created for you and the first Reddit lead search starts from this chat: say what your product's website is. Requires a OneUp Today account.

Tools

add_lead_notes

ChatGPT
Save the free-text note on a lead, replacing any note already there (include the old text to keep it). Notes are for the user, never sent to anyone.

add_search_term

ChatGPT
Add a tracked Reddit text-search term (shared across your account): a phrase people write when they need the product, such as 'crm for a small sales team'. Not a username: Reddit search cannot find a person by name.

cancel_queued_dm

ChatGPT
Cancel a DM that is queued for the Chrome extension to send, before it goes out.

cancel_queued_reply

ChatGPT
Cancel a reply that is queued for the Chrome extension to post, before it goes out. Does nothing to a reply that has already been posted.

create_campaign

ChatGPT
Create an agent: type='messaging' (DMs to leads), 'reply' (public replies) or 'content' (standalone post drafts). Each agent has ONE mode and its own cadence; one active agent per (account, type). For Reddit outreach agents use subreddit mode (subreddits), text mode (reddit_search_terms + reddit_search_mode='text'), or switching mode (reddit_search_mode='switching', finds people publicly leaving a competitor; optional switching_competitors, else the product's competitors); content agents need no targeting. Omitting type creates a legacy multi-mode campaign (deprecated).

create_message_template

ChatGPT
Save a reusable message template under a name.

create_product

ChatGPT
Add a product from its website URL. Needed once before creating an agent; the site is read to name the product and the rest fills in on the first lead search.

delete_message

ChatGPT
Delete a message that already failed or was sent, removing it from the thread in OneUp and, for a Reddit DM on an account connected through Reddit sign-in, from the user's own Reddit inbox view. The other person keeps their copy: nothing is unsent.

delete_message_template

ChatGPT
Delete a saved message template permanently.

delete_post

ChatGPT
Throw away an unpublished post draft the user does not want. This is permanent, so confirm with them first. It only works on a post that has not gone out yet (draft or suggested): deleting a published post means taking it down from X or Reddit too, which the user does from that post's page in the app. Nothing else in the queue is touched.

discard_draft

ChatGPT
Throw away the unsent DM draft on a conversation. A conversation that only ever held an unsent first draft is removed with it; otherwise the conversation stays and only its unsent drafts (follow-up included) go, and any queued send is cancelled. Use when the draft is wrong and you do not want to send it.

discard_message

ChatGPT
Discard one specific unsent message by id (a follow-up draft, for example).

draft_reddit_dm

ChatGPT
Generate a personalized Reddit DM opener for a post or comment using OneUp's DM writer. Creates draft copy only; nothing is sent. Consumes account credits.

ensure_followup_draft

ChatGPT
Get the objection-handling follow-up draft for a conversation, writing one if there is no current draft and the lead has replied (nothing is written before their first reply; pass regenerate=true for a fresh one). Draft only; nothing is sent. Consumes account credits when it has to write.

frontdesk_reply

ChatGPT
Send the user's own reply to a website visitor in a chat that was handed over to them; it appears live in the widget on their site. Confirm the exact text with the user first; once confirmed, make the call.

generate_reply_suggestions

ChatGPT
Write three suggested replies for a conversation, grounded in the original post and the user's product, plus the conversation's objection-handling follow-up draft first when there is one. Nothing is sent; it may also save or refresh that follow-up draft. Consumes account credits.

get_campaign

ChatGPT
Get full detail for one agent: its config, the product it promotes, its connected account and its analytics totals (messages are in list_conversations).

get_campaign_activity

ChatGPT
Get an agent's audit log (created/edited/paused/resumed/run_now), with actor.

get_conversation

ChatGPT
Get one conversation: the lead, its status, the post or comment it started from, and the thread's newest 20 messages (message_count gives the total).

get_frontdesk_conversation

ChatGPT
Transcript of one website-chatbot conversation (its newest 40 messages, in reading order), plus the visitor's details.

get_frontdesk_status

ChatGPT
Whether Front Desk (the chat widget on the user's own website) is set up and live: domain, availability right now, unread conversation count, and knowledge base size. Start here for any Front Desk question.

get_lead

ChatGPT
Get one lead's detail (scores, status, notes, conversation link).

get_lead_stats

ChatGPT
Pipeline summary for the user's leads: totals by status (new, engaged, qualified, trail, paid, disqualified), by source, and by agent. Use this for 'how are my leads doing' before listing anything.

get_outreach_readiness

ChatGPT
Report whether real Reddit sends are possible right now (send-token freshness, and per agent whether enough posts are gathered for it to run), with plain-English advice on what to do.

get_post

ChatGPT
One post in full: its whole body, the title and subreddit for Reddit, attached media, the series it belongs to, which agent run produced it, and, once it is live, the URL it was published at with its likes and comments. Use this after list_posts whenever the user asks to read, review, or check on a specific post. Also returns review_url, the page in the app where they can edit and publish it.

get_reply

ChatGPT
Get one reply in full: its text, status, and the post or comment it answers.

get_run_details

ChatGPT
Get one run's stats (posts fetched/analyzed/relevant, messages sent).

list_agent_replies

ChatGPT
List replies belonging to ONE agent, optionally filtered by status (draft/posted/discarded/failed). Use list_reply_drafts for the cross-agent view.

list_campaign_runs

ChatGPT
List an agent's run history with per-run stats (paginated).

list_campaigns

ChatGPT
List your agents (Messaging, Email, Reply, Content) with status, platform, schedule and targeting. Each row's agent_label names which kind it is in the user's words: an Email Agent is stored as agent_type 'messaging' on platform 'email', so read agent_label or roster_type, not agent_type, to tell them apart. Rows without agent_type are legacy multi-mode campaigns. paused_note and status_note say in plain words why a quiet agent is quiet (waiting for posts, finished, paused) and what restarts it.

list_conversations

ChatGPT
List conversations (unread, draft, or replied) across all agents, or for one agent when campaign_id is given. Use filter=draft to see messages waiting for approval.

list_disqualification_reasons

ChatGPT
The reasons a lead can be disqualified, for use with update_lead_status.

list_frontdesk_conversations

ChatGPT
Recent conversations visitors had with the website chatbot, newest first. Filter to only the ones handed over to the user (escalated) or only unread ones.

list_leads

ChatGPT
List leads for you or a campaign, optionally filtered by funnel status.

list_message_templates

ChatGPT
List your saved message templates (reusable snippets you send often).

list_posts

ChatGPT
List the user's posts and post drafts, newest first: what the Content Agent wrote, plus posts the user drafted in the app. Use it for 'what drafts are waiting on me', 'what did my agent write', or 'what have I published'. Filter by status ('draft' = written but not published, 'published' = live, plus suggested/scheduled/processing/failed), by platform, and by origin ('agent' = written by an agent, 'composer' = the user's own app draft). Returns {count, posts:[{post_id, platform, status, kind, origin, title, subreddit, series, media_count, created_on, scheduled_time, preview}]}. Pass a post_id to get_post for the full text.

list_products

ChatGPT
Lists the products a Reddit lead search can run for: every product on the user's OneUp Today account, with product_id, name, description and url. start_reddit_lead_search with a product_id finds people on Reddit for one of them. An empty list on a new account means no search has run yet; the first start_reddit_lead_search creates the product.

list_reply_drafts

ChatGPT
List public reply drafts your Reply agents have written, across every agent: ones waiting on your approval, plus approved ones still queued to post (queue_state is set on those). Returns reply_id + campaign_id (pass it as agent_id), the draft text, and what it replies to.

list_reply_history

ChatGPT
List replies that have already been posted, newest first. Optionally narrow to one connected account with social_id. Use this to see what actually went out.

list_socials

ChatGPT
List connected social accounts; Reddit rows include send-token freshness.

lookup_conversation

ChatGPT
Find a conversation by its id alone when you do not know which agent it belongs to. Returns the conversation plus its agent_id, which the other conversation tools need.

mark_conversation_read

ChatGPT
Mark one conversation as read, the same as opening it in the app inbox.

mark_conversation_unread

ChatGPT
Mark one conversation unread again so it resurfaces in the inbox.

mark_frontdesk_read

ChatGPT
Mark one website-chatbot conversation as read, clearing it from the unread badge.

pause_campaign

ChatGPT
Pause an agent (status -> paused, paused_reason owner_paused): its scheduled runs stop and it stays paused, resumable at any time with resume_campaign. This replaces any automatic pause the agent was in, so only resume_campaign restarts it. Nothing it found is deleted. Idempotent.

post_reply

ChatGPT
Publish a reply draft to Reddit, X, Instagram or Threads from the user's own connected account. It posts publicly right away, except on a Reddit account connected through the OneUp Chrome extension, where the result status is "queued" and it posts when the user's browser is open (tell the user it is queued, never that it was posted; cancel_queued_reply stops it). Confirm the exact text with the user first; once they have confirmed, make the call. Pass reply_text to edit the draft before posting.

regenerate_draft

ChatGPT
Rewrite the unsent draft on a conversation. Pass instruction to steer it (shorter, warmer, answer their question); omit it to regenerate from scratch. Replaces the current draft; nothing is sent. Consumes account credits.

remove_search_term

ChatGPT
Remove a tracked Reddit text-search term.

reply_in_conversation

ChatGPT
Send a reply in an existing DM or email thread from the user's own account; on a Threads conversation the reply is published publicly. It goes to the other person, so confirm the exact text with the user first; once confirmed, make the call. Returns a job id and the send completes in the background, except an X reply, which is queued for the OneUp Chrome extension to send.

resume_campaign

ChatGPT
Resume a paused agent (status -> scheduled). Idempotent. A messaging agent on a karma-laddered Reddit account stays paused and starts by itself once the ladder completes.

retry_reply

ChatGPT
Retry a reply that failed to send, optionally clearing the failed message (only a message marked failed) first. Sends to the other person, so confirm with the user before running.

run_campaign_now

ChatGPT
Trigger a manual campaign run now. Runs discovery and drafting, which consumes account credits. Drafts only (no sends) unless a fresh send token is present — check get_outreach_readiness first.

search_conversations

ChatGPT
Search across every conversation you own by username, profile fields, or message text. Use this to find a thread when you do not know its conversation_id.

search_help

ChatGPT
Search OneUp Today's own help docs. Use for questions about how the product works: connecting an account, what a setting does, the Chrome extension, how an agent decides what to do. Returns matching help articles with links.

select_reply

ChatGPT
Choose one reply draft when the agent generated several variants for the same target. The siblings are discarded; the chosen one stays a draft. Does not post it.

send_draft

ChatGPT
Send an existing draft conversation for real delivery to the recipient on Reddit. Call with campaign_id and conversation_id from list_conversations; omit private_message to deliver the stored draft unchanged. Sends immediately; if the account sent too recently, the DM is queued and the user's OneUp browser extension sends it when the pacing window ends (result status "queued"; cancel_queued_dm stops it). A disconnected or stale Reddit account is refused, not queued. This contacts a real person, so confirm with the user first; once the user has confirmed, make this call.

seo_add_keyword

ChatGPT
Add one keyword of your own to a site's plan, so the agent writes about it too.

seo_approve_article

ChatGPT
Approve an article the SEO agent wrote so it publishes to the user's live blog immediately, or at publish_at (ISO time) to schedule it. This publishes to their site, so confirm with the user first.

seo_build_keyword_plan

ChatGPT
Rebuild this site's keyword plan from its product. Runs in the background; returns status 'building' if one is already running.

seo_create_site

ChatGPT
Add a site for the SEO agent to write for. Needs a name and the product_id the blog is about (the product drives the keyword plan). site_type defaults to 'feed': nothing to connect, the user's site pulls published articles from a feed URL. A WordPress or webhook site needs credentials and is connected in the web app.

seo_delete_site

ChatGPT
Permanently remove an SEO site and stop it generating anything further.

seo_generate_article_now

ChatGPT
Write one article for this site now instead of waiting for its schedule. Runs in the background; it lands in the review queue, except on a site with auto_publish on, where it goes live on the blog once written. Consumes account credits, so confirm with the user first.

seo_get_keyword_plan

ChatGPT
Show the keyword plan driving this site: the topics queued, done, and their priority.

seo_get_ranks

ChatGPT
Show tracked keyword positions over time for one published article.

seo_get_site

ChatGPT
Get one SEO site in full: its settings, publishing target, and article usage this period.

seo_get_traffic

ChatGPT
Traffic for a site over the last N days, or for one article when article_id is given. Comes from the connected Search Console property.

seo_keyword_chat

ChatGPT
Ask a question about this site's keyword strategy and get an answer grounded in its plan, traffic and live keyword data. It may add keywords it recommends to the site's plan. Free.

seo_list_pending_articles

ChatGPT
List articles the SEO agent has written and is waiting on you to approve.

seo_list_sites

ChatGPT
List the blogs/sites your SEO agent writes for, with their status and article usage.

seo_pause_site

ChatGPT
Pause an SEO site so it stops writing new articles until resumed. Articles already approved or scheduled still publish at their time.

seo_resume_site

ChatGPT
Resume a paused SEO site so its schedule starts producing articles again.

seo_unschedule_article

ChatGPT
Take a scheduled article back out of the publishing queue; it returns to review.

seo_update_site

ChatGPT
Change an SEO site's settings: its name, the product it writes about, how many articles a month it writes (each one charged), article length, the country it tracks rankings in, whether new articles publish without review, and whether articles get images.

seo_verify_site

ChatGPT
Check that OneUp can actually reach and publish to this site, and report what is wrong.

setup_front_desk

ChatGPT
Turn Front Desk on for the user's website and return the one script tag that installs it. Creates the chatbot if they do not have one, starts the knowledge-base build from their product and a crawl of their site. Running it again just returns the script tag; rebuild_knowledge=true re-crawls and replaces the knowledge base, hand-edited passages included. Use this when someone wants the chat widget on their site.

star_conversation

ChatGPT
Star or unstar a conversation. Pass starred=false to remove the star.

sync_social_dms

ChatGPT
Pull in new DMs and replies from a connected account right now instead of waiting for the next scheduled sync. Supports reddit, instagram, facebook, and threads.

update_campaign

ChatGPT
Edit an existing campaign's configuration: theme, target user count, discovery run frequency, or DM/reply toggles. Not for creating or scheduling social-media posts.

update_lead_status

ChatGPT
Move a lead through the funnel: engaged/qualified/paid or disqualified.

update_message_template

ChatGPT
Rename a saved message template, change its body, or both.

use_message_template

ChatGPT
Record that a template was used, which keeps its usage count and ordering fresh.

whoami

ChatGPT
Identify the authenticated OneUp account: user_id, name, email, company owner, and prepaid wallet balance (amounts in cents), plus the date the free starting credit ends (trial_expires_on).

Capabilities

InteractiveWrites

Example Prompts

Click any prompt to copy it.

App Stats

83

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily