Pages

Sunday, May 3, 2026

Open CTI Retirement Guide: Moving Salesforce Contact Centers Toward Agentforce

Guest blog by: Antonina Kharchenko

The countdown has officially begun for legacy telephony integrations. With February 28, 2028, marked as the Salesforce Open CTI end of life, IT teams and customer experience directors face a critical juncture. This isn't just another routine software patch or minor version update; it is a structural mandate to modernize how customer interactions are handled, routed, and resolved.

If you track recent call center AI news, the driving force behind this shift is undeniable. Industry forecasts anticipate that artificial intelligence will manage up to 50% of routine customer service inquiries by 2027. Clinging to outdated, disconnected frameworks ensures your operations will lag behind this massive wave of automation. The Open CTI retirement is an opportunity to rebuild a faster, smarter communication hub.

Here is your technical and strategic playbook for navigating the transition.


Diagnosing the Legacy Bottleneck

To map out a successful migration, we first need to understand why the existing framework is being phased out. For years, Open CTI served as a highly effective, browser-based bridge. It connected external telephony providers, such as Avaya and Cisco, and local PBX systems directly to the CRM without requiring clunky desktop software installations.

However, as the Salesforce Open CTI ends, its architectural flaws are holding businesses back. The core problem is data fragmentation. In an Open CTI setup, the external telecom provider handles all the heavy lifting: the actual audio stream, call recording, IVR menus, and routing logic. Salesforce merely receives a ping containing metadata (such as caller ID or call duration).

Because the systems are fundamentally decoupled, achieving real-time intelligence is nearly impossible. Organizations are forced to maintain custom JavaScript for every unique vendor API, leading to a fragmented user interface for agents and high technical debt for developers.


The Standard: A Native, Intelligent Engine

The replacement strategy revolves around consolidating operations into a unified Salesforce AI contact center. The combination of Salesforce Voice and Agentforce represents this new baseline.

Instead of relying on a brittle external bridge, Salesforce Voice brings the telephony experience natively into the platform. Calls are answered, transcribed, and logged inside the CRM. This unified data pool is exactly what Agentforce needs to operate effectively.

When you transition to an AI-powered contact center Salesforce model, artificial intelligence stops being a post-call analytics tool and becomes a real-time participant. During a live interaction, the AI monitors the conversation, gauges customer sentiment, automatically retrieves relevant knowledge base articles, and prompts the agent with next-best actions.

The operational impact is highly measurable:

  • 93% of service professionals report that integrated AI directly saves them time.
  • Agents actively utilizing these tools reduce time spent on routine, repetitive tasks by 20%.
  • Salesforce reports that Agentforce has already managed over 2 million conversations via Salesforce Help.


Voice call record page with transcription and next-best-action recommendation


The Enterprise Solution: A Hybrid Voice Architecture

While a fully native Salesforce voice AI setup is ideal for some, it is not a realistic immediate step for massive, complex enterprises. Many organizations operate with multi-regional hardware deployments, strict data residency compliance laws, or multi-year contracts with major telecom carriers. They cannot simply abandon their existing telephony infrastructure overnight.

For these complex environments, the solution is implementing an Enterprise Voice Control Layer.

This middleware approach allows a "Bring Your Own Telephony" (BYOT) strategy. Specialized applications found on the AppExchange act as an intelligent orchestrator. They allow you to maintain your current Avaya, Cisco, or Microsoft Teams routing for voice delivery, while seamlessly pushing the real-time interaction data into Salesforce’s AI engine.

By leveraging tools like AMC Technology's DaVinci, companies can trigger background identity authentication and feed live audio streams into Agentforce for real-time transcription, all without ripping out their underlying telecom hardware. Considering 76% of consumers now expect highly personalized and immediate service, deploying this intelligent middle layer ensures agents have the context they need the second the call connects.

Enterprise voice control layer solutions on AppExchange


Architectural Comparison Breakdown

Understanding your deployment options is critical. Here is how the three main architectural paths compare:



The Migration Playbook

