Connect Ignitionary with Salesforce, HubSpot, Pipedrive, Zoho, and other CRM platforms
Streamline sales processes from lead to closed deal
Capture configuration interest and automatically qualify leads based on product complexity and value.
Convert configurations into opportunities with accurate pricing and detailed product specifications.
Trigger targeted email campaigns based on configuration behavior and abandoned configurations.
Track conversion rates, popular configurations, and revenue attribution from configurator to close.
Deep integrations with leading CRM systems
Sales Cloud, Service Cloud, CPQ
Marketing, Sales, Service Hub
Sales CRM & Pipeline Management
Dynamics 365 Customer Engagement
Zoho CRM, Zoho One Suite
Key integration points for CRM connectivity
Sample code for common CRM integration scenarios
// Create opportunity in Salesforce from configuration async function createSalesforceOpportunity(configData) { const opportunityData = { Name: `Configuration - ${configData.productName}`, AccountId: configData.accountId, Amount: configData.totalPrice, StageName: 'Qualification', CloseDate: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000), Configuration_Data__c: JSON.stringify(configData.options) }; const response = await fetch(`${SF_API_BASE}/sobjects/Opportunity`, { method: 'POST', headers: { 'Authorization': `Bearer ${accessToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify(opportunityData) }); return await response.json(); }
// Update HubSpot contact and create deal async function updateHubSpotContact(email, configData) { // Update contact with configuration interest const contactUpdate = { properties: { last_configuration_date: new Date().toISOString(), interested_products: configData.productCategories.join('; '), configuration_value: configData.totalPrice } }; await fetch(`${HUBSPOT_API_BASE}/contacts/v1/contact/email/${email}/profile`, { method: 'POST', headers: { 'Authorization': `Bearer ${hubspotToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify(contactUpdate) }); // Create deal if configuration value exceeds threshold if (configData.totalPrice > 10000) { const dealData = { properties: [ { name: 'dealname', value: `Configuration Deal - ${configData.productName}` }, { name: 'amount', value: configData.totalPrice }, { name: 'dealstage', value: 'qualifiedtobuy' } ] }; return await fetch(`${HUBSPOT_API_BASE}/deals/v1/deal`, { method: 'POST', headers: { 'Authorization': `Bearer ${hubspotToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify(dealData) }); } }
// Qualify and score leads in Pipedrive async function qualifyPipedriveLead(configData) { // Calculate lead score based on configuration let leadScore = 0; if (configData.totalPrice > 50000) leadScore += 50; if (configData.complexity === 'high') leadScore += 30; if (configData.timeSpent > 600) leadScore += 20; // 10 minutes+ const dealData = { title: `${configData.companyName} - Configuration Lead`, value: configData.totalPrice, currency: 'USD', pipeline_id: 1, stage_id: leadScore > 50 ? 2 : 1, // Qualified vs Unqualified custom_fields: { lead_score: leadScore, configuration_data: JSON.stringify(configData), source: 'Product Configurator' } }; const response = await fetch(`${PIPEDRIVE_API_BASE}/deals`, { method: 'POST', headers: { 'Authorization': `Bearer ${pipedriveToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify(dealData) }); return await response.json(); }
// Create deal in Zoho CRM with configuration data async function createZohoDeal(configData) { // Calculate deal priority based on configuration value const priority = configData.totalPrice > 25000 ? 'High' : configData.totalPrice > 10000 ? 'Medium' : 'Low'; const dealData = { data: [{ Deal_Name: `${configData.companyName} - Configuration Deal`, Amount: configData.totalPrice, Stage: 'Qualification', Closing_Date: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString().split('T')[0], Priority: priority, Lead_Source: 'Product Configurator', Product_Configuration: JSON.stringify(configData.options), Configuration_Value: configData.totalPrice, Time_Spent_Configuring: configData.timeSpent }] }; const response = await fetch(`${ZOHO_API_BASE}/crm/v2/Deals`, { method: 'POST', headers: { 'Authorization': `Zoho-oauthtoken ${zohoAccessToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify(dealData) }); const result = await response.json(); // Create follow-up activity if high priority if (priority === 'High' && result.data && result.data[0].details.id) { const activityData = { data: [{ Subject: 'Follow up on high-value configuration', Activity_Type_Id: 'Call', Due_Date: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString().split('T')[0], What_Id: result.data[0].details.id }] }; await fetch(`${ZOHO_API_BASE}/crm/v2/Tasks`, { method: 'POST', headers: { 'Authorization': `Zoho-oauthtoken ${zohoAccessToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify(activityData) }); } return result; }
Common automation scenarios
User begins product configuration → Create lead record with source tracking
Track time spent, options explored → Update lead score and engagement metrics
User completes configuration → Create opportunity with detailed product specs
Trigger email sequences, assign to sales rep, schedule follow-up tasks
Streamline your sales process with automated configuration-to-deal workflows