Acquira CRM System Documentation
Current-State View

Acquira CRM is the operating layer for contacts, outreach, pipeline, calls, inbox, campaigns, and team workflow visibility.

The system combines a Next.js frontend, a Supabase-backed relational data model, Twilio for SMS and voice, Airtable as the lead intake source, Gmail and Resend for email operations, Google Shared Drive for retained call artifacts, Gemini for transcript and summary generation, and scheduled jobs for sync, reporting, and recording processing. The current build is optimized around operator speed, visibility, and compliance-aware outreach.

Primary Runtime

crm.acquira.co Production CRM workspace used by Acquira operators and agents.

Current Messaging Model

Airtable → CRM → Twilio Airtable provides initial SMS consent, the CRM initiates outreach, and Twilio owns keyword enforcement while the CRM mirrors status changes.

2. Live Configuration Snapshot

Current production state as documented from the live UI, the current Twilio account, and the running CRM code.

Component Current Value Operational Meaning
Primary domain crm.acquira.co Production CRM used by the team.
Auth layer Google sign-in via NextAuth Approved users enter through Google account authentication.
Primary datastore Supabase Postgres Stores contacts, activities, users, tasks, opportunities, templates, saved views, and dashboard snapshots.
Airtable base/table/view Contacts / viwVZfhuIeIPDoSV3 Feeds new contacts and initial consent/source metadata into the CRM.
SMS and voice provider Twilio Handles SMS delivery, inbound messaging, keyword enforcement, browser-based voice calling, and Messaging Service routing.
Primary live SMS number +1 206 222 0882 Current production marketing SMS route for outbound CRM texting.
Outbound voice caller ID WA / CA / TX / FL picker Agents can choose from the 4 approved Acquira-owned Twilio numbers before placing a call.
Shared inbox contact@acquira.com Shared Gmail inbox displayed in the CRM Inbox view.
Call recording pipeline Live with Twilio → Drive → Gemini → CRM Inbound and outbound calls can be recorded, uploaded to Shared Drive, transcribed and summarized, linked back to CRM, then deleted from Twilio after processing.
Dashboard mode On-demand with stored snapshots Week and month views are refreshed together to reduce load and keep metrics aligned.
Saved Views Sidebar-based, below Settings Surfaced as permanent quick-access groups when saved items exist.
Current outbound SMS route Marketing Messaging Service Current CRM outbound texts send through the active marketing service. Voice calling is not affected by this routing state.

3. Apps Used and Their Purpose

This section maps the active system stack to its actual role in the CRM.

App / Service Role Current Use in CRM
Next.js Application framework Drives the CRM frontend, API routes, authenticated dashboard shell, and in-app workflows.
Vercel Hosting and scheduled execution Hosts production, handles deployments, and runs scheduled jobs such as dashboard snapshot refresh and sync fallback automation.
Supabase Postgres System of record Stores CRM entities, activity history, templates, pipeline data, users, and reporting snapshots.
Airtable Lead intake source Provides contact records, original SMS opt-in state, marketing attribution fields, and other source metadata.
Twilio Communications provider Handles SMS, inbound webhooks, compliance keywords, Messaging Services, phone numbers, browser voice calling, and the source recording artifact before export.
Gmail Inbox and email history Powers the shared Inbox experience and contact-level email activity ingestion.
Google Workspace Identity and mail platform Supports Google sign-in and the Gmail-connected workflow around shared mailboxes.
Google Shared Drive Retained file storage Stores exported call recordings and full transcript files after processing completes.
Resend Outbound email delivery Used for application-managed outbound email sends and campaign-related delivery flows.
Gemini Transcript and summary generation Generates full call transcripts and CRM-ready call summaries from recorded call audio.
Browser localStorage User-side persistence Persists Saved Views for Contacts and Pipeline in the current implementation.
ActiveCampaign Planned email activity source Not active in the current runtime; planned to feed tracked email activity into CRM history.

4. Live UI Scope

These are the main screens observed in the production CRM during the Playwright audit.

Dashboard

High-level contact and call reporting with snapshot-backed metrics, pipeline charts, agent breakdowns, and marketing-source attribution.

Contacts

Main operational table for lead review, ownership, notes, quick actions, and contact drill-down into full activity history.

Pipeline

Opportunity-oriented view with stage grouping, confidence, next steps, saved views, and grouped status review.

Calls

