CRM sync and dashboards

A sales dashboard fed by a live read-only CRM sync, with an AI assistant that drafts but never sends.

Node.js, Express, MongoDB

What it does

The dashboard brings a sales team’s CRM data into one place and refreshes it every hour. When last checked it held 939 leads, 1,343 contacts and 3,420 opportunities. I’m the sole author.

The hard part

Different people should see different numbers, and an AI assistant sitting next to customer data must not act on its own.

What I did

  • Kept the CRM sync read-only, so the dashboard can’t change the source data.
  • Made logins invite-only with roles. The owner sees company financials, managers see the team but not the financials, and reps see only their own accounts.
  • Limited the AI assistant to writing drafts. A person always decides what gets sent.
  • Connected accounting over OAuth, currently on a sandbox.

Result

A live read-only sync that a whole sales team can use without being able to change the CRM or see each other’s restricted data.