| name | clari-reference-architecture |
| description | Reference architecture for Clari revenue intelligence integrations.
Use when designing a forecast data platform, planning Clari integration
architecture, or establishing team patterns for revenue analytics.
Trigger with phrases like "clari architecture", "clari data platform",
"clari integration design", "clari best practices".
|
| allowed-tools | Read, Write, Edit, Grep |
| version | 1.6.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","revenue-intelligence","forecasting","clari"] |
| compatibility | Designed for Claude Code |
Clari Reference Architecture
Overview
Production architecture for Clari revenue intelligence integrations: export pipeline design, data warehouse schema, analytics layer, and alerting.
Architecture Diagram
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ Clari App โ โ Clari Export โ โ Data Warehouse โ
โ (SaaS) โโโโโโถโ API (v4) โโโโโโถโ (Snowflake/BQ) โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโผโโโโโโโโโโ
โ Change โ โ Analytics / โ
โ Detection โโโโโโถโ Dashboard โ
โโโโโโโโโโโโโโโโโโโ โ (Looker/Metabase)โ
โ โโโโโโโโโโโโโโโโโโโโ
โโโโโโโโผโโโโโโโโโโโ
โ Alerts โ
โ (Slack/Email) โ
โโโโโโโโโโโโโโโโโโโ
Project Structure
clari-data-platform/
โโโ src/
โ โโโ clari_client.py # API client wrapper
โ โโโ export_pipeline.py # ETL pipeline
โ โโโ change_detector.py # Forecast change tracking
โ โโโ models.py # Data models
โ โโโ config.py # Environment config
โโโ dags/
โ โโโ clari_export_dag.py # Airflow DAG
โโโ sql/
โ โโโ schema.sql # Warehouse table definitions
โ โโโ merge.sql # Upsert logic
โ โโโ analytics/
โ โโโ forecast_accuracy.sql
โ โโโ pipeline_coverage.sql
โ โโโ rep_performance.sql
โโโ tests/
โ โโโ fixtures/ # Sample API responses
โ โโโ test_pipeline.py
โ โโโ test_change_detector.py
โโโ scripts/
โ โโโ run_export.sh
โ โโโ validate_schema.py
โโโ monitoring/
โโโ alerts.yaml # Alert rules
โโโ dashboard.json # Grafana/Looker config
Data Warehouse Schema
CREATE TABLE clari_forecasts (
id BIGINT GENERATED ALWAYS AS IDENTITY,
owner_name VARCHAR NOT NULL,
owner_email VARCHAR NOT NULL,
forecast_amount DECIMAL(15,2),
quota_amount DECIMAL(15,2),
crm_total DECIMAL(,),
crm_closed (,),
adjustment_amount (,),
time_period ,
forecast_name ,
exported_at ,
(owner_email, time_period, forecast_name, exported_at)
);
clari_forecast_changes (
id GENERATED ALWAYS ,
owner_email ,
time_period ,
previous_amount (,),
current_amount (,),
change_pct (,),
detected_at
);
v_forecast_accuracy
time_period,
owner_name,
forecast_amount,
crm_closed actual_closed,
ROUND(( (forecast_amount crm_closed) (forecast_amount, )) , ) accuracy_pct
clari_forecasts
exported_at ( (exported_at) clari_forecasts f2 f2.time_period clari_forecasts.time_period);