Browser dialer plus recent call log, with a caller-ID picker by state, corrected call results such as no answer versus true completed, and recorded-call summaries written back to CRM activity.

SMS

Full inbound and outbound SMS history, including STOP-style replies and the agent-originated first-touch messages.

Inbox

Shared mailbox view for contact@acquira.com, currently scoped to the last 3 months.

Campaigns

Bulk SMS and email campaign workspace. The live production audit currently shows no campaigns created.

Settings

Field schema, templates, pipelines, campaign setup, team setup, and the currently visible Sync sub-item.

Saved Views

Displayed permanently below Settings in the left sidebar when contact or pipeline saved views exist.

5. What the Dashboard Contains

Current observed structure from the live Sales Dashboard.

Current top-level controls
The Sales Dashboard currently includes a Contacts and Calls mode toggle, along with period buttons for This Week, This Month, and Custom. The observed live subtitle is On-demand pipeline, contacts, and agent performance overview and the dashboard displays the latest refresh timestamp plus coverage window for the selected range.
Current contact-mode summary cards
During the live audit, the dashboard showed Total Contacts, New This Week, New This Month, and Conversion Rate. The live values observed were 26,878 total contacts, 11 new this week versus 2 last week, 21 new this month versus 16 last month, and a conversion rate of 0% with 0 closed won.
Current charts and sections
The live dashboard currently contains these sections in Contacts mode: Contacts by Pipeline Status, Contacts by Agent (by Pipeline Stage), Marketing Sources — This Week, Weekly New Contacts — This Week vs Last Week, Monthly New Contacts — This Year vs Last Year, and Agent Performance. In Calls mode, the observed sections are Calls Per Agent (by Result), Calls Per Result, Calls By Direction, and Calls Trend.
Current marketing source logic
The live dashboard groups attribution into source buckets rather than raw query strings. The note visible in production states that values containing fbclid or /fb-lander/ map to Facebook, /two-lander/ maps to Google, and values containing organic, linkedin, youtube, or instagram are grouped into those source buckets.
Live Dashboard Reference Live dashboard reference screenshot
Replace with the latest dashboard reference if the mode toggle, date controls, or chart layout changes.
assets/screenshots/dashboard-live-reference.png
Mode toggle Coverage label Source attribution chart

6. Twilio Services, Active Numbers, and Current Status

Current Twilio state cross-checked against the live account and current CRM operating rules.

Current compliance model

Airtable is the initial consent source. Twilio is the live enforcement layer for keyword events. The CRM mirrors Twilio status changes and logs them on the contact record.

Number Primary Purpose Current Status Observed Webhook State
+1 206 222 0882 Current active marketing SMS number Attached to the live marketing route used for current outreach Number-level SMS and voice webhooks point to crm.acquira.co
+1 727 609 7712 Florida customer-care number Purchased and attached to the customer-care Messaging Service Number-level SMS and voice webhooks point to crm.acquira.co
+1 469 310 9054 Texas customer-care number Purchased and attached to the customer-care Messaging Service Number-level SMS and voice webhooks point to crm.acquira.co
+1 213 329 7459 California customer-care number Purchased and attached to the customer-care Messaging Service Number-level SMS and voice webhooks point to crm.acquira.co
Messaging Service SID Use Status
Marketing A2P Messaging Service MG5aa646a61c355b2831b0e81d726a994e Current production marketing messaging Active and currently supporting live outreach
Acquira Customer Care Messaging Service MG1ed3b827a623d77aa9afeeb27f7abd8f 1:1 conversational and assigned-agent customer-care messaging Service is configured and under review for customer-care registration
Registration Value Status
Marketing campaign CYFVK9G VERIFIED on the current production marketing Messaging Service
Customer-care registration SID QE2c6890da8086d771620e9b13fadeba0b IN_PROGRESS
Brand SID BNbbffc496821ef21dacc4c8012c1b3c98 Matches the live Acquira Twilio brand
Customer-care campaign ID null Not assigned yet because review is still in progress
Current CRM outbound route MARKETING Current CRM outbound SMS sends through the marketing Messaging Service until customer-care routing is turned on in production.
Current keyword ownership
Twilio sends the STOP, START, and HELP replies. The CRM logs the inbound and outbound SMS activity, updates smsOptIn, and stores the compliance note on the contact.
Current keyword sets mirrored into CRM
Opt-in: START, UNSTOP, YES, JOIN
Opt-out: OPTOUT, END, QUIT, UNSUBSCRIBE, REVOKE, STOP, STOPALL, CANCEL
Help: HELP, INFO
Twilio Service Map Twilio service map diagram
Replace with the latest Twilio service map if active services, registration state, or number assignments change.
assets/screenshots/twilio-service-map.svg
  1. Show which number currently handles the active marketing route.
  2. Show the 3 customer-care numbers already attached to the customer-care Messaging Service.
  3. Show Twilio as keyword owner and CRM as the logging and consent-mirroring layer.

