Agent Hub is AppsFlyer's centralized platform for managing AI-driven agents that proactively deliver actionable marketing insights directly into your workflow. These agents constantly analyze your data to deliver valuable outputs and recommend actionable steps, all within your team's collaborative environment.
About Agent Hub
Each agent takes on a marketing job end to end: it works through your data, reaches its findings, and delivers them where your team works. Agent Hub gives you access to a variety of AppsFlyer-built agents designed to help you optimize marketing activity and uncover growth opportunities, plus Custom Agent, which takes on a job you define yourself. Every agent operates with integrity to support your team's decision-making.
Agent Hub page
Agent Hub page is made up of two tabs: My Agents and Activity. Use these tabs to manage agents and review completed agent runs.
Use My Agents to set up, deploy, and manage agents. Use Activity to review completed outputs, see previous runs, provide feedback, and analyze run reasoning with AI Assistant.
My Agents
The My Agents tab shows the agents available to your account.
Use this tab to:
- View available agents.
- Set up and deploy agents.
- Manage deployed agents.
- Monitor the latest run status from the agent card.
Prerequisites and permissions
Some Agent Hub capabilities require additional setup, depending on the notification channels you use.
Slack (optional)
Slack setup is required only if you want to receive agent output in Slack.
- Approval of the AppsFlyer Slack app by your organization. To do this:
- Go to the Agent hub and select the agent you want to use.
- Click Connect to Slack within the agent configuration card.
For agents that send output to Slack, you must first create a dedicated Slack channel within your organization and invite the AppsFlyer Agent Hub Slack app to that channel before the agent setup. The name of the channel is required as part of the agent setup.
To invite an app to a channel:
- In the Slack channel you want to receive the notifications to, write: /invite
- Choose Add Apps to this channel.
Select AppsFlyer Agent Hub -> Add.
- The following roles have automatic full access:
- Admin
- Marketing manager
- Team manager
- Marketing lead
- Other roles: Require the AI Tools capability enabled through User Management.
Email (optional)
- Emails can only be sent to email addresses that are connected to an AppsFlyer account.
- Users must be subscribed to the AppsFlyer mailing list. See here for more information.
Note: In each agent, you can configure up to 5 email addresses.
Set up an agent
Agents can be set up and deployed to run on a schedule or manually. You can also configure where agent output is delivered, such as Slack or Email.
You can monitor the status of the latest run directly from the agent card in the My Agents tab. To view completed outputs and historical runs, click the Activity tab.
Follow the steps below to set up and deploy an agent.
- Log in to AppsFlyer.
- From the left-hand menu, go to Agent Hub.
- On the agent you want to set up and deploy, click Deploy.
- On the following page, configure the required agent settings.
- Add your email address or connect your Slack workspace if relevant.
- Make sure that the Slack channel has been set up. See prerequisites.
- Select a run schedule (currently based on UTC; additional time zones will be added soon).
- Click Deploy Agent.
The agent appears under My Agents. See Prebuilt agents and Custom Agent below for the full list of available agents, and what each one does.
Activity tab
Activity tab shows completed agent run outputs. It appears when your account has at least one agent with completed outputs.
Use this tab to review recent agent activity, view previous outputs, provide feedback, and ask AI Assistant questions about a specific run.
The Activity tab includes two sections:
| Section | Description |
|---|---|
| Latest activity | Shows the latest completed run for each agent instance. |
| Previous runs | Shows completed runs from the last 30 days. |
You can filter activity by:
- App
- Agent instance
Note: The agent filter is based on the specific agent instance, not the agent type.
View activity output
To view activity output:
- Go to Agent Hub.
- Click the Activity tab.
- Select the relevant app or agent instance filters.
- Click a run to expand it.
The expanded run shows the same output sent by Slack or email.
From the expanded run, you can:
- Copy the output.
- Provide positive or negative feedback.
- Add written feedback.
- Click Analyze activity to ask AI Assistant questions about the run.
Analyze activity with AI Assistant
Use Analyze activity to ask AI Assistant questions about a specific completed agent run.
Analyze activity is available for all agents. AI Assistant opens in the context of the selected run. It can help you understand how the agent reached its output, what data it used, and which factors it considered or ruled out.
This isn't a general chat with the agent. AI Assistant answers questions about the selected run only. It doesn't perform new agent work, access data outside the run, or make predictions.
To ask AI Assistant questions about a run:
- Go to Agent Hub.
- Click the Activity tab.
- Click a run to expand it.
- Click Analyze activity.
- Select a suggested question or enter your own question.
For example, you can ask:
- Walk me through your reasoning.
- What data was this based on?
- Why was this finding prioritized?
- What factors did the agent consider?
- What factors did the agent rule out?
Supported and unsupported questions
| You can ask about | You can't ask about |
|---|---|
| How the agent reached its output | Data that wasn't included in the run |
| What data the agent used for the run | New analysis that wasn't part of the run |
| Why findings were prioritized or ruled out | Forward-looking predictions |
| The context and reasoning of the selected run | General optimization recommendations outside the run context |
Notes
Keep the following in mind when using the Activity tab and Analyze activity:
- AI Assistant must be enabled for the account. If AI Assistant is disabled, Analyze activity isn't available. See Account Settings.
- Activity history includes completed runs from the last 30 days only.
- Deleting an agent also deletes its previous activity, including outputs, findings, and reasoning data. This action can't be undone.
- AI Assistant answers questions about the selected run only. It doesn't perform new analysis, access data outside the run, or make predictions.
Agent types
Agent Hub includes two kinds of agents: Custom Agent, which you configure yourself for a job you define, and ready-to-use agents you deploy as they are.
[Closed beta] Custom Agent
While ready-to-use agents in Agent Hub carry out specific, predefined tasks, Custom Agent executes a job you tailor to your specific requirements. Write the task in plain language, pick the app, review the plan the agent drafts, and choose how and when you want results delivered. The agent then does the work end to end, on demand or on a schedule, and sends you the output.
It analyzes the data, executes the specified task, and delivers the requested results. That could be a ranked list, a weekly performance summary, a root-cause investigation, a recommendation with the evidence behind it, or a complex ad hoc analysis. The output takes whatever shape the job needs.
You brief it the way you'd brief an analyst on your team, and it works the same way: it confirms what it understood, shows you how it plans to approach the job and how it defines each term, and only runs once you've agreed.
Create a Custom Agent
Three steps: define the agent, review the plan, then configure and deploy.
Step 1: Define the agent
- In AppsFlyer, go to Agent Hub in the left-hand menu.
- On the Custom Agent card, click Create.
- Under Select your app, select the app. One app per agent.
- (Optional) Set Geo and Media source filters. Leave them empty to include everything.
- In Task, describe the job, or click a ready-to-use prompt and edit it to suit your needs.
- Click Generate plan.
Step 2: Review the agent plan
The agent turns your task into a plan and shows it to you before running anything. This is where you catch a misread task or a definition that doesn't match how your team measures.
| Plan section | What to check |
|---|---|
| Goal | One-line restatement of the job. |
| Agent plan | How the agent will carry out the job. |
| Definitions | Every metric, window, and threshold from your task, spelled out: what "Day-7 retention" means, what "significant decline" means, which media sources are in scope. Edit anything that differs from your own definitions. |
| Filters | The app, geo, and media source the agent will apply. |
From here:
- Edit changes any field, then Save changes.
- Start over returns you to the task.
- Accept plan moves you on.
Step 3: Configure and deploy
- Enter an Agent name.
- Under Select how you want to receive the results, select Slack, Email, or both.
- Slack: click Connect to Slack if the workspace isn't connected yet, then select the channel.
- Email: up to five addresses of AppsFlyer users.
- Under Run schedule, select one of the options.
- Click Deploy agent.
Schedules run in UTC.
The agent appears under My Agents. The card shows the latest run status. Completed runs are in Activity, filterable by app and agent name.
What data Custom Agent works on
Custom Agent has two data sources, event-level and aggregated data, and picks between them based on the task; you don't need to specify. For some tasks, the agent uses both sources in a single run. In those rare cases, the same metric can show slightly different values across the two parts of a run. To understand which source the agent used during a run, explore the agent's reasoning using the Analyze activity feature.
Event-level data. Raw events across the funnel, from engagement to in-app activity. This is what makes Custom Agent different from a dashboard: you can define your own metrics and ratios, work at the individual-user level, and trace event sequences.
| Included | Details |
|---|---|
| Engagements | Clicks and impressions |
| Installs and re-engagements | Conversions |
| Sessions | App open events |
| In-app events | Including in-app purchase revenue |
| Dimensions | Media source, campaign, geo down to city, device, OS version, app version, ad, site ID, and other raw-event fields |
| Data timeframe | Last 30 days |
Activity and Cohort data (aggregated). All data points available in My Dashboards, including cost.
| Included | Details |
|---|---|
| Metrics | Installs, conversions, first visits, sessions, event count, unique users, active users, revenue, net revenue, average revenue per user (ARPU), revenue per unique user, count per unique user, retention rate |
| In-app events, conversions, uninstalls, sessions | Count, unique users, revenue, net revenue, first event count |
| Cost metrics | Spend (cost), eCPI, ROAS, ROI |
| Dimensions | Media source, channel, campaign ID and name, ad set ID and name, ad ID and name, site ID, agency, keywords, sub_param_1, engagement category and type and destination, unified app ID, platform, install app store, app version and OS version and country code (conversion), aggregated event type (conversion, session, in-app, uninstall), event name, conversion name and type, monetization type, is-attributed, is-organic, is-primary-attribution, event date (Cohort only), event date (conversion), days post conversion, customer currency |
| Data timeframe | Three years for Activity, two years for Cohort |
Aggregated data is in USD and your account currency. Cohorted aggregated data has daily granularity.
Current limitations. These limitations are temporary and will evolve as Custom Agent moves out of beta.
- Engagement and cost live in different sources. Clicks and impressions exist only in event-level data; cost exists only in aggregated data. The agent can't join the two, so metrics that combine them, such as CPC, CPM, CTR, IPM, and CPA, return no results. Cost-based metrics that don't need engagement data (spend, eCPI, ROAS, ROI) work as expected.
- Missing data: data generated by Audiences, SKAdNetwork, SSOT, Protect360, Creative, and Incrementality; ad revenue and subscription revenue (revenue covers in-app purchases only).
- Custom metrics or dimensions you've defined in your dashboards aren't included.
- Aggregated dimensions include data only from June 2025 onward for platform, sub_param_1, engagement destination, engagement type, and source (organic vs. non-organic).
- When there's no data, the agent shows 0, not N/A.
- "First visits" and "re-visits" are available only for web apps.
Note
Discrepancies can occur between raw event figures and dashboard data. Event-level figures (raw data) and aggregated (dashboard) figures won't always match; small gaps between the two are expected. Aggregated figures should match My Dashboards for the same app and dates.
Write a good task
The plan the agent drafts is only as good as the brief. Include as much of this as applies:
- The job. What you want done, in plain language. Verbs help: compare, rank, flag, find, recommend, summarize.
- Timeframe. A defined window, for example "the last full week" or "last 14 days versus the prior 14." Leave out today; its data is still partial.
- Scope. The geo, media source, campaign, or platform that matters. You can also set geo and media source as filters above the task box.
- Metrics and thresholds. Name your KPIs and how you define them. "A drop of more than 10% versus the prior week counts as significant" gives the agent a rule it can apply.
- Output you want. If it matters, say so: "a table sorted by spend," "a short summary with the top three findings," or "flag only, no narrative."
- Why. One line of context helps the agent decide what to prioritize.
See Prerequisites and permissions above for setup details.
Review and refine a run
Completed runs appear in Activity with the same content sent to Slack or email. From a run, you can copy the output, give a thumbs up or down, add written feedback, and open Analyze activity to ask AI Assistant how the agent got to its result.
If a run comes back empty or off-target, read the reasoning before changing the task. In Analyze activity, ask what data the agent used, why it reached that result, and what to change in the plan. Rewriting the task blind usually produces a different wrong answer. Then edit the plan or task and run the agent again.
If the reasoning also comes back empty, you might have requested data that doesn't yet exist. See Limitations above, revise the prompt, and try again.
Note
You can't return to your original prompt once you save and deploy an agent. You can only edit the approved agent plan.
See Agent Hub page and Analyze activity with AI Assistant above for more detail.
Manage a Custom Agent
From the agent card under My Agents, you can run the agent now, edit its configuration (name, delivery, schedule), or delete it.
Deleting an agent also deletes its history, including outputs and reasoning. This action can't be undone.
Good to know
- One app per agent. Create a separate agent for each app.
- Activity keeps runs from the last 30 days.
Ready-to-use agents
Ready-to-use agents are ready to deploy as they are: pick one, configure it, and let it run on your data. The table below lists what each agent does at a glance. Expand a section for the full detail before you deploy.
Spot Creative Opportunities
Job: Finds the creatives that are performing best for you and tells you where they aren't running yet. The agent evaluates creative performance across all your partners over the past 30 days, ranks the winners, and then checks each partner to see which of those winners are missing. You get a list of concrete placements to add, with the numbers behind each.
What it works on: Creative-level spend and ROAS across partners, over the past 30 days. Requires Creative optimization.
What a run delivers: Top-performing creatives with their spend and ROAS, plus, for each partner, which of these creatives aren't currently running and the case for adding them. Delivered to Slack or email.
Cadence: Configurable via the standard schedule options or on demand.
Build Performance Snapshots
Job: Write the performance update you'd otherwise assemble by hand for managers and stakeholders. The agent reads your aggregated analytics with your chosen KPIs, identifies the trends, top performers, and changes that matter for the period, and turns them into a summary with recommendations, ready to forward.
What it works on: Aggregated analytics data across your apps, geos, media sources, and more. No premium subscription required.
What a run delivers:
- A written summary: headline highlights, needs attention, notable shifts, and recommended next steps.
- A My Dashboards view, built by the agent around the KPIs you selected, so you can dig into the numbers behind the summary.
Both delivered to Slack or email.
Cadence: Configurable. Weekly is the common choice.
Set up: Choose the app(s), the KPIs to cover, the grouping level, and any additional filters — media source, geo, agency.
Good to know: The paired My Dashboards view is a temporary AI-generated view, found under My Dashboards > AI generated. It's overwritten with fresh data on each run, and is deleted after 30 days unless you save it.
Deep Research Analysis
Job: Runs a weekly investigation into what changed and why. Every Monday, the agent compares the two most recent complete weeks (Monday to Sunday) and digs through raw event-level data, across partners, geos, OS versions, and SDK versions, to find shifts that aggregated dashboards can't show, including setup problems that look like performance changes.
What it works on: Raw, mature event-level data. The agent deliberately excludes the current week to avoid partial or immature data. For example, on Monday, January 26, it compares January 12–18 against January 5–11. No premium subscription required.
What a run delivers: A written report of meaningful week-over-week shifts, what's driving them, and setup issues uncovered along the way. Delivered to Slack or email.
Cadence: Weekly, on Mondays or on demand.
Detect Performance Anomalies
Job: Watches your key KPIs every day and tells you when something moves that shouldn't have. The agent compares each metric to its expected range, flags significant positive or negative anomalies, and explains what changed and where: a CPI spike on one partner, an IPM drop in a geo, or a campaign that fell off a cliff.
What it works on: Daily KPI data across partners, campaigns, and geos. No premium subscription required.
What a run delivers: Story-style alerts: which metric moved, by how much, on which partner, campaign, or geo, and the likely reason. Delivered to Slack or email. No alert on quiet days. [CONFIRM]
Cadence: Configurable via the standard schedule options or on demand.
Detect Configuration Issues
Job: Audits your measurement setup and alerts you to gaps that quietly degrade data quality. The agent checks for inactive integrations in SKAdNetwork and Cost, disabled view-through attribution via probabilistic modeling, and other configuration problems, so you catch them before they distort a campaign read.
What it works on: Integration and configuration status across your apps and partners. No premium subscription required.
What a run delivers: Alerts listing each issue found, where it is, and how to remediate it. Delivered to Slack or email.
Cadence: Configurable via the standard schedule options or on demand.
Monitor App Releases
Job: Keeps you informed about your own app's releases without waiting on the dev team. The agent watches iOS and Android app store releases, alerts you when a version goes live, tracks rollout progress, and calls out the marketing-relevant changes: new features, changed in-app behavior, and events added or removed. That lets you align UA campaigns with what's actually in the app.
What it works on: App store release data and in-app event definitions for your apps. No premium subscription required.
What a run delivers: Release alerts with version, rollout status, and a summary of marketing-relevant changes. Delivered to Slack or email.
Cadence: Configurable via the standard schedule options or on demand.
Optimize Anti-Fraud Strategy (Protect360)
Job: Looks for early signs of fraud in your traffic and tells you what to do about it. The agent scans your Protect360 data for emerging patterns, reports key findings, and recommends actions that cut fraud exposure without sacrificing performance.
What it works on: Protect360 data. Requires Protect360 and Protect360 closed beta features.
What a run delivers: Findings and recommendations inside the Protect360 dashboard.
Cadence: Weekly, on Mondays, or on demand.
Web health check
Job: Audits how your web app collects events and attributes conversions to marketing sources. The report shows what's working, flags issues that could make attribution inaccurate, and recommends improvements to your implementation.
What it works on: Your selected web app's attribution settings and recent SDK or server-to-server data. Checks cover data collection, events and revenue, campaign links, referrers, identity, and cross-platform setup. The default analysis window is seven days.
What a run delivers: One report with two sections: what was checked and looks good, and recommended improvements. Findings include supporting numbers, a recommended fix, and a green, yellow, or red status based on impact.
Cadence: Configurable via the standard schedule options or on demand.
FAQ
Can I create my own agents?
Yes. Custom Agent lets you define the job you want done. See Custom Agent above.
Is Agent Hub available to all account types?
No. Agent Hub is currently available only to advertisers.
Are all agents available to everyone?
Agent availability varies based on your AppsFlyer subscription and access to premium products. Contact your CSM for specific details.
Can admins disable Agent Hub for the account?
Yes. Admins can manage Agent Hub availability in Account settings > AI capabilities.
By default, Agent Hub is available for the account.
If an admin disables Agent Hub:
- All users lose access to Agent Hub.
- All existing agents are permanently deleted and can't be restored.
- Any active agent runs stop.
If an admin enables Agent Hub again later, users can access it again, but they must create and deploy agents from scratch.
See Account settings for more information.
Where can I get notifications sent to?
You can receive notifications via email or Slack. Email notifications require you to subscribe to AI capabilities notifications in the Notification Center.
Why am I not receiving Agent Hub email notifications?
If you completed the email notification prerequisites but still don't receive Agent Hub emails, you might have previously unsubscribed from AppsFlyer emails. Contact AppsFlyer Support for assistance.
Does AppsFlyer train AI models on my data?
No. AppsFlyer doesn't use your data to train any AI models. AI can produce inaccurate or incomplete results, so review outputs before acting on them.