Lead Capture and Qualification
A modern CRM workflow must efficiently capture leads from various sources – such as web forms, social media, or marketing campaigns – and then qualify those leads for conversion. In this scenario, the lead capture app uses FDC3 to broadcast new lead contexts, while a dedicated lead qualification service (an Action) raises an intent (e.g., “QualifyLead”) to evaluate and score the lead. Once the lead is qualified, the information is forwarded to the CRM system (via a receptor) where sales teams can follow up. This process improves efficiency and accuracy in lead handling and conversion.
Sequence Diagram
Below is the mermaid sequence diagram outlining the interactions:
Component Descriptions:
- Lead Capture App (Agent SDK): Initiates lead capture by broadcasting a new lead context.
- Delivery Hook: Transforms or routes the lead context for further processing.
- Lead Qualification Service (Action): Processes the lead data to qualify it (e.g., using scoring rules) and raises an intent with the result.
- CRM System (Receptor): Receives the qualified lead context and updates the sales or pipeline system accordingly.
Implementation Patterns & Code
Below are TypeScript code examples demonstrating key parts of this workflow.
1. Lead Capture & Context Broadcast
This snippet shows how the lead capture app broadcasts a new lead context:
import { DesktopAgent } from '@finos/fdc3';
import { createAgent } from 'https://platform.connectifi.app/agent/main.bundle.js';
// Initialize the Connectifi Agent
const agent: DesktopAgent = await createAgent('https://platform.connectifi.app', 'LEAD_CAPTURE_APP@DIRECTORY');
// Function to broadcast a new lead context
const broadcastLeadContext = async () => {
const leadContext = {
type: 'fdc3.lead',
data: {
leadId: 'LEAD-123',
fullName: 'Jane Doe',
email: 'jane.doe@example.com',
source: 'WebForm',
score: null // score to be determined by the qualification service
}
};
// Broadcast the lead context, which passes through Delivery Hooks for further processing
await agent.broadcast(leadContext);
};
// Initiate lead broadcast
broadcastLeadContext();
2. Raising the “QualifyLead” Intent from the Qualification Service
The qualification service listens for incoming lead contexts, processes the lead, and then raises an intent with the qualification result:
// Qualification Service Code
import { DesktopAgent } from '@finos/fdc3';
import { createAgent } from 'https://platform.connectifi.app/agent/main.bundle.js';
// Initialize the Qualification Service Agent
const qualAgent: DesktopAgent = await createAgent('https://platform.connectifi.app', 'QUALIFICATION_SERVICE@DIRECTORY');
// Listen for lead contexts (optionally via Delivery Hook processing)
qualAgent.addContextListener('fdc3.lead', async (leadContext) => {
console.log('Received lead for qualification:', leadContext);
// Simulate lead scoring logic
const score = Math.floor(Math.random() * 100);
const qualifiedContext = {
type: 'fdc3.lead.qualified',
data: {
...leadContext.data,
score,
qualificationStatus: score > 50 ? 'Qualified' : 'Not Qualified'
}
};
// Raise intent "QualifyLead" with qualification result
const result = await qualAgent.raiseIntent('QualifyLead', qualifiedContext);
console.log('Qualification result:', result);
});
3. CRM System Receiving the Qualified Lead
Finally, the CRM system registers as a receptor to accept the qualified lead context for updating the sales pipeline:
import { DesktopAgent } from '@finos/fdc3';
import { createReceptorAgent } from 'https://platform.connectifi.app/receptor/main.bundle.js';
// Initialize the CRM receptor agent
const crmAgent: DesktopAgent = await createReceptorAgent('https://platform.connectifi.app', 'CRM_SYSTEM@DIRECTORY');
// Listen for the qualified lead context
crmAgent.addContextListener('fdc3.lead.qualified', (qualifiedLead) => {
console.log('CRM System received qualified lead:', qualifiedLead);
// Process qualified lead (e.g., update sales pipeline, assign to rep)
// TODO: Insert CRM update logic here
});
Connectifi Platform Configuration
To enable this workflow on the Connectifi platform, follow these high-level steps:
- Create and configure a Directory entry for each application (Lead Capture App, Qualification Service, and CRM System) using the Admin UI.
- Define custom FDC3 contexts as needed, such as “fdc3.lead” and “fdc3.lead.qualified”.
- Configure Delivery Hooks to enable any custom data transformation or routing between the lead broadcast and the qualification service.
- Register the “QualifyLead” intent in the platform settings, linking it to the Lead Qualification Service.
- Set up Receptors for the CRM system to receive and process the qualified lead contexts.
Next Steps
- Test the broadcast and intent flow using the Connectifi Agent SDK embedded in your applications.
- Review our detailed documentation and open source libraries for additional examples and advanced configurations.
- Explore our Connectifi templates at https://platform.connectifi.app/templates for more CRM and FDC3 workflow ideas.
- Consider integrating further analytics and feedback loops to enhance lead qualification accuracy.
This workflow demonstrates how Connectifi’s unique features – such as Delivery Hooks, Actions, and Receptors – can be effectively integrated with FDC3 to streamline CRM workflows for capturing and qualifying leads.