7. Storage and Data Security

Current storage model by domain, responsibility, and effective system-of-record behavior.

CRM database

Supabase Postgres stores contacts, tasks, activities, users, opportunities, templates, saved views, dashboard snapshots, category options, pipeline metadata, and internal workflow state.

Inbound source metadata

Airtable supplies external intake fields such as contact identity, location, URL source, UTM fields, query strings, and original consent state.

Message and call delivery systems

Twilio and Gmail remain the external delivery rails. The CRM keeps the operator-facing record of what happened, when it happened, which contact it belongs to, and how call processing resolved.

Dashboard reporting

Week and month dashboard payloads are snapshotted and served from stored state to keep the dashboard fast and to align headline metrics across views.

Access control

CRM access is gated through Google sign-in. Team access is controlled inside the application, and core operational actions are tied to authenticated users.

Webhook security

Twilio SMS and voice webhooks validate the Twilio signature. Airtable and Gmail sync routes also use secrets or tokens before accepting external updates.

Secrets handling

API credentials and webhook secrets are stored in environment variables, not in the user interface. The CRM uses server-side routes to talk to Twilio, Airtable, Gmail, and Resend.

Retention and compliance

Inbound and outbound messaging activity is logged in CRM history. Recorded-call audio is exported to Shared Drive, transcript files are retained in Drive, summaries are written to CRM, and the Twilio-hosted recording is deleted after successful processing to reduce long-term storage risk.

Security Diagram Security diagram
Replace with the latest security diagram if trust boundaries, auth flow, or vendor boundaries change.
assets/screenshots/security-diagram.svg
Auth boundary Webhook validation Server-side secret handling

8. End-to-End Operational Flows

These are the live process flows the CRM currently supports.

1
Lead intake

A website or upstream source writes contact data into Airtable. Airtable then acts as the initial source for contact creation and original SMS opt-in state.

2
CRM sync and ownership

The CRM syncs that lead in, creates the working contact record, preserves attribution fields such as urlSource, utmSource, and query, and then lets agents assign, update, and work the record.

3
First outreach

An agent sends SMS, email, or places a call. The action is stored on the contact as activity and updates the operating history for the team. Outbound SMS currently sends through the active marketing Messaging Service.

4
Compliance-aware follow-up

If the contact replies with messaging keywords, Twilio enforces the keyword response. The CRM mirrors the contact’s opt-in state and records the event in activity.

5
Pipeline progression

The team moves contacts through stages such as New Lead and Contacted, updates confidence and next steps, and uses Saved Views to keep working slices organized.

6
Recorded call processing

When a call is recorded, Twilio sends the recording callback, the CRM downloads the artifact on schedule, uploads the recording and transcript to Shared Drive, generates a Gemini summary, writes the summary note into CRM activity, and then deletes the Twilio-hosted recording.

Operational Flow Diagram Operational flow diagram
Replace with the latest operational flow if intake, outreach, consent, or recording steps change.
assets/screenshots/operational-flow.svg
  1. Show Airtable as the initial intake and consent source.
  2. Show the agent action point inside CRM.
  3. Show Twilio keyword enforcement and CRM activity logging.

9. Current Automation Logic

Observed automation and rule-based system behavior currently active in the CRM.