Successfully moving away from legacy adapters requires a structured, phased approach to avoid dropping calls or losing data. Follow this sequence to safeguard your operations:

  1. Conduct a Deep Infrastructure Audit: Document every active CTI adapter, custom workflow, and screen-pop rule currently running in your environment. Identify exactly what data is being passed from your telecom provider to the CRM.
  2. Determine Your Architectural Path: Based on the audit, decide if your organization can migrate fully to a native Salesforce environment, or if you need an enterprise orchestration layer to protect existing vendor investments.
  3. Deploy the Connectivity Layer: If utilizing a hybrid setup, install and configure your central integration framework. Establish secure connections between your existing voice hardware and the Salesforce intelligence engine.
  4. Pilot the Intelligence: Roll out live transcription and Agentforce sentiment analysis to a small, controlled group of service reps. Use their feedback to fine-tune automated workflows and routing rules.
  5. Execute a Parallel Run: Run the legacy Open CTI setup alongside your new architecture for a designated testing period. Once stability and data accuracy are confirmed, scale the new solution company-wide and decommission the old adapters.


Conclusion

The retirement of Open CTI mandates a permanent shift in customer service infrastructure. Relying on fragmented, delayed call data is no longer a viable operational strategy. By planning your migration pathway now, whether through a fully native environment or a strategic enterprise voice layer your contact center will be positioned to leverage real-time intelligence, cut resolution times, and meet the rising expectations of today's consumers.






Sunday, April 26, 2026

Salesforce Data Quality: How to Audit Your Org Before AI and Automation

Guest blog by: Mykhailo Radchenko

Artificial Intelligence is no longer a futuristic concept; it is an active component of daily business operations. Many companies are currently in a race to integrate AI into their workflows, investing heavily in intelligent automation to achieve significant productivity gains. However, a silent hurdle is preventing these investments from reaching their full potential: messy data.


The Financial Reality of Poor Data Quality

The impact of bad data is cumulative and affects every corner of an organization. To prevent marketing campaigns from missing targets and forecasting from becoming unreliable, organizations often rely on a Salesforce data quality playbook to standardize their data entry and maintenance processes. This translates into significant financial losses. According to a 2024 Forrester Research report, over 25% of global data and analytics employees estimate annual losses exceeding $5 million due to poor data quality, with 7% reporting losses of $25 million or more. Gartner further supports this, noting that poor data quality costs organizations an average of $12.9 million annually.

Perhaps the most pressing concern is the threat to future competitiveness. Gartner predicts that through 2026, organizations will abandon 60% of AI projects that lack AI-ready data. This unreliability also severely impacts customer retention. According to a Zendesk study, over 50% of consumers will switch to a competitor after a single bad experience, and 73% after multiple poor experiences. 

Image source: Gartner


Why Companies Struggle with Salesforce Hygiene

For many firms, Salesforce acts as the "central nervous system" of their go-to-market engine. But as companies grow, they build complex technology stacks where marketing automation, ERP systems, and sales platforms all feed data into the CRM. These multiple entry points often result in a CRM filled with missing pieces and mixed-up details.

According to a recent study by Salesforce, the vast majority of executives–87%–view data silos as the primary hurdle preventing them from using artificial intelligence effectively. Despite this, a Salesforce/Forrester survey found that two out of three companies do not have a proper data strategy, although many of them already use AI.

Image source: Salesforce

Furthermore, data decay happens faster than most teams realize. At least 28% of business email addresses expire within a single year, according to a recent industry report. This means that without a consistent strategy to maintain data quality, more than a quarter of your database could be obsolete within 12 months. When Salesforce data hygiene is neglected, the results include:

  • Inaccurate Forecasting: 39% of sales professionals claim poor data prevents accurate pipeline reporting.
  • Lost Productivity: Sales reps spend 70% of their time on non-selling tasks, a figure largely unchanged since 2022.
  • AI Failure: 63% of sales professionals report that their company’s data is not properly set up for generative AI.
  • Loss of Trust: 65% of sales professionals report they cannot fully trust their organization's data.

Understanding Salesforce AI Data Quality Dimensions

Are you ready for AI? The growth potential is significant: Salesforce research indicates that 90% of SMB leaders report AI makes operations more efficient, while 87% say it helps scale services, and 86% believe it improves margins and competitive standing. Furthermore, sales teams that deploy AI with reliable foundations see a clear revenue advantage: 83% saw gains, compared to only 66% of teams without AI. However, these results are achievable only if the underlying data are reliable.

Image source: Salesforce


Before deploying bots or predictive models, it is essential to understand the data quality dimensions Salesforce AI requires to function. If the underlying data is fragmented or incomplete, AI tools will likely surface outdated info or produce "hallucinations". In one high-profile case, an AI support bot invented a fake login policy and sent it to users without human oversight, leading to canceled subscriptions and a public apology. To improve the quality of the data in Salesforce, organizations should audit their org against these four key dimensions:

1. Required Field Standards

