Plan next week's posts from what brought paying customers

  • Paying customers and MRR by channel, campaign and post
  • Drafts saved in Postiz or Publer, never published
  • About 4 ChartsyAI questions a week

The Chartsy growth loop is a skill that has your AI agent check which channels, campaigns and posts brought paying customers, recommend where to focus, and draft next week's posts with tracked links, from your Stripe, Paddle, Polar, Lemon Squeezy, Creem or Freemius data. Last updated October 2026.

Claude Code · Monday 9:00Sample data

Plan next week's posts based on what brought paying customers.

get_revenue_by_sourceget_traffic_sources~2 questions

Double down on search. Cut back on X threads.

  • Google brought 14 of 24 new paying customers, $1,260 MRR today.
  • The newsletter converts best: 18% of its signups paid.
  • RiskX sent 41 signups and no paying customers yet.
  • Three drafts are waiting in Postiz, each with a UTM link.
Sample figures for a made-up business.
The weekly loop

What does the agent do each week?

Six steps, the same every week, so the results are comparable. Chartsy supplies the numbers; the agent judges them and writes the drafts.

StepWhat happensTool
1. Pick the siteIf you track more than one site, the agent asks which onelist_tracked_sites
2. Follow the moneyPaying customers, MRR today and churn for the last 30 days, by source and then by campaign; by post when the numbers are big enoughget_revenue_by_source
3. Check coverageIf more than about 20% of new paying customers match no signup, it says so first: the picture is incompleteget_revenue_by_source
4. Spot the leaksChannels that bring traffic but no paying customers, for the same windowget_traffic_sources
5. Recommend1 or 2 channels or themes to double down on and 1 to reduce, each with the numbers behind itYour agent
6. DraftNext week's posts, modelled on what worked, every link UTM-tagged, saved as drafts for you to approvePostiz or Publer, optional
What you get back

What does the weekly report look like?

A results table, a 3 to 5 sentence recommendation, the drafts it created and a coverage note when the data has gaps. Sample figures for a made-up business.

GroupSignupsPayingSignup to paidMRR todayToo early to call
google / organic214146.5%$1,260No
newsletter33618.2%$690No
linkedin / social5846.9%$360Yes
x / social4100%$0Yes
Recommendation
Double down on search: Google brought 14 paying
customers worth $1,260 MRR, and the comparison
pages drove most of them.

Keep the newsletter: small, but 18% of its
signups paid.

Reduce X threads: 41 signups, none paying yet.
LinkedIn and X are under 5 paying customers, so
treat both as too early to call.

# Sample answer for a made-up business

Ranked by MRR today and signup-to-paid rate. Retention only counts for signups older than about 90 days, and revenue is never estimated: if an account can't return amounts, the agent says so.

Postiz and Publer

What happens in Postiz or Publer?

Connect either one to the same agent and the drafts are saved there for you to review. Nothing goes out without your approval in the conversation. Without a publishing tool, the drafts come back in the chat.

Postiz

Every post is created as a draft, never "schedule" or "now", which publish. Postiz needs a date even on drafts, so the agent uses the planned date and repeats it in its reply. Short links stay off so the UTM tags stay readable, and the tagged link goes in the first part of a thread.

Postiz's MCP server is hosted at mcp.postiz.com/mcp with a Postiz API key, or runs with a self-hosted Postiz.

Postiz MCP docs

Publer

Every post is created with the draft state, never "scheduled": in Publer a scheduled post with no date publishes immediately. Drafts are left undated so they wait in Drafts, with the planned date in the reply. Drafts are visible to everyone in the Publer workspace.

Publer's MCP server is in beta for top ambassadors and Enterprise customers, with an API key that includes the Posts scope.

Publer MCP setup
Tracked links

How does it tag links so next week is measurable?

Every link the agent drafts gets four UTM tags. Chartsy's tracking script reads them, so next week's run can tell which post brought which paying customer.

TagWhat it holdsExample
utm_sourceThe platformx, linkedin, reddit, threads, newsletter
utm_mediumThe kind of channelsocial, email or community
utm_campaignThe theme or week, lowercase with hyphens2026-w43-pricing
utm_contentA unique slug per post, never reusedx-2026-10-15-pricing-thread

The tracking script and signup tracking are set up once: see website tracking setup.

Setup

How do I set up the growth loop?

Chartsy connected to your agent, the skill installed, and optionally a publishing tool. Then one question a week.

Claude Code

The skill comes with the Chartsy plugin, next to the main Chartsy skill.

