Agent setup guide
Weekly Social Performance Report
Every Monday in Slack: your own Bluesky and Mastodon posts of the week with engagement added up in code, best and worst posts, and one suggestion.
What it does
Every Monday in Slack: your own Bluesky and Mastodon posts of the week with engagement added up in code, best and worst posts, and one suggestion.
- Every Monday, reads your own recent posts from Bluesky's public API and your Mastodon server's public API, without signing in.
- Keeps your posts from the last 7 days in code, leaving out replies and reposts. Dates are worked out in code, never by the AI: days until or since each date, the window and business days are computed in your workflow's time zone, and records outside the window are skipped before the AI sees them.
- Adds up in code each post's engagement (Bluesky: likes, reposts, replies, quotes; Mastodon: favourites, boosts, replies), the week's totals, the average and the highest and lowest post.
- AI names the best and worst post on each network from the counted lists and suggests one thing to try next week, without typing any numbers.
- Posts the report to your Slack channel, with every post's counts.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Slack, connected in Settings → Integrations.
- A public Bluesky account and/or a Mastodon account on a server that allows public API access.
What it doesn't do
- No reach, impressions or follower growth: the networks don't publish them; it reports likes, reposts, replies and quotes (Bluesky) and favourites, boosts and replies (Mastodon).
- It reads your 50 newest Bluesky posts and 40 newest Mastodon posts.
- Bluesky and Mastodon only; it doesn't post or change anything.
- Counts are as the public APIs return them when the report runs.
Availability and plans
Available
Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.
Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.
Before you start
- A paid plan: agents run live, and the Free plan only runs Dry Runs.
- An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
- These apps, connected in Settings → Integrations: Slack.
- Nothing to send: the agent runs on a schedule.
- About 10 minutes.
Set it up step by step
Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.
1. Connect your AI provider
The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.
2. Connect Slack
Connect the Slack workspace for the report (Settings → Integrations → Slack).
3. Your Bluesky and Mastodon accounts
Open “Read your Bluesky posts”, “Find your Mastodon account” and “Read your Mastodon posts” and replace the placeholders in the addresses with your handle, server and username.
| Setting | What to enter | In step |
|---|---|---|
| Your Bluesky handle | In the address, replace YOUR_BLUESKY_HANDLE with your handle, e.g. harborstreetbakery.bsky.social. It starts as “YOUR_BLUESKY_HANDLE” until you replace it. | “Read your Bluesky posts” |
| Your Mastodon server | In the address, replace YOUR_MASTODON_SERVER with your server, e.g. mastodon.social. It starts as “YOUR_MASTODON_SERVER” until you replace it. | “Find your Mastodon account” |
| Your Mastodon username | In the address, replace YOUR_MASTODON_USERNAME with your username without the @ or the server, e.g. harborstreet. It starts as “YOUR_MASTODON_USERNAME” until you replace it. | “Find your Mastodon account” |
| Your Mastodon server (same one) | In the address, replace YOUR_MASTODON_SERVER with the same server. It starts as “YOUR_MASTODON_SERVER” until you replace it. | “Read your Mastodon posts” |
4. Describe your goals
Open “Best and worst posts, one suggestion” and replace the placeholder.
| Setting | What to enter | In step |
|---|---|---|
| Your goals | Replace the placeholder with your business, who you want to reach, what you post and what you want more of. It starts as “[YOUR BUSINESS, WHO YOU WANT TO REACH ON SOCIAL MEDIA, WHAT YOU USUALLY POST AND WHAT YOU WANT MORE OF (REPLIES, LINK CLICKS, NEW FOLLOWERS)]” until you replace it. | “Best and worst posts, one suggestion” |
5. Pick the Slack channel
Open “Post the report” and pick the workspace and channel.
| Setting | What to enter | In step |
|---|---|---|
| Slack account | The Slack workspace for the report. Pick your connected Slack account. | “Post the report” |
| Slack channel | Where the weekly report goes, e.g. #social. | “Post the report” |
6. Test it with Dry Run
Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
7. Switch the trigger on
Open the trigger, set your time zone and switch the schedule on. It runs every Monday at 9:00.
How it works
The agent is a normal workflow with 17 steps (1 AI step). You can open, edit and monitor it like any other workflow.
- Mondays at 9:00 — Runs on a schedule (cron 0 9 * * 1, UTC — change it in the trigger's settings). Runs every Monday morning and covers your posts of the last 7 days. Set your time zone on the trigger.
- Read your Bluesky posts — Calls a web address (HTTP request). Reads your 50 newest Bluesky posts (replies left out) from Bluesky's public API, with their like, repost, reply and quote counts. No sign-in needed.
- Bluesky: last 7 days — Step. In code, not AI: keeps the account's own posts from the last 7 days (today included, in your time zone); reposts of other people's posts are left out.
- Bluesky: add up the engagement — Step. In code, not AI: engagement per post (likes + reposts + replies + quotes), the week's totals and the highest and lowest post.
- Each Bluesky post — Repeats the steps below for each item (up to 50 per run). Lists this week's Bluesky posts with their numbers (up to 50).
- [For each item — “Each Bluesky post”] Listed — Kept in the run history. Nothing is changed on Bluesky.
- Bluesky: list the posts — Step. In code: one line per post with its counts.
- Find your Mastodon account — Calls a web address (HTTP request). Looks up your account id on your Mastodon server's public API. No sign-in needed on servers that allow public access.
- Read your Mastodon posts — Calls a web address (HTTP request). Reads your 40 newest public Mastodon posts (replies and boosts left out) with their favourite, boost and reply counts.
- Mastodon: last 7 days — Step. In code, not AI: keeps your posts from the last 7 days (today included, in your time zone).
- Mastodon: add up the engagement — Step. In code, not AI: engagement per post (favourites + boosts + replies), the week's totals and the highest and lowest post.
- Each Mastodon post — Repeats the steps below for each item (up to 40 per run). Lists this week's Mastodon posts with their numbers (up to 40).
- [For each item — “Each Mastodon post”] Listed — Kept in the run history. Nothing is changed on Mastodon.
- Mastodon: list the posts — Step. In code: one line per post with its counts.
- Best and worst posts, one suggestion — AI step (runs on your AI provider key). AI reads both lists (numbers computed in code), names the best and worst post on each network by its engagement and suggests one thing to try next week.
- Post the report — Slack: Post a message. Posts the numbers (from code) and the AI's notes to your Slack channel.
- Report posted — Kept in the run history. The run history keeps every report.
Test it with Dry Run
Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live.
- Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
- For-each loops repeat only the first 3 items.
Go live
- Open the trigger, set your time zone and switch the schedule on. It runs every Monday at 9:00.
- Scheduled runs start only once the schedule is activated, and can't repeat faster than your plan's minimum interval.
- The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
- When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.
Questions
Does it need my passwords?
No. Like, repost, favourite and reply counts are public: it reads them from Bluesky's public API and your Mastodon server's public API, without signing in.
Does it show reach or impressions?
No. Bluesky and Mastodon don't publish reach or impressions, so the report shows what they do publish: likes, reposts, replies and quotes on Bluesky, favourites, boosts and replies on Mastodon.
What if a network can't be read?
The report says so and shows the other network. Some Mastodon servers switch off public API access; then the Mastodon part stays empty.
Troubleshooting
- “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
- A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
- An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
- Slack says the app isn't in the channel: in Slack, type /invite @Fluxo Flow in that channel (always needed for private channels).
- It didn't run at the expected time: the schedule must be activated, and its time is in the trigger's timezone.
- A step failed: open the run in History and check that step in the Trace tab for the error and what it received.
Generated from the agent's own workflow, so it always matches what the agent does. Last updated .