Connection check
verified live · 28h ago
productclank
Boost posts and launch community growth campaigns from your AI assistant. OAuth, credit-billed.
Tools
30
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
28h ago
Tools & capabilities
30 toolsRead from the running server on 28h ago.
add_delegate
user_id*campaign_id*
Add a ProductClank user as a delegate on a campaign so they can view and manage it from the webapp's My Campaigns page. Free. Useful to hand oversight of an agent-created campaign… Add a ProductClank user as a delegate on a campaign so they can view and manage it from the webapp's My Campaigns page. Free. Useful to hand oversight of an agent-created campaign to its human owner (the connected user's own id works too).
boost_post
post_url*product_idaction_typereply_guidelines
Rally the ProductClank community to engage with a specific social post. Creates a boost campaign and spends the user's credits: 'replies' generates 10 AI reply drafts (200 credits)… Rally the ProductClank community to engage with a specific social post. Creates a boost campaign and spends the user's credits: 'replies' generates 10 AI reply drafts (200 credits); 'likes' (30 likes) and 'repost' (10 reposts) cost 300. Supports Twitter/X, Instagram, TikTok, LinkedIn, Reddit, Farcaster, and YouTube (replies + likes on YouTube; reposts only on X and Farcaster) — the platform is auto-detected from the URL. product_id is OPTIONAL: link a product (from search_products or create_product) to tailor replies with the product name, or omit it for a tweet-first boost that uses generic amplification language. Confirm the action and its credit cost with the user before calling.
check_balance
read-only
Return the connected user's ProductClank credit balance and plan. Use before launching a campaign to confirm they have enough credits (a content campaign costs 1000; a reply boost… Return the connected user's ProductClank credit balance and plan. Use before launching a campaign to confirm they have enough credits (a content campaign costs 1000; a reply boost 200; likes/reposts 300; a discovery campaign 10 to create + 12/post discovered).
create_campaign
title*keywords*platformproduct_id*visibilityreply_length
+6
Create a Communiply discovery campaign: it continuously finds relevant social posts (by keyword) and drafts replies that mention the product. BEFORE calling: the keywords and searc… Create a Communiply discovery campaign: it continuously finds relevant social posts (by keyword) and drafts replies that mention the product. BEFORE calling: the keywords and search_context are YOURS to derive, and deriving them well is most of the campaign's quality — actually fetch and read the product's website (and any docs or pages the user pointed at), work out who the audience is and the phrases they use when they have the problem the product solves, and build keywords + search_context from that. Do it in this conversation, for free — it is not billed, and you can iterate with the user before anything is spent. If you cannot browse the web from this client, SAY SO to the user and build from what they tell you instead — never silently guess from the product's name alone. Credits pay only for what you cannot do here: scraping the platforms, real community members posting, and proof verification. Costs 10 credits to create; discovering posts is billed separately via generate_posts (12 credits/post). Needs a product_id (search_products / create_product). Two ways to run it, and the user picks: PRIVATE (the default here) keeps drafts in their workbench to review and post themselves — reversible, no further cost; PUBLIC puts the drafts in the ProductClank earn feed so community members post them from their own accounts — that is the reach the platform exists for, and each network-posted reply bills the user extra credits. Default to private when the user has not said, and relay the decision_offer in the result so they can choose. Pick the `platform` the product's audience actually talks on — X (default), LinkedIn, Reddit or YouTube — and for Reddit/YouTube narrow it with target_subreddits / target_youtube_channels. Topic research auto-runs in the background at create (~30s); read it with get_research before spending on generate_posts. Confirm the credit cost with the user before calling.
create_content_campaign
product_id*referencescampaign_goalstarget_audiencecampaign_message*preferred_platform
+1
Launch a content campaign: rally the ProductClank community to create content (posts, threads, videos) for a product. Spends 1000 credits. The platform's AI expands your brief into… Launch a content campaign: rally the ProductClank community to create content (posts, threads, videos) for a product. Spends 1000 credits. The platform's AI expands your brief into a full campaign and auto-activates it; community submissions and winner selection happen in the ProductClank web app. Requires a product_id from search_products. Preview with suggest_content_campaign and confirm the 1000-credit cost with the user before calling.
create_product
urllogonametaglinetwitterwebsite
+2
List a new product on ProductClank as a token-free listing (no crypto/token, no wallet). At minimum pass a `url` — the server auto-fills the name, tagline, description, logo, and X… List a new product on ProductClank as a token-free listing (no crypto/token, no wallet). At minimum pass a `url` — the server auto-fills the name, tagline, description, logo, and X handle from the site; any field you pass explicitly overrides what's extracted. Socials are optional. Use this when search_products finds no existing match and the user wants to run a boost or campaign for a product that isn't listed yet. Returns the new product's id (and reuses an existing listing if one already matches, rather than duplicating). FREE — no credits charged. Confirm the product details with the user before calling.
credit_history
read-only
limitoffset
The connected user's credit transactions (purchases, campaign spend, participation rewards), newest first. Free, read-only. Use to account for what this connector has spent or earn… The connected user's credit transactions (purchases, campaign spend, participation rewards), newest first. Free, read-only. Use to account for what this connector has spent or earned. Top-ups are NOT available in-connector — send the user to app.productclank.com/credits/purchase when the balance runs low.
find_open_campaigns
read-only
kindlimit
Discover content and take-action campaigns the connected user can join and earn from: every active public campaign plus campaigns from communities the user belongs to. Each item ha… Discover content and take-action campaigns the connected user can join and earn from: every active public campaign plus campaigns from communities the user belongs to. Each item has a kind — 'content' (create a post/thread/video about the product) or 'take_action' (do a concrete action like voting or starring, with URL/description proof). Free, read-only. Follow with get_campaign_brief before doing any work.
find_opportunities
read-only
limitoffsetcampaign_id
Browse unclaimed reply drafts from active campaigns the connected user can earn from: each item is a real social post plus a pre-drafted reply, with the `platform` it lives on (X,… Browse unclaimed reply drafts from active campaigns the connected user can earn from: each item is a real social post plus a pre-drafted reply, with the `platform` it lives on (X, Reddit, YouTube, LinkedIn). Free, read-only. Flow: pick an opportunity → the user posts the reply (verbatim or personalized) from their own account on that platform → call submit_participation with the posted reply's URL. The user needs that platform's handle linked on their ProductClank profile for the reward to be attributable. Returns reply opportunities only — likes and reposts are proved with a screenshot and stay in the web app (app.productclank.com/communiply/feed).
generate_posts
campaign_id*
Run the campaign's discovery pipeline: scrapes social platforms for posts matching the keywords and drafts a community reply for each. Costs 12 credits PER POST discovered (a typic… Run the campaign's discovery pipeline: scrapes social platforms for posts matching the keywords and drafts a community reply for each. Costs 12 credits PER POST discovered (a typical run finds 5–20 posts, so 60–240 credits) and can take a few minutes. Check check_balance first and confirm the spend with the user. Then use get_posts to read results and review_posts to prune irrelevant ones.
get_campaign
read-only
campaign_id*
Get one campaign's configuration (keywords, search context, reply settings) plus live stats: posts discovered, replies by status. Free. Use to check progress after generate_posts o… Get one campaign's configuration (keywords, search context, reply settings) plus live stats: posts discovered, replies by status. Free. Use to check progress after generate_posts or before adjusting the campaign.
get_campaign_activity
read-only
limitsincecampaign_id*
Catch up on a campaign since the last check: posts discovered, replies claimed by community members, LIVE links to what they actually posted, and the engagement those replies drew.… Catch up on a campaign since the last check: posts discovered, replies claimed by community members, LIVE links to what they actually posted, and the engagement those replies drew. Free, and it never scrapes — safe to call at the start of every session. Pass `since` (the `checked_at` from the previous call) to get only what is new; omit it for the last 24 hours. Use this to resume a standing growth operation across chats, then get_campaign_results for the cumulative picture.
get_campaign_brief
read-only
campaign_id*
The full brief for one campaign: what to create or do (action message, brief sections, content types), how submissions are judged (eligibility + selection criteria), rewards, deadl… The full brief for one campaign: what to create or do (action message, brief sections, content types), how submissions are judged (eligibility + selection criteria), rewards, deadline, and how many submissions the user has left. Free, read-only. If the brief links external instructions (e.g. a skill file), fetch and follow them. Then: create the content or take the action WITH the user, and call submit_campaign_work with the proof.
get_campaign_results
read-only
campaign_id*
The cumulative scorecard for a campaign: the funnel (posts discovered → kept → replies drafted → claimed → posted → approved), the approval rate, whether posted replies survived on… The cumulative scorecard for a campaign: the funnel (posts discovered → kept → replies drafted → claimed → posted → approved), the approval rate, whether posted replies survived on-platform, the engagement they drew, total credits spent broken down by operation, and the cost per usable reply. Free, and it never scrapes — unlike the web report it costs nothing to poll. Use it to answer 'is this working and what am I paying for it?'.
get_earnings
read-only
The connected user's participation totals: points, credit balance, and reply stats (submitted / approved / rejected / strikes) for work submitted through this connector. Free, read… The connected user's participation totals: points, credit balance, and reply stats (submitted / approved / rejected / strikes) for work submitted through this connector. Free, read-only.
get_my_submissions
read-only
campaign_id*
The connected user's submissions to one campaign: pending / approved / rejected, with the reviewer's notes. Free, read-only. Use to report outcomes back to the user after submit_ca… The connected user's submissions to one campaign: pending / approved / rejected, with the reviewer's notes. Free, read-only. Use to report outcomes back to the user after submit_campaign_work.
get_posts
read-only
limitoffsetstatuscampaign_id*include_replies
Read a campaign's discovered posts with their drafted replies. Free. Use after generate_posts to inspect what was found, then review_posts / regenerate_replies to refine. Read a campaign's discovered posts with their drafted replies. Free. Use after generate_posts to inspect what was found, then review_posts / regenerate_replies to refine.
get_research
read-only
campaign_id*
Read the cached topic/competitor analysis for a campaign (from run_research). Free. Also reports which of its findings the campaign is actually searching: expanded keywords and exc… Read the cached topic/competitor analysis for a campaign (from run_research). Free. Also reports which of its findings the campaign is actually searching: expanded keywords and exclusion terms always apply, while phrases / influencer accounts / lists / competitors stay dormant until their source is enabled via update_campaign.
list_campaigns
read-only
limitoffsetstatus
List ALL the connected user's discovery/boost campaigns, newest first — including ones created in the ProductClank web app, not just via this connector. Free. Use to find a campaig… List ALL the connected user's discovery/boost campaigns, newest first — including ones created in the ProductClank web app, not just via this connector. Free. Use to find a campaign id before get_campaign / generate_posts / get_posts.
list_content_spaces
read-only
List the ProductClank content spaces you can draft into — spaces the user owns, delegates for, or manages that have their content engine turned on. Returns { space_id, name }. Call… List the ProductClank content spaces you can draft into — spaces the user owns, delegates for, or manages that have their content engine turned on. Returns { space_id, name }. Call this first to resolve the space_id for write_content_candidates, and confirm the target space with the user.
regenerate_replies
post_ids*campaign_id*edit_request*
Redraft the replies of specific posts with an edit request (e.g. 'shorter, no emojis, lead with the user's problem'). Costs 5 credits per reply regenerated; already-claimed replies… Redraft the replies of specific posts with an edit request (e.g. 'shorter, no emojis, lead with the user's problem'). Costs 5 credits per reply regenerated; already-claimed replies are refused. Get post ids from get_posts. Confirm the spend with the user.
review_posts
can modify data
dry_runthresholdcampaign_id*review_rules
Score every discovered post against relevancy rules and delete the irrelevant ones (kept when dry_run:true). Costs 2 credits per post reviewed — dry runs are billed too, since the… Score every discovered post against relevancy rules and delete the irrelevant ones (kept when dry_run:true). Costs 2 credits per post reviewed — dry runs are billed too, since the AI review runs either way. Start with dry_run:true to preview the verdicts, then re-run with dry_run:false to prune. Confirm the spend with the user.
run_research
forcecampaign_id*
FREE pre-flight before spending credits: analyzes the campaign's keywords/topic and returns expanded keywords, high-intent phrases, influencer accounts, relevant X lists, and compe… FREE pre-flight before spending credits: analyzes the campaign's keywords/topic and returns expanded keywords, high-intent phrases, influencer accounts, relevant X lists, and competitors. The EXPANDED KEYWORDS and exclusion terms are applied automatically by the next generate_posts run. Everything else is NOT: phrases, influencer accounts, lists and competitors are only searched once their source is enabled — the result reports which are dormant, and update_campaign (free) switches them on. Cached for 7 days — pass force:true to refresh.
search_products
read-only
limitquery*
Search the user's ProductClank products by name and return their IDs. A product_id is required to create or boost a campaign — use this to resolve it, then confirm the match with t… Search the user's ProductClank products by name and return their IDs. A product_id is required to create or boost a campaign — use this to resolve it, then confirm the match with the user.
set_campaign_schedule
enabled*confirmedcampaign_id*posts_per_runfrequency_per_day
Turn standing discovery on or off for a campaign. Calling this is free, but switching it ON authorizes spend that happens LATER and unattended: an hourly job runs discovery on its… Turn standing discovery on or off for a campaign. Calling this is free, but switching it ON authorizes spend that happens LATER and unattended: an hourly job runs discovery on its own and bills the user 12 credits per post it finds, with nobody in the loop. So there are two steps and you must not skip the first. STEP 1 — call with enabled:true and NO confirmed flag: nothing is changed and you get back the projected daily and monthly cost, the balance, and how many days of runway that is. STEP 2 — show the user those numbers, get a real yes, then call again with confirmed:true. Never send confirmed:true on your own initiative, on an assumption, or because the user said something general like 'keep it going' — the user has to have seen a number. Turning it OFF (enabled:false) is always safe and needs no confirmation; do it whenever the user asks to stop. Limits on this path are deliberately lower than the website's: up to 4 runs/day, up to 20 posts/run, and never more than 600 projected credits/day. Read the current schedule with get_campaign.
submit_campaign_work
media_urlproof_urlcampaign_id*description
Submit the user's work for a campaign. Three ways to prove it, and any one is enough: proof_url (content they published or an action they took), media_url (a hosted image or video… Submit the user's work for a campaign. Three ways to prove it, and any one is enough: proof_url (content they published or an action they took), media_url (a hosted image or video made for the task — the ad-hoc creative case: a demo clip, a mockup, a designed asset), and description (max 500 chars). Media must already be hosted somewhere public and reachable — this API takes links, never uploads; a direct image link is shown to the reviewer inline, anything else (a video, a Loom) is shown as a link they open. If a URL is an X post it must be published by the user's linked X handle (author-verified); other URLs are accepted as-is. Lands as PENDING — the campaign owner reviews and rewards ship on approval (community campaigns pay Stars, public ones leaderboard points). Duplicate URLs are rejected. Check status afterward with get_my_submissions.
submit_participation
reply_id*reply_url*
Submit the URL of a reply the connected user posted for a claimed opportunity (reply_id from find_opportunities). Works for X, Reddit, YouTube and LinkedIn replies. Every claim is… Submit the URL of a reply the connected user posted for a claimed opportunity (reply_id from find_opportunities). Works for X, Reddit, YouTube and LinkedIn replies. Every claim is attributed to the user's linked handle for that platform, so they must have it connected on their ProductClank profile — X replies are additionally author-verified against the live post at submit time, and the others are verified afterwards by the same checks that cover web submissions. If the platform handle is missing the call fails saying which one to add. Awards points, and credits when the campaign grants them. Rejected submissions add strikes (3 strikes = blocked), so only submit replies the user actually posted.
suggest_content_campaign
read-only
product_id*referencescampaign_goalstarget_audiencecampaign_message*preferred_platform
+1
Preview a content campaign for a product BEFORE launching it. FREE — nothing is created and no credits are charged. Returns an AI-drafted campaign (title, description, call-to-acti… Preview a content campaign for a product BEFORE launching it. FREE — nothing is created and no credits are charged. Returns an AI-drafted campaign (title, description, call-to-action) plus whether the user can afford to launch it (1000 credits). Show the user the draft AND the credit cost, get an explicit yes, then call create_content_campaign — never launch off the back of the preview alone. Requires a product_id from search_products; write the campaign_message brief from what you know about the product.
update_campaign
confirmsourcesplatformis_activevisibilitycampaign_id*
+6
Adjust a live campaign without recreating it. Free — nothing here spends credits, though the next generate_posts run bills as usual. Keywords MERGE (add_keywords never drops what i… Adjust a live campaign without recreating it. Free — nothing here spends credits, though the next generate_posts run bills as usual. Keywords MERGE (add_keywords never drops what is already there). `sources` is how research findings get applied: high-intent phrases, influencer accounts and lists that run_research found stay dormant until you enable their source. `relevance_threshold` moves the bar the relevance gate keeps posts above (new campaigns start lenient at 5; raise it when discovery is noisy). `is_active:false` pauses discovery so nothing more is found or billed. `visibility` decides who posts the drafts — flipping to 'public' also releases the already-discovered drafts to the community, so only do it when the user has said yes. `target_subreddits` / `target_youtube_channels` re-aim discovery within its platform (send an empty array to clear and search the whole platform). `platform` itself can only change while the campaign has discovered nothing — after that it is fixed, and a second campaign is the answer. Changes apply to the NEXT generate_posts run; existing posts are not re-scored.
write_content_candidates
space_id*candidates*