Understands your scopes
"Active" is a scope in the code, not a field in the database. Adea finds it and uses exactly that definition, so the number matches what you see in the admin panel.
Stack · Laravel
In Laravel projects the rules live in Eloquent models, scopes and jobs. Adea reads them and answers questions that would otherwise end up as a request to the developer.
Which customers have a subscription that expires in October?
63 customers
Active subscriptions with ends_at in October. 21 of them are on the Pro plan and have not turned on renewal.
Sourcesapp/Models/Subscription.php:58
The code Adea read · app/Models/Subscription.php:58
public function scopeActive($q) {
return $q->whereNull('canceled_at')
->where('ends_at', '>', now());
}
The query Adea ran (read-only)
SELECT count(*) FROM subscriptions WHERE canceled_at IS NULL AND ends_at >= '2026-10-01' AND ends_at < '2026-11-01'
"Active" is a scope in the code, not a field in the database. Adea finds it and uses exactly that definition, so the number matches what you see in the admin panel.
Weekly numbers on renewals, churn and revenue no longer need a report from the developer. Save the question and get the answer every Monday.
Adea only gets read access. Nothing runs inside your Laravel app, and queues and jobs are not touched.
Connect the GitHub repo with read access, and create a MySQL or Postgres user that only has SELECT.
CREATE USER 'adea_readonly'@'%' IDENTIFIED BY '…'; GRANT SELECT ON your_db.* TO 'adea_readonly'@'%';
Adea is independent of your admin panel. It reads models and database, so it works whether you use Filament, Nova or something else.
Tell Adea which column separates customers. The rule becomes an approved understanding that every answer follows.
Yes, and we recommend it.