Spot risks early
Know which affiliates will hit their payout cap before they do. A daily ranked digest with projected trip dates, straight to Slack.
Pulls current-period payout and cap settings for every active affiliate, computes how close each one is to their limit, and drops the alert in Slack or your inbox before any cap trips. Set your own threshold (80% is the default). Runs in under 2 minutes, or on an automatic daily schedule so you never find out after the fact.
Caps exist for a reason. The question is whether you find out before or after the partner does. Everflow already ships cap controls: per-offer daily / weekly / monthly / global caps across conversion / payout / revenue / click, threshold alerts at user-defined percentages, auto-deactivation at 100%, auto-redirect to a fallback offer, and a pacing report. If you set it up, native does its job.
What native doesn't do is the cross-program ranked daily push. Per-cap alerts fire one offer at a time. Nothing surfaces "Across your whole program, here are the five partners closest to their cap right now, sorted by urgency, with projected trip dates" in one Slack message before standup. The pacing report exists but it's on-demand. You have to log in and pull it. The recipe runs that scan every morning, ranks the partners, projects who trips when, and drops the digest in Slack so you can act before the partner notices.
The wow moment is the 8 AM Slack ping with three rows ranked by how close they are. The pain it solves is the manual cross-program scan no one remembers to run.
All I have is just a note from my team that we need to be integrated with Slack. Probably some alerts which can be sent in a specific Slack channel about some issues. For example, this offer has reached its cap.
One universal foundation prompt that loads Everflow's API context into any AI.
# Everflow API Foundation Prompt
## Role & Objective
You are an Everflow API specialist. Your job is to write
robust, accurate scripts and answer questions about
Everflow's partner marketing platform.
## Foundational Knowledge Base
Before writing any code, ingest the official LLM docs:
https://developers.everflow.io/llms.txtSame prompt across Claude, ChatGPT, and Gemini. Default threshold is 80%; swap to any value between 0.0 and 1.0.
# role
You are an Everflow affiliate operations assistant.
# inputs
api_key = {API_KEY}
network_id = {NETWORK_ID}
alert_threshold = {ALERT_THRESHOLD} # default 0.80 (80%). Change to 0.70, 0.90, etc.
slack_webhook = {SLACK_WEBHOOK_URL}
# task
1. POST /v1/networks/reporting/entity
body: {
columns: [{ column: "affiliate" }],
query: { filters: [], exclusions: [] },
sort_columns: [{ column: "payout", direction: "desc" }],
from: "{first day of current billing cycle}",
to: "{today}"
}
→ Returns payout per affiliate for the current period.
2. For each affiliate with payout > 0, GET /v1/affiliates/{affiliate_id}
→ Pull: payout_cap, daily_payout_cap (if active), cap_type.
3. Skip affiliates where payout_cap = null or 0 (no cap set).
4. For each capped affiliate, compute:
cap_used_pct = current_period_payout / payout_cap
remaining = payout_cap - current_period_payout
5. Filter to affiliates where cap_used_pct >= alert_threshold.
6. Sort by cap_used_pct descending (most urgent first).
7. Format a Slack / email digest with: headline, per-affiliate row (name + ID,
cap used, remaining, pace flag), and footer link to Everflow reporting.
8. POST to slack_webhook. Return the same digest as Markdown.
# guardrails
- Skip affiliates with no cap set or $0 payout this period.
- Pace flag: (current_payout / days_elapsed) * days_remaining. If projected > cap, flag "AT RISK."
- If daily_payout_cap is closer to tripping than period cap, flag daily cap instead.
- Round currency to whole dollars; percentages to 1 decimal.
- If no affiliates above threshold: "No affiliates above {alert_threshold*100}% cap as of today. All clear."
- If a cap was adjusted mid-cycle, note "(cap adjusted)" rather than treating it as a data error.
# role
You are an Everflow affiliate operations assistant.
# inputs
api_key = {API_KEY}
network_id = {NETWORK_ID}
alert_threshold = {ALERT_THRESHOLD} # default 0.80 (80%). Change to 0.70, 0.90, etc.
slack_webhook = {SLACK_WEBHOOK_URL}
# task
1. POST /v1/networks/reporting/entity
body: {
columns: [{ column: "affiliate" }],
query: { filters: [], exclusions: [] },
sort_columns: [{ column: "payout", direction: "desc" }],
from: "{first day of current billing cycle}",
to: "{today}"
}
→ Returns payout per affiliate for the current period.
2. For each affiliate with payout > 0, GET /v1/affiliates/{affiliate_id}
→ Pull: payout_cap, daily_payout_cap (if active), cap_type.
3. Skip affiliates where payout_cap = null or 0 (no cap set).
4. For each capped affiliate, compute:
cap_used_pct = current_period_payout / payout_cap
remaining = payout_cap - current_period_payout
5. Filter to affiliates where cap_used_pct >= alert_threshold.
6. Sort by cap_used_pct descending (most urgent first).
7. Format a Slack / email digest with: headline, per-affiliate row (name + ID,
cap used, remaining, pace flag), and footer link to Everflow reporting.
8. POST to slack_webhook. Return the same digest as Markdown.
# guardrails
- Skip affiliates with no cap set or $0 payout this period.
- Pace flag: (current_payout / days_elapsed) * days_remaining. If projected > cap, flag "AT RISK."
- If daily_payout_cap is closer to tripping than period cap, flag daily cap instead.
- Round currency to whole dollars; percentages to 1 decimal.
- If no affiliates above threshold: "No affiliates above {alert_threshold*100}% cap as of today. All clear."
- If a cap was adjusted mid-cycle, note "(cap adjusted)" rather than treating it as a data error.
# role
You are an Everflow affiliate operations assistant.
# inputs
api_key = {API_KEY}
network_id = {NETWORK_ID}
alert_threshold = {ALERT_THRESHOLD} # default 0.80 (80%). Change to 0.70, 0.90, etc.
slack_webhook = {SLACK_WEBHOOK_URL}
# task
1. POST /v1/networks/reporting/entity
body: {
columns: [{ column: "affiliate" }],
query: { filters: [], exclusions: [] },
sort_columns: [{ column: "payout", direction: "desc" }],
from: "{first day of current billing cycle}",
to: "{today}"
}
→ Returns payout per affiliate for the current period.
2. For each affiliate with payout > 0, GET /v1/affiliates/{affiliate_id}
→ Pull: payout_cap, daily_payout_cap (if active), cap_type.
3. Skip affiliates where payout_cap = null or 0 (no cap set).
4. For each capped affiliate, compute:
cap_used_pct = current_period_payout / payout_cap
remaining = payout_cap - current_period_payout
5. Filter to affiliates where cap_used_pct >= alert_threshold.
6. Sort by cap_used_pct descending (most urgent first).
7. Format a Slack / email digest with: headline, per-affiliate row (name + ID,
cap used, remaining, pace flag), and footer link to Everflow reporting.
8. POST to slack_webhook. Return the same digest as Markdown.
# guardrails
- Skip affiliates with no cap set or $0 payout this period.
- Pace flag: (current_payout / days_elapsed) * days_remaining. If projected > cap, flag "AT RISK."
- If daily_payout_cap is closer to tripping than period cap, flag daily cap instead.
- Round currency to whole dollars; percentages to 1 decimal.
- If no affiliates above threshold: "No affiliates above {alert_threshold*100}% cap as of today. All clear."
- If a cap was adjusted mid-cycle, note "(cap adjusted)" rather than treating it as a data error.
MCP mode: the agent calls Everflow directly, no API key to paste. (MCP is a connector that lets your AI tool talk to Everflow on its own.) The Everflow MCP pulls each partner's payout so far this period and how fast it is pacing. The cap value itself (the payout limit set on a partner) lives in that partner's settings, which the MCP reporting tools do not read, so run the API prompt on the other tab for the full cap-versus-payout alert.
# goal
Show me which partners are spending the fastest this billing period, so I can see who is
most likely to be approaching a payout cap. Use the Everflow MCP tools.
# steps
1. everflow:get_account_info
Confirm network currency and timezone.
2. everflow:run_performance_report
- dimensions: ["affiliate", "affiliate_status"]
- window: first day of the current billing period through today
- sort by payout descending
This returns payout so far this period per partner.
3. For each partner with payout above 0, estimate pace:
daily_payout = current period payout divided by days elapsed in the period
projected = daily_payout times total days in the period
List partners by projected payout descending. Note the ones pacing fastest, since
those are the ones to check against their cap.
4. Return the list as Markdown: partner name and ID, status, payout so far, daily pace,
and projected end-of-period payout.
# what MCP cannot tell you here
The actual payout cap on each partner (the limit, and whether it is a period or daily cap)
lives in the partner's settings, not the MCP reporting tools. To get the real
"X% of cap used, Y remaining, AT RISK" alert, run the API prompt on the other tab. It
reads each partner's cap and compares it to the payout above.
# guardrails
- Read-only. Never write anything back to Everflow.
- Skip partners with $0 payout this period.
- Round currency to whole dollars, percentages to 1 decimal.
Connect the Everflow MCP, or grab an API key
If you have the Everflow MCP connected, you can skip the key entirely. MCP is a connector that lets your AI tool talk to Everflow on its own, so there is nothing to paste. No MCP yet? Generate a read-only key in Core Platform → Control Center → Security → API Keys → click the + API key button. Read-only on Reporting is enough.
Set your alert threshold
Default is 80%: you'll get flagged on any affiliate who has used 80% or more of their current-period cap. Lower it to 70% for earlier warnings; raise it to 90% if you prefer tighter alerts.
Decide your notification channel
The prompt sends a Slack digest by default. Swap in an email address if you'd rather get it in your inbox.
Run the prompt
With MCP connected, just run the prompt as written. On the API tab, first replace {API_KEY}, {NETWORK_ID}, {ALERT_THRESHOLD} (default 0.80), and {SLACK_WEBHOOK_URL}, then run it.
Schedule it daily
Drop the prompt into Make, Zapier, or Google Apps Script and schedule it for 8 AM daily, so your team starts every day knowing where caps stand. Cap proximity moves fastest in the last week of a billing cycle, and a daily cadence catches that window.
80% is the standard starting point. It gives you roughly a week of lead time in a typical billing cycle, depending on your affiliate's send pace. If you run a high-volume program where partners can move from 80% to 100% in 48 hours, drop to 70%. If you prefer fewer alerts on slower partners, raise to 90%.
The prompt calculates each flagged affiliate's current daily average payout and projects it forward to the end of the billing cycle. If the projection exceeds the cap, they're flagged "AT RISK." If they're on track to finish under cap, it shows "On track." It's the difference between a partner at 85% who will coast to 92% by cycle end and a partner at 85% who will hit 100% in two days.
Yes. The guardrail checks for daily_payout_cap specifically. If a daily cap is closer to tripping than the period cap, the recipe flags the daily cap instead and notes it clearly in the output.
Native cap features acknowledged. Per-threshold alerts (50/75/90/100%), auto-deactivation, auto-redirect to fallback offer, in-platform pacing report, and partner-side notifications all exist today. The recipe doesn't replace any of them; it complements them with a cross-program ranked daily digest.
Pace-flag math is net-new. Native pacing shows current consumption. The recipe projects: "At this rate, partner X trips the weekly cap on Thursday." That projection (current pace × days remaining vs cap headroom) is the recipe's calculation, not a native feature.
What this recipe is NOT for: per-affiliate caps you've already wired native alerts on. If you have a Slack notification firing from Everflow native at 75% on Partner Y / Offer Z, you don't need the recipe to repeat it. The recipe earns its keep on programs with 20+ partners where setting up per-cap alerts for every combination isn't realistic.
Drop us the question you wish had a prompt. We'll write it, test it against real Everflow data, and ship it as the next recipe — usually within two weeks.
One Tuesday email. Latest industry news plus new recipes the day they ship. Unsubscribe in one click.
Share what's working with the Everflow API. Our team will reach out about details, timelines, and next steps.