Claude Code
/plugin marketplace add sprifti/chartsy-agent
/plugin install chartsy@chartsy
Set up Claude Code

Other agents

Any agent that loads Agent Skills. Add your agent with -a; each agent's page has its exact command.

Terminal
npx skills add sprifti/chartsy-agent \
  -a <your-agent> -g
View the skill

Then ask

Once a week, in the same agent. It needs the Chartsy tracking script on your site and a connected payment provider.

Ask
> Plan next week's posts based on what brought paying customers.

Setup guides with the skill: Grok, Manus, Claude Code, Cursor, Codex, Kimi Code, OpenClaw, Hermes Agent and Paperclip.

Cost

How many ChartsyAI questions does the growth loop use?

Each Chartsy tool call uses one ChartsyAI question from your plan's monthly allowance, failed calls included.

What you doCallsChartsy questions a month
Run the loop once a week3 to 5 Chartsy callsAbout 15 to 20
Ask a follow-up, e.g. "why did LinkedIn drop?"1 to 3 more per questionDepends on how many
Saving drafts in Postiz or PublerCalls to their server, not Chartsy's0
Privacy & limits

What the growth loop shares with your agent

Counts and money per channel. All 19 Chartsy tools are read-only, and no customer names or emails leave Chartsy.

  • Read-only

    Your agent can read your numbers. It can't change Chartsy, your payment provider's data, or your customers.

  • IDs, not names

    Customers are payment-processor IDs; names and emails stay in Chartsy. Your agent sees only the accounts and sites your login owns, checked on every call.

  • One question per tool call

    Each call uses one ChartsyAI question from your monthly allowance, failed calls included. Broad questions usually take one call.

FAQ

Growth loop: frequently asked questions

Short answers about the loop, the drafts and what it costs.

What is the Chartsy growth loop?

A weekly routine your AI agent runs from your real revenue data. It checks which channels, campaigns and posts brought paying customers with Chartsy's get_revenue_by_source tool, recommends where to focus, and drafts next week's posts with tracked links. It ships as the chartsy-growth-loop skill in the Chartsy agent repo.

Will it publish posts to my social accounts?

No. Chartsy is read-only and never posts. With Postiz or Publer connected, the agent saves posts as drafts only, and the skill forbids scheduling or publishing without your explicit approval in the conversation. Without a publishing tool, the drafts come back in the chat.

Do I need Postiz or Publer?

No. They're optional. Without one, the agent writes the drafts in its reply and you post them however you like. Connect Postiz or Publer to the same agent and the drafts are saved there instead, ready to review.

Can I use Publer's MCP server?

If your Publer account has it. Publer's MCP server is in beta for top ambassadors and Enterprise customers, set up under Settings → AI & Automations → MCP with an API key that includes the Posts scope. Postiz's MCP server is available to all Postiz users, hosted or self-hosted.

How does it know which posts brought paying customers?

From the UTM tags on your links. Chartsy's tracking script records the source, medium, campaign and content of each visit, links the signup to it, and get_revenue_by_source follows that signup into your billing data. That's why the skill tags every link it drafts with a unique utm_content.

Why does it call some channels "too early to call"?

Groups with fewer than 5 paying customers are flagged as low sample, and the skill never names them winners or losers. Retention only counts for signups older than about 90 days, so a new channel is judged on its signup-to-paid rate first.

Which AI agents can run the growth loop?

Any agent that loads Agent Skills and connects to the Chartsy MCP server, including Claude Code (the skill comes with the Chartsy plugin), Cursor, Codex, OpenClaw, Grok Build, Manus, Kimi Code, Hermes Agent and Paperclip.

How many ChartsyAI questions does it use?

Usually 3 to 5 per weekly run, so about 15 to 20 a month. Each Chartsy tool call uses one ChartsyAI question, failed calls included. Calls to Postiz or Publer don't count against your Chartsy allowance.

Does it work with Stripe and Paddle?

With any payment provider connected to Chartsy: Stripe, Paddle, Polar, Lemon Squeezy, Creem, Freemius or a custom source. Paddle Classic accounts can't return revenue amounts, so the agent says revenue isn't available rather than estimating it.

Let last week's revenue plan next week's posts

Connect your payment provider to Chartsy, install the skill, and ask once a week.

Product names are trademarks of their owners, used only to say what Chartsy works with. Chartsy isn't affiliated with or endorsed by them.

Ministry of Economy and Innovation
Startup Albania

The Chartsy program is realized with the financial support of the Albanian Government through the Ministry of Economy and Innovation, under the Grant 2026 scheme, and is implemented by the Innovation4Albania Agency.