Step 1 — Set up the CRM project
Start the Build-a-CRM tutorial: install the framework, create an empty crm app, prepare the database tables we'll use across the six steps. End state: framework running, admin signed in, three empty tables ready for customers, deals and activities.
Step 2 — The Customers screen
Build the first screen of the CRM: a SQL connector that reads + writes the customers table, a screen that turns it into a grid + edit dialog, and a menu entry that opens it. Demonstrates the full pool → connector → screen → menu flow.
Step 3 — Deals and relationships
Add the Deals screen with a foreign-key lookup to Customers, polish the dictionary so status values render as coloured chips, and add an Activities sub-grid inside the Deal dialog. Demonstrates lookups, the dictionary and parent-child relationships.
Step 4 — Sales pipeline dashboard
Layer a dashboard on top of the existing Deals data: four KPIs, a stacked bar chart by stage, a 'recent activities' table, all sharing a period filter and drilling down to the Deals screen. Demonstrates dashboards, charts and the shared filter bar.
Step 5 — Roles and SSO
Split the CRM into Sales (full edit), Manager (read + dashboard) and Admin roles. Wire OIDC sign-in against a real identity provider. Demonstrates roles, permissions, OIDC and the per-call permission codes generated by the framework.
Step 6 — AI assistant and scheduled jobs
Wire the AI assistant so it can answer natural-language questions over the CRM data, and add a nightly Nomaflow job that flags deals with no activity in 14 days. Demonstrates AI tool generation, permission scoping for the assistant and the Nomaflow job model.