Automation / Rule Current Behavior Operational Purpose
Airtable sync Creates or updates contacts and mirrors key source fields into CRM records. Reduces manual data entry and keeps intake data current.
SMS consent precedence Airtable sets the starting state; Twilio keyword events override it; CRM mirrors the latest effective state. Preserves intake consent while still following live compliance events.
Twilio keyword ownership Twilio sends keyword replies; CRM logs the inbound event and updates contact consent state. Avoids duplicate STOP or START reply behavior and keeps ownership clean.
Call result normalization Very short Twilio completed attempts without a real human answer can be normalized to no answer. Improves call-log accuracy for actual agent review.
Dashboard snapshots Week and month dashboards are refreshed together and served from snapshot state. Reduces load and prevents inconsistent top-line metrics across dashboard views.
Saved Views persistence Contact and Pipeline views are persisted in local browser storage and surfaced in the left sidebar when available. Supports repeatable working queues for operators.
Call recording processing Twilio recording callbacks mark calls for processing, a scheduled worker exports the recording, uploads files to Shared Drive, generates Gemini transcript and summary outputs, writes CRM notes, and deletes the Twilio recording after success. Keeps recorded-call history useful in CRM while minimizing long-term Twilio storage cost.
Automation Sequence Diagram Automation sequence diagram
Replace with the latest automation sequence if scheduled jobs, webhooks, or persistence logic changes.
assets/screenshots/automation-sequence.svg
Nightly / scheduled jobs Realtime webhook updates Local browser persistence

10. Cost Model

Current Acquira-covered software costs, CRM platform costs, and live Twilio usage for the active CRM stack.

Service Current Plan Current Monthly Upgrade Reference Upgrade Monthly
Vercel Hobby $0.00 Pro $20.00
Supabase Free $0.00 Pro $25.00
Resend Free $0.00 Pro / Scale $20.00 / $90.00
Twilio local numbers 4 active US local numbers $4.60 n/a 1.15 * number_count
Airtable Team $264.00 existing shared Acquira cost no CRM-specific upgrade required
Google Workspace covered by Acquira Workspace shared company cost existing shared Acquira cost no CRM-specific upgrade required
Existing Shared Acquira Cost
$264.00 + Google Workspace
Airtable Team is already part of Acquira's active software spend. Google Workspace is also already covered at the company level.
Current CRM Platform + Twilio
$6.32 / mo
Current modeled run rate for Twilio numbers and observed March usage. Vercel, Supabase, and Resend are currently on free or hobby tiers.
Optional Platform Upgrade Reference
$49.60 to $119.60 / mo + usage
Reference only: Vercel Pro + Supabase Pro + Resend Pro or Scale + 4 Twilio local numbers. This is not required unless limits, reliability, or sending volume justify it.
Costing note

This section is intended to document current pricing structure and planning thresholds. It is not a finance ledger and should be refreshed whenever vendor billing plans or Twilio rates change.

10A. Current Setup Pricing

Current plan pricing and live rate-card references for the CRM stack. This section focuses on pricing structure, not month-to-date spend.

Item Current Setup Pricing Notes
Vercel Hobby $0.00 / mo Current production host for crm.acquira.co.
Supabase Free $0.00 / mo Current database and auth platform for the CRM.
Resend Free $0.00 / mo Current billing page shows 3,000 transactional emails / mo and 1,000 marketing contacts included.
Airtable Team $264.00 / mo Current Acquira-paid shared workspace cost.
Google Workspace Acquira Workspace covered by existing company plan Shared company cost rather than a CRM-specific incremental line item.
Twilio local numbers 4 active US local numbers $1.15 / number / mo Current fixed monthly number cost = $4.60 / mo.
Twilio outbound SMS marketing and CRM agent sends $0.0083 / segment Current live rate for US local messaging.
Twilio inbound SMS contact replies and inbound messages $0.0083 / segment Current live rate for US local messaging.
Twilio inbound voice received calls $0.0085 / min Current live inbound local voice rate.
Twilio outbound voice agent-placed calls $0.0140 / min Current live outbound US voice rate used by the CRM.
Twilio call recording live recorded-call pipeline $0.0025 / recorded min Twilio voice recording rate. Storage is free for the first 10,000 recorded minutes / mo, then $0.0005 / min / mo.
Gemini transcript and summary live AI processing usage-based Current recorded-call workflow exports audio, generates transcript and summary through Gemini, saves files to Drive, and writes the summary into CRM.
Call Recording Projection Expression Projected Monthly Price Notes
100 recorded min / mo 100 * 0.0025 $0.25 Twilio recording only. Storage remains inside the free first 10,000 min / mo threshold.
1,000 recorded min / mo 1000 * 0.0025 $2.50 Twilio recording only. Storage still remains inside the free threshold.
10,000 recorded min / mo 10000 * 0.0025 $25.00 Twilio recording only. Storage remains free up to this threshold.
12,000 recorded min / mo (12000 * 0.0025) + (2000 * 0.0005) $31.00 Includes $30.00 recording plus $1.00 Twilio storage for the 2,000 minutes above the free storage threshold.

