Skip to contentVibraUI
5 pagesopens at /crm

CRM

Deals, leads and campaigns: the pipeline, who is in it, and what it cost to fill.

Preview
/crm

Install

The whole dashboard — every page under one sidebar, the sample data they read — is one command. Or take a page at a time: each one brings the sidebar with it.

npx shadcn@latest add @vibra/crm
  • /crmCRM dashboard
    npx shadcn@latest add @vibra/crm-overview
  • /crm/pipelineDeal pipeline
    npx shadcn@latest add @vibra/crm-pipeline
  • /crm/leadsLeads
    npx shadcn@latest add @vibra/crm-leads
  • /crm/marketingMarketing dashboard
    npx shadcn@latest add @vibra/crm-marketing
  • /crm/campaignsCampaigns
    npx shadcn@latest add @vibra/crm-campaigns

Widgets

Single cards cut from these pages, each installed on its own.

  • The CRM headline card
    npx shadcn@latest add @vibra/widget-crm-overview-crm-stats
    From CRM dashboard

    CRM headline

    The quarter's target as a ring with what is won and still to go, beside customers, open deals and won this quarter with their changes; reads crmStats().

  • The Leads by source card
    npx shadcn@latest add @vibra/widget-crm-overview-leads-by-source
    From CRM dashboard

    Leads by source

    Where the funnel is fed from, as a ring with the total in its centre and the count a source under it; reads leadsBySource().

  • The Follow-ups card
    npx shadcn@latest add @vibra/widget-crm-overview-follow-ups
    From CRM dashboard

    Follow-ups

    The week's follow-ups as a checklist with their priority — ticking one completes it on the server and says so; reads followUps().

  • The Pipeline card
    npx shadcn@latest add @vibra/widget-crm-overview-pipeline
    From CRM dashboard

    Pipeline

    Every open deal by stage, lost ones aside, with the count and value a stage and its share of the whole; reads pipeline().

  • The Leads card
    npx shadcn@latest add @vibra/widget-crm-overview-leads-table
    From CRM dashboard

    Leads

    Every lead on the books, newest first — searchable, filterable by source, sortable and paged, each convertible to a deal; reads leadRows().

  • The Leads figures card
    npx shadcn@latest add @vibra/widget-crm-leads-leads-stats
    From Leads

    Leads figures

    Open leads and how many are qualified, what they are worth if every one closed, new leads against the thirty days before, and the win rate; reads leadRows().

  • The Marketing headline card
    npx shadcn@latest add @vibra/widget-crm-marketing-marketing-stats
    From Marketing dashboard

    Marketing headline

    Spend, conversions, cost per acquisition and return on ad spend over the window, each against the window before; reads marketingStats().

  • The Spend and conversions card
    npx shadcn@latest add @vibra/widget-crm-marketing-spend-conversions-chart
    From Marketing dashboard

    Spend and conversions

    What every live campaign spent a day, as columns, against the conversions it bought on their own axis; reads spendAndConversions().

  • The Channel mix card
    npx shadcn@latest add @vibra/widget-crm-marketing-channel-mix
    From Marketing dashboard

    Channel mix

    Lifetime spend by channel as a donut, with the total in its centre and the leading channel's share; reads channelMix().

  • The Campaigns card
    npx shadcn@latest add @vibra/widget-crm-marketing-campaigns-table
    From Marketing dashboard

    Campaigns

    The biggest budgets whatever their channel, with status, spend, clicks, conversions and what each conversion cost; reads topCampaigns().

  • The UTM sources card
    npx shadcn@latest add @vibra/widget-crm-marketing-utm-table
    From Marketing dashboard

    UTM sources

    The tagged links behind the campaigns, busiest first, with their sessions, conversions and rate; reads utmRows().

  • The Campaign figures card
    npx shadcn@latest add @vibra/widget-crm-campaigns-campaigns-stats
    From Campaigns

    Campaign figures

    What the slate has spent, the conversions it bought from its clicks, what each conversion cost, and how many campaigns are live; reads campaignRows().

  • The Spend by channel card
    npx shadcn@latest add @vibra/widget-crm-campaigns-spend-chart
    From Campaigns

    Spend by channel

    A year of spend a month, one stack a month and one segment a channel, each campaign's spend spread over the days it ran; reads monthlySpend().

Reads from db

Every figure on these pages is read from these repositories of the sample store. Swap one for your own API and each page that reads it follows.

  • db.campaigns
  • db.customers
  • db.deals
  • db.leads
  • db.members
  • db.notifications