POWERED BY TWENTYCRM · OPEN SOURCE

ONE CRM.
EVERY PRODUCT.
EVERY CLIENT.

A single TwentyCRM instance managing partners, resellers, end customers, and leads across the entire 2nth.ai group — AgileX, VibeCrafters, Proximity Green, ScanMan, and ERP — with unified quoting, billing, and payment.


SIX PRODUCTS.
ONE CRM BACKBONE.

Every product in the group shares the same CRM layer — common contacts, deals, billing, and compliance. No siloed spreadsheets.

2N
2nth.ai
AI-first build platform. Design, software, hardware, robotics delivered via token economy.
Live Platform Explorer → Agent
AG
AgileX
AI recruitment platform. 5 agents from CV intake to offer letter. POPIA-compliant.
Live Recruitment South Africa
PG
Proximity Green
Built environment AI platform. Sustainability compliance, energy modelling, ESG reporting.
Live PropTech ESG
VC
VibeCrafters
Creative + AI agency. Manages sub-clients: LuxProp, TC Inc, Le Gravier, CaptivaData.
Live Agency 4 clients
SC
ScanMan AI
AI-powered document scanning. Cross-platform mobile app with Cloudflare Workers backend.
Beta Mobile DocAI
ERP
2nth ERP
Frappe / ERPNext on GCP. Spins up on demand per client. Cloud Run + Cloud SQL, scales to zero.
Building GCP ERPNext

FOUR ACCOUNT TYPES.
INFINITE SCALE.

Every organisation in the group maps to one of four account types in TwentyCRM. Each type carries different pipelines, billing rules, and permission sets.


CUSTOM OBJECTS
FOR THE GROUP.

Standard TwentyCRM objects (People, Companies, Deals) extended with custom objects that match the 2nth operating model.

🏢
Company
Standard Object
  • name text
  • account_type partner | reseller | customer | lead
  • product_interest multi-select
  • mrr_zar currency
  • crm_stage select
  • lead_score number
👤
People
Standard Object
  • email email
  • role champion | technical | billing | exec
  • company_id relation → Company
  • platform_user_id text
  • whatsapp phone
💰
Opportunity
Standard Object — extended
  • product 2nth | agilex | proxgreen | vibecrafters | scan | erp
  • stage brief → analysis → quoted → approved → live
  • value_zar currency
  • tokens_estimated number
  • brief_id relation → Brief
  • close_date date
📋
Brief
Custom Object
  • title text
  • description rich-text
  • pillars design | software | hardware | robotics
  • analysis_json json
  • tokens_estimated number
  • status draft → submitted → concept_ready → approved
📄
Quote
Custom Object
  • opportunity_id relation → Opportunity
  • line_items json
  • subtotal_zar currency
  • vat_zar currency
  • total_zar currency
  • status draft | sent | approved | expired
  • paystack_link url
🪙
Token Account
Custom Object
  • company_id relation → Company
  • plan explorer | starter | designer | builder | agent
  • balance number
  • consumed_mtd number
  • renewal_date date
  • paystack_sub_id text

FROM LEAD TO
LIVE CLIENT.

Six stages, tracked in TwentyCRM Kanban view. Automated triggers move records between stages based on actions in the platform.

01
Lead
Inbound enquiry, event contact, or cold outreach. AI scores on company size + product fit.
02
Demo
Product demo delivered. Client accesses trial environment on demo.2nth.ai.
03
Brief
Client submits a project brief. Penny runs AI analysis, generates scope + token estimate.
04
Quoted
Quote sent with Paystack payment link. Approval triggers environment provisioning.
05
Active
Paid and building. client.2nth.ai workspace live. Token spend tracked in CRM.
06
Retained
Monthly retainer. Auto-renewal via Paystack subscription. Token top-up alerts.

ZERO MANUAL
HANDOFFS.

TwentyCRM Workflows trigger API calls into the 2nth platform on every stage change. No one has to remember to update a spreadsheet.

1
Brief submitted Webhook
New record in Brief object → TwentyCRM creates linked Opportunity at stage "brief" → assigns to Penny agent queue.
2
Analysis complete API
agents.2nth.ai writes scope JSON back → Brief status → concept_ready → Opportunity value auto-filled from token estimate.
3
Quote approved Paystack
Client clicks approve → Quote status → approved → Token Account created → Opportunity stage → active.
4
Monthly renewal Cron
Paystack subscription webhook → Token Account recharged → Activity logged → CRM note added automatically.
5
Token low alert Monitor
Balance < 20% → CRM task created → email + WhatsApp sent → upsell opportunity auto-created at next tier.

WHAT CONNECTS
TO WHAT.

20crm sits at the centre. Every product reads/writes deals, contacts, and billing records through the TwentyCRM GraphQL API.

Product Contacts sync Deal pipeline Quoting Billing / Paystack Token tracking WhatsApp notify
2nth.ai platform soon
AgileX soon
VibeCrafters
Proximity Green soon soon
ScanMan AI soon soon soon
2nth ERP soon

DEPLOY IN
THREE STEPS.

TwentyCRM runs on Docker Compose. Deploy on a GCP Cloud Run instance alongside 2nth ERP, or on any VPS with PostgreSQL and Redis.

01
Clone + configure
Clone the TwentyCRM repo, copy the .env template, set your PostgreSQL + Redis URLs, and generate an app secret.
git clone https://github.com/twentyhq/twenty
cp .env.example .env
02
Add custom objects
Import the 20crm schema seed — Brief, Quote, Token Account, Activity Log. Creates all custom fields and relations in one migration.
node scripts/seed-20crm.js
03
Connect the webhooks
Set TwentyCRM webhook targets to agents.2nth.ai and the Paystack gateway. All stage-change automations activate immediately.
TWENTY_WEBHOOK_URL=https://agents.2nth.ai/crm/events

READY TO
CONSOLIDATE?

One CRM, all six products, every client relationship in a single view. Self-hosted, open source, no vendor lock-in.