AI models require specific "ingredients" to produce meaningful results. For objects like Leads, Contacts, and Opportunities, you must identify which fields, such as Industry, Job Title, or Annual Revenue, are mandatory for your specific AI use case. Identifying these gaps is the first step in creating a reliable dataset.

2. Picklist Uniformity

Inconsistent values are a primary cause of broken logic in AI segmentation. If your "Industry" field contains variations such as "Healthcare," "Health Care," and "Medical," an AI will treat them as separate categories. Normalizing these picklists is vital for Salesforce data quality.

3. Duplication Thresholds

You must define what constitutes a duplicate within your specific business context. For example, should "IBM" and "International Business Machines" be merged?. Using Salesforce deduplication filters to define these match criteria is necessary to prevent the AI from processing redundant or conflicting information.

4. Record Freshness

The "New/Modified Records" trend view is a useful metric to identify stale data. Tracking records created or updated over the past 360 days helps flag data that might confuse analytics or cause poor customer experiences.


The "New/Modified Records" trend view is a useful metric to identify stale data. Tracking records created or updated over the past 360 days helps flag data that might confuse analytics or cause poor customer experiences.


How to Improve Data Quality in Salesforce: A Phased Approach


Cleaning an entire Salesforce instance can feel overwhelming, but a phased strategy for Salesforce data cleansing can yield immediate results.

Phase 1
Target Exact Matches: Start with the "low-hanging fruit" – obvious exact matches where Leads or Contacts share the same email and account name. Merging these records immediately restores trust in the CRM for the teams using it every day.

Phase 2
Automate and Schedule: Once the initial "mess" is cleared, schedule automated merge jobs to handle low-risk duplicates in the background. This ensures that your efforts to maintain data quality in Salesforce are consistent and not just a one-time project.

Phase 3
Prevent at the Source: The most effective way to improve Salesforce data quality is to stop errors before they enter the system. Using API integrations, such as those offered by Cloudingo, allows external systems, such as marketing automation or ERPs, to be deduplicated before they land in Salesforce.


Real-World ROI: The Cost of Inaction


The need for a Salesforce data quality playbook is often best illustrated by companies that have faced "data disasters". For instance, Docker, Inc. faced a situation in which thousands of duplicate records filled its system – some companies appeared as 60 separate accounts due to repeated credit card payments. This led sales reps to stop trusting the CRM entirely, resulting in nearly $1 million in annual lost revenue.

Similarly, at 1-800Accountant, the team was "drowning in duplicates," with over 32,000 bad leads. This led to one in five sales calls being repeats, with clients contacted up to 10 times, resulting in significant prospect frustration. 

A similar situation occurred at Lucid Design Group, where a CRM with 75,000 records became so unmanageable that the sales team repeatedly called disqualified leads, and the sole Admin spent a full working day manually merging duplicates.

By implementing a structured audit and an automated cleanup solution, these companies restored trust and provided their teams with a reliable system.


Conclusion: Building the Future on a Clean Foundation


Salesforce data quality is no longer just a background administrative task; it is a core growth strategy. As organizations prepare for deeper AI integration, they must move away from manual, reactive cleanup and toward proactive, automated maintenance.

If your data is messy, AI will only amplify those errors. But if your data is clean, AI becomes a powerful multiplier for productivity and revenue. For a deeper dive into these strategies, you can download the full Salesforce data quality playbook or explore the technical requirements for Salesforce data hygiene.









Wednesday, April 15, 2026

Salesforce: Opportunity Contact Roles are Added by Default

When Opportunity Contact Roles are Added by Default?

  • From a Contact Record: When users create a new opportunity directly from the Related List on a Contact record, that contact is added as a contact role.
  • During Lead Conversion: When a Lead is converted into an Opportunity, Salesforce automatically links the converted Contact to the new Opportunity.
As above, this only happened during Opportunity creation, and not during Opportunity edit.

What is the Role and Primary?

  • Role = blank
  • Primary = Yes

Automation

Salesforce administrators/developers can create Flows or Apex Triggers to create contact roles automatically based on custom criteria when an opportunity is created or edited.


Friday, April 10, 2026

Salesforce: Restrict picklist to the values defined in the value set

There is a checkbox in the Picklist field "Restrict picklist to the values defined in the value set". What is the purpose of this checkbox? 


An unrestricted picklist means that users can add extraneous values to records having that picklist field. To restrict values only to those in the picklist definition, enable this setting.

Checking the "Restrict picklist to the values defined in the value set" box in Salesforce ensures that only predefined values are allowed in a picklist field, rejecting any others from API updates. This promotes data consistency and prevents invalid entries, such as typos or unauthorized data.

