Situation
GTM teams needed cleaner Salesforce contact records for routing, follow-up, segmentation, and outbound workflows.
public case study
A Salesforce-centered contact data hygiene architecture that used Clay as an enrichment and automation layer while keeping Salesforce as the system GTM teams depended on for clean, usable contact records.
GTM teams needed cleaner Salesforce contact records for routing, follow-up, segmentation, and outbound workflows.
Build a reliable way to send eligible Salesforce contacts to Clay for enrichment workflows without giving sales users direct callout access.
Designed an async Salesforce architecture using Flow, Apex, Platform Events, Queueables, Named Credentials, retries, and send-stamping.
Supported fresher Salesforce contact data and helped reduce org-wide bounce rates by 50%+.
Salesforce
The design separated the sales-user action from the external callout. Users triggered a Flow, but webhook delivery ran asynchronously through an automated process with the right credential access.
When a non-inbound Contact was created or updated, an async Salesforce Flow invoked Apex to publish a Platform Event. A subscriber running as Automated Process enqueued a Queueable job, queried Contact and Account context, built a normalized JSON payload, sent it to Clay through a Named Credential, and stamped the Contact after success so Salesforce retained an auditable enrichment handoff state.
By improving the handoff between Salesforce and Clay enrichment workflows, the initiative helped reduce bounce rates across the organization by 50%+ while giving GTM teams more trustworthy contact data to work from.
This case study abstracts the implementation and uses sanitized field examples. It does not include customer records, endpoint URLs, secrets, internal object IDs, proprietary Clay table logic, or private Salesforce configuration.