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
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
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
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
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.
6. Twilio Services, Active Numbers, and Current Status
Current Twilio state cross-checked against the live account and current CRM operating rules.
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
smsOptIn, and stores the compliance note on the contact.
Current keyword sets mirrored into CRM
START, UNSTOP, YES, JOINOpt-out:
OPTOUT, END, QUIT, UNSUBSCRIBE, REVOKE, STOP, STOPALL, CANCELHelp:
HELP, INFO
- Show which number currently handles the active marketing route.
- Show the 3 customer-care numbers already attached to the customer-care Messaging Service.
- 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.
8. End-to-End Operational Flows
These are the live process flows the CRM currently supports.
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.
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.
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.
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.
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.
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.
- Show Airtable as the initial intake and consent source.
- Show the agent action point inside CRM.
- 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. |
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 |
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
Future-state AI messaging guardrail concept
12. Current Visual Asset Library
Current screenshot and diagram set available for this documentation bundle.
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
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