User will get the following error when saving the record: INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST: Brand: bad value for restricted picklist field: value [API_field_name__c]

But are there any character limits that the API call can push the data past if we remove the restriction? 

Error saving record: STRING_TOO_LONG: field_name: data value too large: new values (max length=255) [API_field_name__c]


Tuesday, March 24, 2026

Salesforce: Field History Tracking

By design, when a field is enabled for tracking, it is not tracked during record creation. For example: Primary Campaign Source (PCS) in Opportunity:

ActionAppears in Field History?
Create Opp with PCS filled❌ No
Create Opp blank PCS❌ No
Update PCS from blank → Campaign✅ Yes
Change PCS Campaign A → Campaign B✅ Yes

The same result using SOQL, sample: 
SELECT Id, OpportunityId, CreatedDate, Field, DataType, OldValue, NewValue FROM OpportunityFieldHistory WHERE DataType = 'Text' ORDER BY CreatedDate DESC



Sunday, March 15, 2026

Designing Salesforce Payment Workflows with QuickBooks and Stripe (Part: 2)

Guest blog by: Antonina Kharchenko


Introduction: Operating Salesforce Payment Workflows in Real-World Integrations


In the first part of this guide, we explored how to design Salesforce payment workflows when integrating with systems such as Stripe and QuickBooks. We discussed how to structure Salesforce objects, define workflow triggers, model integration fields, and automate billing‑related processes so that customer records, subscriptions, and invoices remain aligned across platforms. If you haven’t read it yet, you can start with our previous article.

While designing workflows is essential, running payment integrations in production introduces a different set of challenges. Once Salesforce begins exchanging data with external financial systems, teams must manage synchronization timing, API limits, record matching logic, and security considerations.

These challenges are not unique to payment systems, they reflect broader trends in enterprise technology. According to Salesforce and MuleSoft’s Connectivity Benchmark Report, organizations today use over 1,000 applications on average, yet less than 30 % of these applications are integrated, leaving vast portions of business data siloed and disconnected.

Average Apps per Organization vs. Integrated Apps, image from Salesforce.

This article focuses on the most common challenges teams encounter when running Salesforce payment workflows in real environments. Understanding these challenges helps teams anticipate problems early and build integrations that remain stable as systems and data volumes grow.

Common Challenges in Salesforce Payment Workflows

Different challenges can come up depending on how you integrate Salesforce with external systems. Most issues happen with custom-built integrations, while some can also appear when using middleware or prebuilt apps. The challenges in this section give you a clear idea of what to watch out for.

Issue #1. Record Matching and Duplicate Accounts

What happens:
QuickBooks and Stripe both maintain their own unique customer IDs and account structures. When Salesforce attempts to sync a client record, the integration must match the Salesforce record to an existing external record.

Typical failure modes:
  • The external system creates a new customer instead of matching an existing one.
  • Duplicates are introduced because the matching criteria differ (email vs. name vs. ID).
What to check:
  • How the integration matches records by default (email, external ID, custom logic).
  • Whether custom matching rules can be configured.
Why it matters: Duplicate clients lead to mismatched financial records and require manual cleanup. A Salesforce study found that the average customer’s contact database is composed of 90% incomplete contacts, with 20% of records being useless due to several factors, such as 74% of the records needing updates and more than 25% of those being duplicates.


Issue #2. Field Mapping Discrepancies Between Systems

What happens:
Salesforce objects do not map one‑to‑one with external system objects. QuickBooks Online uses nested address structures (e.g., BillAddr, ShipAddr) and requires a CustomerRef when creating invoices. When updating records, SyncToken must be provided to prevent conflicts. Stripe also has its own object schema with required fields for customers and subscriptions. 

Typical failure modes:
  • Missing required fields cause API errors.
  • Updates fail if required attributes like SyncToken are not supplied.

What to check:
  • Confirm mandatory fields in QuickBooks or Stripe before creating or updating records.
  • Verify that Salesforce fields are mapped to the correct external attributes.


Issue #3. Timestamp and Data Staleness

What happens:
Different systems update data at different times and may use independent clocks or refresh intervals. Salesforce may receive external data with a delay or with timestamps that do not exactly match internal expectations.

Typical failure modes:
  • A subscription change in Stripe is reflected in Salesforce much later.
  • QuickBooks invoice states update with a delay and appears outdated.

