How finbyz/finbyzreach works
Finbyzreach is a Frappe CRM outreach app combining scheduled AI-assisted stale-opportunity follow-ups with campaign broadcasting and a visual email-template editor. The main documented workflow evaluates stale records, enriches prospect context, compiles CRM activity, drafts and queues a personalized email, then dispatches queued mail. The graph also preserves the distinct campaign-planning and template-authoring branches. Some backend links are based on README descriptions and module boundaries; unsampled implementation details are not expanded.
Main entry points: smart_followup.py Stale Follow-up Job · api.py Template Builder API · research.py Prospect Research · enqueue_outbound_emails.py Outbound Dispatcher
Components 26
Smart Follow-ups
- Stale Follow-up Job
finbyzreach/tasks/every_4PM/smart_followup.py - Prospect Research
finbyzreach/utils/research.py - AI Agent Service
- CRM Activity Context
finbyzreach/tasks/every_4PM/smart_followup.py - Email Drafting Agent
finbyzreach/tasks/every_4PM/smart_followup.py - Draft Communication
finbyzreach/ai_email_outreach/doctype/communication_email/communication_email.py - Outbound Dispatcher
finbyzreach/tasks/every_10_min/enqueue_outbound_emails.py - Frappe Email Queue
Email Campaigns
- Campaign Studio
finbyzreach/finbyzreach/page/email_campaign_studio/email_campaign_studio.py - Campaign Planning
finbyzreach/email_marketing.py - Audience Selection
finbyzreach/email_marketing.py - Campaign Records
finbyzreach/email_marketing.py - Campaign Dispatcher
finbyzreach/email_marketing.py
Template Builder
- Visual Builder
builder/src/App.tsx - Builder Controller
builder/src/hooks/useEmailBuilderController.ts - Template Builder API
finbyzreach/email_template_builder/api.py - Email Compiler
finbyzreach/email_template_builder/compiler.py - Template Services
finbyzreach/email_template_builder/services.py - Email Templates
- Builder Revisions
finbyzreach/email_template_builder/doctype/email_builder_revision/email_builder_revision.py
CRM Data
- CRM Records
- CRM Record Hooks
finbyzreach/doc_events/lead.py - Research API
finbyzreach/api/lead.py
Other components
- Frappe Scheduler
- Campaign Manager
- Template Author
Connections 32
- Frappe Scheduler → Stale Follow-up Job: triggers daily
- Stale Follow-up Job → CRM Records: checks opportunities
- Stale Follow-up Job → Prospect Research: requests research
- Prospect Research → CRM Records: reads and enriches
- Prospect Research → AI Agent Service: invokes
- Stale Follow-up Job → CRM Activity Context: gathers history
- Stale Follow-up Job → Email Drafting Agent: requests draft
- Email Drafting Agent → AI Agent Service: invokes
- Stale Follow-up Job → Draft Communication: creates draft
- Draft Communication → CRM Records: saves communication
- Frappe Scheduler → Outbound Dispatcher: triggers every 10m
- Outbound Dispatcher → Draft Communication: loads queued mail
- Outbound Dispatcher → Frappe Email Queue: dispatches
- CRM Record Hooks → Prospect Research: requests enrichment
- Research API → Prospect Research: calls
- Campaign Manager → Campaign Studio: plans campaign
- Campaign Studio → Campaign Planning: configures broadcast
- Campaign Planning → Audience Selection: selects recipients
- Campaign Planning → Campaign Records: saves campaign
- Audience Selection → Campaign Records: records recipients
- Frappe Scheduler → Campaign Dispatcher: triggers delivery
- Campaign Dispatcher → Campaign Records: loads due recipients
- Campaign Dispatcher → Frappe Email Queue: queues campaign mail
- Template Author → Visual Builder: edits template
- Visual Builder → Builder Controller: delegates editing
- Builder Controller → Template Builder API: requests template actions
- Template Builder API → Email Compiler: compiles content
- Template Builder API → Template Services: loads and renders
- Template Services → Email Templates: reads template
- Template Builder API → Email Templates: saves template
- Template Builder API → Builder Revisions: stores revisions
- Template Services → CRM Records: renders lead context