This is the setup step that makes everything else reliable. Ask your AI agent to confirm that your currency, timezone, and conversion scope match what’s accurate. One prompt, plain-language output.
AI can answer questions about your Everflow data in plain language. Three settings determine whether those answers are trustworthy.
When you connect AI to your Everflow API, it reads your account foundation first: the currency your revenue and payouts are denominated in, the timezone your reports snap to, and the role scope that defines which partners and data you can see. If any of those are misconfigured, every answer the AI gives you is technically correct but contextually wrong.
The setup form captures these values at onboarding. However, there is no view in the dashboard that shows all three together, and they drift out of shared memory fast. When a new team member runs their first prompt, or finance reviews a payout run, the defaults resurface as a discrepancy. This recipe runs a one-call check and summarizes everything in plain language before you are able to rely on AI answers.
Can I have deals in different currencies than my system currency?
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. Returns a clean summary of your default settings with flags for anything that could cause reporting confusion.
# role
You are an Everflow account setup assistant.
# inputs
api_key = {API_KEY}
# task
1. Call GET /v1/networks with header X-Eflow-API-Key: {API_KEY}
Base URL: https://api.eflow.team/v1/networks
⚠️ It is /v1/networks, NOT /v1/networks/settings. Both answer 200, which is what makes this
easy to get wrong. /networks/settings returns 37 FEATURE TOGGLES and carries no account name
and no timezone at all; /networks carries the account identity. Verified 2026-08-25: on
/networks/settings, network_name and timezone_id DO NOT EXIST and currency_id appears only
under the different name default_currency_id - so the older version of this recipe returned a
confident empty answer off a healthy 200.
2. From the response, extract and summarize:
- Account name (name)
- Default currency (currency_id and the human-readable currency name)
- Default timezone (timezone_id and the human-readable timezone name)
- Whether affiliate scope is limited (check role permissions and any
scope restrictions in the response)
- Any other notable settings (e.g., billing contact, network status)
3. Present the summary as a clean, labeled list.
4. Flag potential issues:
- If the default currency differs from USD, note that reports will
return values in this currency unless overridden per offer.
- If timezone is not the user’s local timezone, note the reporting
offset (e.g., “Your reports use Pacific Time, so daily cutoffs
happen at midnight PT, not midnight ET”).
- If affiliate scope appears limited, explain what that means:
“Your role only sees a subset of partners. Reports, payouts,
and partner lists are filtered to your scope.”
5. End with a recommendation: “Save this summary. Check it again when
a new team member joins or when finance questions a number.”
# guardrails
- Do not modify any settings. This is read-only.
- If the API returns an error, explain the likely cause (expired key,
wrong permissions, network not found) and suggest next steps.
- Present currency codes alongside full names (e.g., “USD (US Dollar)”).
- If the response includes fields you don’t recognize, list them under
“Other settings” rather than ignoring them.
# What you must disclose — NOT CHECKED
An empty result is NOT a clean result. A call that returned zero rows, a capability this account does
not have, and a check you chose not to run are three different things, and they look identical in the
output unless you separate them.
End every run with a NOT CHECKED block. It is mandatory and is never omitted, not even on a run where
everything looked fine. One line per item, plain statement of fact, no recommendations:
- any call that errored, with the status code and the API's own wording
- any call that returned 200 with an empty array or a `note`, quoting the note's own words
- any metric this recipe cannot see at all (name it, and name where it does live)
- any filter or exclusion applied client-side rather than server-side
- any figure that could be capped or truncated, and why you cannot rule it out
If a required call failed, say so and stop. Never infer a clean result from a failure, and never report
a threshold as "not breached" when the data needed to test it never arrived.
# Paging and volume
/reporting/conversions paging is QUERY-STRING ONLY (?page=&page_size=, max 2000). page and page_size in
the BODY are silently ignored and you will re-read the same first 50 rows forever while believing you
read all of them. Read paging.total_count and loop until you have collected it; state both numbers.
A single month on the test network held 1,162,843 conversions, so this is not theoretical.
/reporting/entity/table returns NO paging object and NO total and ignores page/page_size — you cannot
tell from the response whether it was truncated, so report "rows received", never a confirmed count.
Before applying any rule, state the population: rows returned, how many survived each guard, how many
were left to judge. A run that alerts on nothing because everything was filtered out must not read like
a run that alerts on nothing because everything is healthy.
# role
You are an Everflow account setup assistant.
# inputs
api_key = {API_KEY}
# task
1. Call GET /v1/networks with header X-Eflow-API-Key: {API_KEY}
Base URL: https://api.eflow.team/v1/networks
⚠️ It is /v1/networks, NOT /v1/networks/settings. Both answer 200, which is what makes this
easy to get wrong. /networks/settings returns 37 FEATURE TOGGLES and carries no account name
and no timezone at all; /networks carries the account identity. Verified 2026-08-25: on
/networks/settings, network_name and timezone_id DO NOT EXIST and currency_id appears only
under the different name default_currency_id - so the older version of this recipe returned a
confident empty answer off a healthy 200.
2. From the response, extract and summarize:
- Account name (name)
- Default currency (currency_id and the human-readable currency name)
- Default timezone (timezone_id and the human-readable timezone name)
- Whether affiliate scope is limited (check role permissions and any
scope restrictions in the response)
- Any other notable settings (e.g., billing contact, network status)
3. Present the summary as a clean, labeled list.
4. Flag potential issues:
- If the default currency differs from USD, note that reports will
return values in this currency unless overridden per offer.
- If timezone is not the user’s local timezone, note the reporting
offset (e.g., “Your reports use Pacific Time, so daily cutoffs
happen at midnight PT, not midnight ET”).
- If affiliate scope appears limited, explain what that means:
“Your role only sees a subset of partners. Reports, payouts,
and partner lists are filtered to your scope.”
5. End with a recommendation: “Save this summary. Check it again when
a new team member joins or when finance questions a number.”
# guardrails
- Do not modify any settings. This is read-only.
- If the API returns an error, explain the likely cause (expired key,
wrong permissions, network not found) and suggest next steps.
- Present currency codes alongside full names (e.g., “USD (US Dollar)”).
- If the response includes fields you don’t recognize, list them under
“Other settings” rather than ignoring them.
# What you must disclose — NOT CHECKED
An empty result is NOT a clean result. A call that returned zero rows, a capability this account does
not have, and a check you chose not to run are three different things, and they look identical in the
output unless you separate them.
End every run with a NOT CHECKED block. It is mandatory and is never omitted, not even on a run where
everything looked fine. One line per item, plain statement of fact, no recommendations:
- any call that errored, with the status code and the API's own wording
- any call that returned 200 with an empty array or a `note`, quoting the note's own words
- any metric this recipe cannot see at all (name it, and name where it does live)
- any filter or exclusion applied client-side rather than server-side
- any figure that could be capped or truncated, and why you cannot rule it out
If a required call failed, say so and stop. Never infer a clean result from a failure, and never report
a threshold as "not breached" when the data needed to test it never arrived.
# Paging and volume
/reporting/conversions paging is QUERY-STRING ONLY (?page=&page_size=, max 2000). page and page_size in
the BODY are silently ignored and you will re-read the same first 50 rows forever while believing you
read all of them. Read paging.total_count and loop until you have collected it; state both numbers.
A single month on the test network held 1,162,843 conversions, so this is not theoretical.
/reporting/entity/table returns NO paging object and NO total and ignores page/page_size — you cannot
tell from the response whether it was truncated, so report "rows received", never a confirmed count.
Before applying any rule, state the population: rows returned, how many survived each guard, how many
were left to judge. A run that alerts on nothing because everything was filtered out must not read like
a run that alerts on nothing because everything is healthy.
# role
You are an Everflow account setup assistant.
# inputs
api_key = {API_KEY}
# task
1. Call GET /v1/networks with header X-Eflow-API-Key: {API_KEY}
Base URL: https://api.eflow.team/v1/networks
⚠️ It is /v1/networks, NOT /v1/networks/settings. Both answer 200, which is what makes this
easy to get wrong. /networks/settings returns 37 FEATURE TOGGLES and carries no account name
and no timezone at all; /networks carries the account identity. Verified 2026-08-25: on
/networks/settings, network_name and timezone_id DO NOT EXIST and currency_id appears only
under the different name default_currency_id - so the older version of this recipe returned a
confident empty answer off a healthy 200.
2. From the response, extract and summarize:
- Account name (name)
- Default currency (currency_id and the human-readable currency name)
- Default timezone (timezone_id and the human-readable timezone name)
- Whether affiliate scope is limited (check role permissions and any
scope restrictions in the response)
- Any other notable settings (e.g., billing contact, network status)
3. Present the summary as a clean, labeled list.
4. Flag potential issues:
- If the default currency differs from USD, note that reports will
return values in this currency unless overridden per offer.
- If timezone is not the user’s local timezone, note the reporting
offset (e.g., “Your reports use Pacific Time, so daily cutoffs
happen at midnight PT, not midnight ET”).
- If affiliate scope appears limited, explain what that means:
“Your role only sees a subset of partners. Reports, payouts,
and partner lists are filtered to your scope.”
5. End with a recommendation: “Save this summary. Check it again when
a new team member joins or when finance questions a number.”
# guardrails
- Do not modify any settings. This is read-only.
- If the API returns an error, explain the likely cause (expired key,
wrong permissions, network not found) and suggest next steps.
- Present currency codes alongside full names (e.g., “USD (US Dollar)”).
- If the response includes fields you don’t recognize, list them under
“Other settings” rather than ignoring them.
# What you must disclose — NOT CHECKED
An empty result is NOT a clean result. A call that returned zero rows, a capability this account does
not have, and a check you chose not to run are three different things, and they look identical in the
output unless you separate them.
End every run with a NOT CHECKED block. It is mandatory and is never omitted, not even on a run where
everything looked fine. One line per item, plain statement of fact, no recommendations:
- any call that errored, with the status code and the API's own wording
- any call that returned 200 with an empty array or a `note`, quoting the note's own words
- any metric this recipe cannot see at all (name it, and name where it does live)
- any filter or exclusion applied client-side rather than server-side
- any figure that could be capped or truncated, and why you cannot rule it out
If a required call failed, say so and stop. Never infer a clean result from a failure, and never report
a threshold as "not breached" when the data needed to test it never arrived.
# Paging and volume
/reporting/conversions paging is QUERY-STRING ONLY (?page=&page_size=, max 2000). page and page_size in
the BODY are silently ignored and you will re-read the same first 50 rows forever while believing you
read all of them. Read paging.total_count and loop until you have collected it; state both numbers.
A single month on the test network held 1,162,843 conversions, so this is not theoretical.
/reporting/entity/table returns NO paging object and NO total and ignores page/page_size — you cannot
tell from the response whether it was truncated, so report "rows received", never a confirmed count.
Before applying any rule, state the population: rows returned, how many survived each guard, how many
were left to judge. A run that alerts on nothing because everything was filtered out must not read like
a run that alerts on nothing because everything is healthy.
Before any other prompt, confirm my account is set up so reports come back accurate.
Using the Everflow MCP server, call get_account_info and summarize:
- Network name, account status
- Default currency (code + name) -- flag if not USD (reports return this currency unless overridden)
- Default timezone (id + name) -- flag the reporting offset (e.g. cutoffs at midnight PT, not ET)
- My role (admin / affiliate manager / advertiser manager) and whether my partner scope is limited
- Primary tracking domain
Clean labeled list, then flag anything that could cause reporting confusion. Read-only -- change nothing.
End with: "Save this. Re-check when a new teammate joins or finance questions a number."
# What you must disclose — NOT CHECKED
An empty result is NOT a clean result. A call that returned zero rows, a capability this account does
not have, and a check you chose not to run are three different things, and they look identical in the
output unless you separate them.
End every run with a NOT CHECKED block. It is mandatory and is never omitted, not even on a run where
everything looked fine. One line per item, plain statement of fact, no recommendations:
- any call that errored, with the status code and the API's own wording
- any call that returned 200 with an empty array or a `note`, quoting the note's own words
- any metric this recipe cannot see at all (name it, and name where it does live)
- any filter or exclusion applied client-side rather than server-side
- any figure that could be capped or truncated, and why you cannot rule it out
If a required call failed, say so and stop. Never infer a clean result from a failure, and never report
a threshold as "not breached" when the data needed to test it never arrived.
Generate an API key
Core Platform → Control Center → Security → API Keys → click the + API key button. Read-only access is enough.
Paste your key into the prompt
Replace {API_KEY} with your key in the prompt block below. No other inputs needed for this one.
Run it in Claude, ChatGPT, or Gemini
The prompt calls GET /v1/networks/settings and returns a plain-language summary of your defaults. Takes about 30 seconds.
Review the flags
The AI flags anything that could cause confusion: currency mismatch (reports in EUR but payouts in USD), timezone offset (daily cutoffs at midnight PT, not ET), or limited affiliate scope (you only see a subset of partners).
Save and share with your team
Drop the summary in Slack or save it to your internal wiki. The next person who joins your team will thank you. Check again quarterly or whenever someone new gets access.
Everflow supports per-offer currency overrides, but your system-level default (what GET /v1/networks/settings returns) is what every report uses unless you explicitly filter. The prompt surfaces your default so you know the baseline. If your finance team sees numbers that do not match their spreadsheet, the first thing to check is whether the report currency matches the offer currency.
Everflow supports role-based access within a single account. A user with limited affiliate scope only sees partners assigned to their scope, and every report, payout list, and partner search is filtered accordingly. It is a feature, not a bug. But if you do not know your scope is limited, you might think partners are missing from your reports when they are simply outside your view. The prompt flags this so you can confirm with your admin.
The setup form captures defaults once. But teams change: new AMs join, finance gets access, an agency adds a second brand. Each new user inherits the account settings without necessarily knowing what they are. Checking once a quarter (or whenever someone new joins) takes five minutes and prevents the "Why don't my numbers match" conversation that otherwise eats an hour of everyone's time.
Most "timezone" mentions in customer calls are boilerplate from the Everflow rep's standard setup-form walkthrough, not customer-initiated pain. The 1-in-5 stat includes all mentions, so the actual rate of customer-initiated confusion is lower.
"Currency" mentions include product demos showing off multi-currency as a feature, not just customers struggling with misconfigured settings. True "wrong currency" signals are rare.
Single-currency accounts dominate. Multi-currency complexity is real but affects a small fraction of the customer base. If you operate in one currency and one timezone, this recipe takes two minutes and confirms everything is fine.
"Limited affiliate scope" is an Everflow feature working as intended. The question "Do I have limited scope?" is more orientation than pain, but the answer matters for every report you pull afterward.
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.