Signalroom brings every ad platform, analytics property and store into one database, then lets Claude explain what changed, write the report and propose the next move. You read, approve, and get back to work.

Agencies and in-house teams spend their week exporting CSVs from five platforms, stitching them together and writing the same report again. Meanwhile a broken campaign or a wasted keyword goes unnoticed for days.

Scheduled collectors pull each source, keep the raw response, and log every run so stale data is visible.
Metrics, comparisons and anomalies are calculated in SQL and Python. No number comes from the model.
Claude reads the computed figures and writes the report and the "why" behind each anomaly in plain language.
Suggested actions show a dry-run preview. Nothing is applied until a person approves, and every decision is logged.
Signalroom is a pipeline with one rule: code counts, Claude explains, a person decides. Every arrow below is logged.
Scheduled collectors. Raw API response kept, normalized rows upserted, every run logged.
One database for every brand. Freshness measured per brand and source.
Metrics, comparisons and anomaly rules in SQL and Python.
Reads computed figures. Writes reports, explains anomalies, drafts actions.
Dry-run preview. Expires after 12 hours. Requester can't self-approve.
Each type of action starts at the bottom and moves up only by configuration, never by default.
Rules flag what changed. Nothing else happens.
Claude explains the finding and proposes a next step.
One click applies the previewed change through the platform API.
Only small, reversible actions on an explicit allow list.
Every API response is stored raw next to the normalized data, so a metric can always be recomputed from source.
Each brand and source has a freshness window. Stale data is flagged on screen before anyone makes a decision on it.
Model calls are metered per job. AI commentary is tied to a hash of the data, so it reruns only when the numbers change.
Every operating rule we adopt ships with an automated test. If it isn't tested, it isn't a rule.
Operator console and client portal are separate apps with separate keys. Clients only ever see their own brand.
Credentials live in environment config per brand, never in code or logs. Every action records who asked and who approved.
Each brand gets its own portal: the numbers that matter to them, what was done this month, and a simple way to ask for the next thing. It installs on a phone like an app.



All screenshots use a fictional demo brand. Interface language: Turkish.
We run it in production for the brands we manage ourselves. It's now in private beta for a small number of agencies.
Request a demo. We'll walk you through it on your own accounts and set up access if it's a fit.
Claude interprets numbers that our own code has already computed: it writes reports, explains anomalies and drafts recommendations. It never calculates the figures and never applies a change without approval.
Only after you approve a specific, previewed change. Large or irreversible changes such as budgets or pausing campaigns are never automated.
We're onboarding a small number of agencies and freight teams. Tell us what you run and we'll set up a walkthrough.
Request a demo