10B. Platform Limits and How to Check Them

These are the practical plan limits most relevant to the current CRM, plus the fastest way to inspect each one in its own vendor console.

Platform Current Limit Most Relevant to CRM Current Status How to Check
Vercel Hobby 1,000,000 function invocations, 4 CPU-hrs, 360 GB-hrs memory, 100 GB fast data transfer, 1 concurrent build Hosting plan is Hobby Vercel -> Team Settings -> Billing and Usage, then project usage pages for runtime and bandwidth.
Supabase Free 500 MB database, 5 GB egress, 5 GB cached egress, 1 GB storage, 50,000 MAU, 500,000 edge invocations, 200 realtime peak connections, 2,000,000 realtime messages 0.094 / 0.5 GB DB, 1.451 / 5 GB egress, 0 / 1 GB storage Supabase -> Billing for plan and Usage for current consumption by metric.
Airtable Team 50,000 records / base, 20 GB attachments / base, 100,000 API calls / workspace / mo, 5 req / sec / base 46,447 / 50,000 records, 500.4 MB / 20 GB attachments, 25,965 / 100,000 API calls Airtable -> Workspace settings -> Database for summary; Usage tab for API and per-base metrics.
Resend Free 3,000 transactional emails / mo, 100 emails / day, 1,000 marketing contacts, 1 webhook endpoint Free billing page observed Resend -> Settings -> Billing for plan; dashboard usage pages for email volume and events.
Twilio usage-based rather than fixed plan quotas for SMS and voice; number count and message/call volume are the primary drivers 4 active local numbers, 77 outbound SMS segments, 17 inbound SMS segments, 11.3667 total voice min observed this month Twilio Console -> Monitor -> Usage, Phone Numbers, Messaging -> Services, and Voice -> Logs.
Projection Scenario Expression Projected Cost
Normalized current-month Twilio run rate 5.5062 * 31 / 27 $6.3227
1,000 outbound + 1,000 inbound SMS 4.60 + 0.0083 * 2000 $21.20
1,000 outbound + 1,000 inbound SMS + 100 inbound + 100 outbound voice minutes 4.60 + 0.0083 * 2000 + 0.0085 * 100 + 0.014 * 100 $23.45
100 API-triggered SMS send requests 100 * 0.0083 $0.83

11. Planned Additions

Known near-term and conceptual roadmap items that should be treated as future-state, not current live functionality.

ActiveCampaign email tracking

Planned addition: ActiveCampaign emails will be tracked inside the CRM so email activity from that system becomes part of the contact history and operator view.

Call recording quality refinements

Next-stage improvement: refine prompt structure, improve transcript quality handling for short or unclear calls, and tighten how summaries are displayed inside the CRM activity view.

AI lead-chat agent

Concept stage: an AI agent that can chat with leads directly, apply timing logic, and use a second-review layer to reduce prompt injection risk and unsafe disclosure risk before messages go out.

Current live call recording flow
Current workflow: Twilio call recording enabled → recording callback reaches CRM → scheduled processor exports the recording → recording and transcript are saved to Shared Drive → Gemini generates transcript and summary → CRM stores the summary note and Drive links → Twilio-hosted recording is deleted after successful processing.
Future-state AI messaging guardrail concept
Proposed workflow: inbound lead message enters CRM → AI drafts response using contact context and timing rules → second-review layer checks disclosure policy, scope boundaries, and prompt-injection risk → approved output is either released automatically or routed for human review depending on confidence and risk threshold.

12. Current Visual Asset Library

Current screenshot and diagram set available for this documentation bundle.

Current Screenshot Set

Login, Dashboard overview, Dashboard reference, Contacts list, Contact detail, SMS composer, Saved Views, Templates, Saved Links and Signatures, Settings references, and supporting UI captures are already stored in assets/screenshots/.

  • Live UI captures
  • Product-tour visuals
  • Operator examples
Current Diagram Set

Twilio service map, security diagram, operational flow, and automation sequence diagrams are already included. Future additions can extend this set with AI review flow or deeper reporting maps as needed.

  • Architecture diagrams
  • Sequence flows
  • Trust boundaries