AI Agent
The Pruuv AI agent is an autonomous optimisation agent that analyses your clients' campaign performance, compares it against their targets, and surfaces actionable recommendations. With the right approval settings, it can also execute approved changes directly — adjusting bids, budgets, and status — without manual intervention.
What the agent does
On each scheduled run, the agent:
- Fetches the latest ad performance data for the client's connected accounts
- Loads the client's active targets (CPA, ROAS, CPL, budget, and custom KPIs)
- Analyses trends, anomalies, and performance gaps using a multi-step reasoning process
- Generates structured recommendations — each with a category, action, confidence score, and rationale
- Queues recommendations for human review or auto-executes them based on the client's approval settings
Schedules
Each client can have one or more agent schedules configured. A schedule defines how often the agent runs for that client and what it is authorised to do.
| Schedule type | Cadence | Typical use |
|---|---|---|
| Hourly | Every hour | High-spend accounts requiring rapid response to anomalies |
| Daily | Once per day | Standard campaign monitoring — most common |
| Weekly | Once per week | Low-activity accounts or strategic review cadence |
| Custom | Cron expression | Agency-defined timing for specific client workflows |
Recommendations
Recommendation categories
| Category | Description |
|---|---|
| bid_adjustment | Increase or decrease bid for a specific ad set or campaign |
| budget_reallocation | Move budget from underperforming to overperforming campaigns |
| pause | Pause a campaign, ad set, or ad based on performance data |
| resume | Resume a previously paused item that shows recovery signals |
| creative_flag | Flag a creative for human review based on performance data |
| target_review | Alert that a target may be unrealistic given current market data |
| anomaly | Highlight an unusual data point that warrants investigation |
Confidence scores
Each recommendation includes a confidence_score between 0 and 1 reflecting how strongly the evidence supports the recommendation. Scores above 0.8 indicate high confidence based on consistent multi-period data. Scores below 0.5 indicate the agent detected a signal but lacks sufficient data to be certain.
Approval workflow
Each client has an approval configuration that controls how recommendations are handled:
| Approval mode | Behaviour |
|---|---|
| Require approval (default) | All recommendations are queued for human review. No changes are made until an agency user approves. |
| Auto-approve below threshold | Recommendations with confidence above a set threshold and value below a spend limit are auto-executed. |
| Full auto | All recommendations are executed immediately. Suitable for trusted accounts with well-validated targets. |
Approved recommendations are executed via the platform APIs (Meta, Google, TikTok) using the connected OAuth tokens. The execution status and any platform error response are recorded against the recommendation record.
Post-execution checks
After a recommendation is executed, Pruuv automatically schedules a follow-up agent run 4–8 hours later to assess whether the change had the intended effect. The results are stored as outcome measurements and used to improve future recommendation confidence calibration.
Outcome assessment
For recommendations that are at least 7 days old, Pruuv runs a daily outcome assessment that compares the KPIs from before and after the change. Outcome data is visible in the recommendation history and contributes to the agent's self-calibration over time.
Background jobs
The agent runs as a set of Inngest durable functions. You can monitor job status and recent runs from Settings > Background Jobs in the Pruuv dashboard.
| Function | Trigger | Purpose |
|---|---|---|
| agent-run-scheduler | Every 1 min (cron) | Finds due client schedules and fans out one agent run event per client |
| agent-run-worker | Event-driven | Assembles context, runs the AI, saves recommendations. Retries: 2 |
| assess-outcomes | Daily 06:00 UTC | Records post-execution KPI measurements for recommendations ≥7 days old |
| post-execution-checks | Every 1 hour | Triggers re-analysis for clients with actions executed 4–8 hours ago |
| post-execution-check-worker | Event-driven | Re-runs agent for a single client to assess whether an action improved metrics |