What to check:
  • Sync frequency (near‑real‑time vs. scheduled batch).
  • Whether the integration supports event‑driven updates or only polling.
For example, with Breadwinner, you can configure the sync schedule to control how often updates are pulled into Salesforce.


Issue #4. API Limits and Large Data Loads

What happens:
Stripe and QuickBooks APIs impose rate limits. When initial data loads are large (many customers, invoices, payments), or when webhook traffic spikes, calls can fail or get throttled.

Typical failure modes:
  • Integration stops due to rate limit rejections.
  • Partial imports without clear error diagnostics.
What to check:
  • API usage quotas for the external system.
  • Support for throttling and back‑off logic.


Issue #5. Integration Security and Least Privilege

What happens:
Integration connections need the right permissions to create, update, or delete records in Salesforce, Stripe, or QuickBooks. If an integration user has too many privileges, it increases security and compliance risk; if it has too few, API calls will fail. Storing credentials insecurely (like hard‑coding in config or metadata) also poses a risk.

Typical failure modes:
  • API calls fail due to insufficient permissions.
  • Credentials embedded in code or configuration create audit and security issues.
  • Over‑privileged integration accounts expand the risk if credentials are compromised.

What to check:
  • Use dedicated integration users with narrowly scoped permissions that match only what the integration needs.
  • Configure authentication using OAuth 2.0 or Named Credentials to prevent hard‑coding secrets.
  • Rotate tokens and credentials regularly and avoid storing secrets in custom fields or hard‑coded Apex.


Issue #6. Webhook Reliability (Stripe)

What happens:
Stripe uses webhooks to deliver asynchronous payment and subscription events (e.g., payment success, subscription updates) to connected systems. Webhooks are best‑effort notifications and may not always arrive reliably or in order.

Typical failure modes:
  • Webhook deliveries fail or time out, so the connected system never receives critical events.
  • Events may be delivered more than once or out of order, requiring handling logic that accounts for duplicates and variability in delivery sequences.

What to check:
  • Verify the webhook endpoint configuration in Stripe (correct endpoint URL, HTTPS, and event types).
  • Ensure your integration processes events idempotently so that repeated deliveries do not produce inconsistent records.
  • Confirm that webhook retries are being logged and monitored, and address connectivity or handler errors that prevent successful responses.

Best Practices for Reliable Salesforce Payment Integrations

Designing Salesforce payment processing with QuickBooks or Stripe Salesforce integration requires a careful, methodical approach. Integrations are not just about moving data; they ensure client records, subscriptions, and invoices remain accurate and consistent across systems.

Define the source of truth: Decide which system owns each type of data. Salesforce for client details, Stripe for subscription history, QuickBooks for invoices. This prevents conflicts and accidental overwrites.

Validate and map fields: Make sure all required fields in external systems have corresponding Salesforce fields. Map products, pricing, and plans correctly to avoid errors during record creation.

Monitor sync processes: Use logs, alerts, and reports to catch failures early. Partial syncs or missed updates can be costly if left unchecked.

Handle updates carefully: Changes to client data should flow in a controlled, predictable way. Implement error handling and plan for retries on failed API calls.

Secure the integration: Use secure authentication, tokenized payment data, and least-privilege integration accounts. Ensure compliance with PCI, GDPR, and other relevant standards.

Prebuilt AppExchange apps such as Breadwinner can connect QuickBooks Salesforce or Stripe with minimal setup. For organizations with specific business rules or complex requirements, custom API solutions provide additional flexibility.

Following these practices supports automating Salesforce workflows that reduce manual effort, prevent errors, and keep Salesforce and the connected financial system aligned, giving teams confidence in the accuracy of client and payment data.

Conclusion: Reliable and Scalable Salesforce Payment Workflows

Designing Salesforce payment processing with QuickBooks or Stripe Salesforce integration requires a careful, methodical approach. Integrations are not just about moving data; they ensure client records, subscriptions, and invoices remain accurate and consistent across systems.

Payment workflows work best when they are thoughtfully structured, monitored, and maintained. From planning triggers and mapping fields to handling updates and addressing real-world challenges, a clear and consistent approach keeps data aligned and processes predictable. When workflows are designed and managed properly, organizations can reduce manual effort, prevent errors, and maintain confidence in their customer and payment data.

By addressing common challenges and following proven recommendations, organizations can automate billing processes confidently, reduce manual effort, and maintain accurate customer and payment data across Salesforce, Stripe, and QuickBooks. This approach ensures that payment workflows are not only functional but also scalable and resilient as business needs grow.



Page-level ad