AI Playbook/Recipe

Theme

Catch affiliates approaching their payout cap before it trips

Daily Slack digest of every affiliate at or above 80% of their payout cap, ranked by urgency with a pace flag — so you know who will trip first, and when.

For
AM, Ops, Finance
In
e-com, lead-gen, financial services, SaaS, iGaming, mobile, agency
Dasha Dagayeva
Jordan Barney
Assoc. Director of Content Operations
15 min

Medium

Copy
Copy & export
Copy link
Plain page URL.
Copy page as Markdown
Full recipe content for LLMs
Open in AI
Open in Claude
Recipe prefilled.
Open in ChatGPT
Recipe prefilled.
Open in Gemini
Recipe prefilled.
Open-in actions need you logged into your Claude / ChatGPT / Gemini account in this browser. Not logged in? Copy as Markdown and paste it in.
Share
01

Quick Answer

A copy-paste prompt that pulls current-period payout and cap settings for every active affiliate, computes how close each one is to their limit, and alerts you — in Slack or your inbox — before any cap trips and cuts off traffic. Set your own threshold (80% is the default). Runs in under 2 minutes, or on a cron so you never find out after the fact.

Everflow, Slack
This prompt uses
02

The Pain

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.

Stat
3,211 active Everflow offers have at least one payout cap configured. Most customers find out a cap tripped after the partner emails to ask why traffic stopped.

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.

Operator at a multi-vertical performance agency
02b

Foundation Prompt

Set this once. Reuse across every recipe.

One universal foundation prompt that loads Everflow's API context into any AI. Paste it once, then run any recipe on top of it. Ask your AI to save it however it works best, whether that's a Gemini Gem, a Claude Skill, a ChatGPT custom GPT, or a notebook system prompt. Same content, your AI's format.

~55 lines · ~340 tokens
# 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.txt
03

The Prompt

Same prompt across Claude, ChatGPT, and Gemini. Default threshold is 80%; swap to any value between 0.0 and 1.0.

v1.0 · tag

# 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.
04

The Steps

Generate an API key in Core Platform

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.

Paste your keys into the prompt

Replace {API_KEY}, {NETWORK_ID}, {ALERT_THRESHOLD} (default 0.80), and {SLACK_WEBHOOK_URL} in the block below.

Optional — schedule it daily

Drop into Make, Zapier, or Google Apps Script. Schedule 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 — daily cadence catches that window.

05

Sample Output

#program-alerts42 members
Everflow
Everflow AlertsAPP8:00 AM
⚠️ 3 affiliates at or above 80% of payout cap · May 14, 2026
Coupon network · ID 7731 Cap used: $9,200 of $10,000 (92%) 🔴 Remaining: $800 Pace: AT RISK — projected to hit cap by May 19 at current daily rate Native content partner · ID 418 Cap used: $6,400 of $8,000 (80%) 🟡 Remaining: $1,600 Pace: On track — projected $7,800 by cycle end Push-traffic aggregator · ID 8821 Cap used: $4,100 of $5,000 (82%) 🟡 Remaining: $900 Pace: AT RISK — projected to hit cap by May 21 at current daily rate
👀 3🔥 2
06

FAQ

Real questions, real answers
What threshold should I use?

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%.

What's the pace flag?

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.

Does this work for daily caps too?

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.

06b

Notes & counter-cases

Edge cases, gotchas, and things to watch.

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 EF 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.

ASK US ANYTHING

Got a question this playbook hasn't answered yet?

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.

DJReviewed every Tuesday by Dasha & Jordan
NEWSLETTER

First dibs on new recipes

One Tuesday email. Latest industry news plus new recipes the day they ship. Unsubscribe in one click.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
×
Submit a recipe

Got a recipe of your own?

Share what's working with the Everflow API. Our team will reach out about details, timelines, and next steps.

Reviewed weekly · Author credit on every published recipe · We respond to every submission
Submit your idea and our team will reach out about details, timeline, and process.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
×
SHARE THIS RECIPE

Spread the playbook

LinkedIn no longer accepts pre-filled captions via URL. Two clicks: copy the caption below, then open LinkedIn and paste in the composer.

Your caption
Copy first, then open LinkedIn and paste in the composer.