Contact Data Enrichment
Workflows that enhance contact records with additional data from external sources like Clay, Trustpilot, and phone validation services
| Metric | Value |
|---|---|
| Workflows | 8 |
| Priority | high |
| Grouping Confidence | 90% — Clear pattern of external enrichment with shared Clay dependency and similar webhook patterns |
| Consolidation | All Clay enrichment workflows should be consolidated into a single entry flow with conditional routing based on enrichment type (cold prospect, research, phone validation) |
Workflows in this Group
| Workflow | Trigger | Outcome | Type | Complexity |
|---|---|---|---|---|
| Add to clay list | Contact meets specific criteria for Clay processing | Notify team, wait 5 minutes, sync to Clay, then wait 14 days | DataSync | high |
| Add to clay list - cold | Contact identified as cold prospect | Sync cold prospect data to Clay for processing | DataSync | low |
| Trevor Test - enrich and add to clay table | Contact record needs data enrichment and should be added to Clay table for further processing | Contact data is sent to Clay via webhook for enrichment and processing | Enrichment | low |
| Manual account research | Contact or account requires additional research to be conducted | Research request is triggered in external system (Clay) to gather additional account intelligence | Enrichment | low |
| Correct Phone Number | Contact phone number data needs validation or correction | Phone number is validated and corrected through external data service | Enrichment | low |
| ADMIN Company Enrichment to Clay | Contact record requires company data enrichment | Contact's company information is enriched via Clay integration | Enrichment | low |
| trustpilot - enrich contact | Contact needs Trustpilot data enrichment | Enrich contact with Trustpilot review data | Enrichment | medium |
| Set proper original traffic source from RB2B | Contact has Clay original traffic source data available | Update HubSpot's native analytics source field with Clay-provided data | DataSync | low |
Key fields: clay_original_traffic_source, hs_analytics_source
Dependencies: Clay platform, RB2B, Trustpilot API
Domain Summary
Multiple redundant workflows routing contacts to Clay for external data enrichment, with scattered responsibilities for phone validation, company research, and traffic source attribution. Current architecture lacks centralized orchestration and proper error handling.
Current Problems
- 8 separate workflows performing similar Clay routing with different webhooks - no centralized enrichment strategy
- Test workflow (Trevor Test) still active in production
- Complex delays and notifications in main Clay workflow suggest unreliable external service integration
- Traffic source workaround using external RB2B data suggests attribution gaps
- No visible error handling or retry logic for failed external API calls
- Phone validation and Trustpilot enrichment isolated from main enrichment flow
Rearchitecture Approach
Consolidate into a unified Contact Enrichment orchestrator that routes to appropriate enrichment services based on contact attributes and enrichment requirements. Implement proper error handling, logging, and fallback mechanisms for external service dependencies.
Recommended Automations
Contact Enrichment Orchestrator
| Build Property | Value |
|---|---|
| Flow API Name | N/A |
| Flow Type | N/A |
| Target Object | N/A |
| Execution Mode | N/A |
| Priority | high |
| Reusable | Yes |
Purpose: Central entry point for all contact enrichment needs, routing to appropriate enrichment services based on contact status and data gaps
Trigger: Contact record created or updated with enrichment flag
Entry Criteria Formula: N/A
Logic Overview: Evaluate contact for enrichment needs (cold prospect, research required, phone validation, company data gaps). Route to appropriate enrichment sub-flows. Log enrichment attempts and results. Handle external service failures gracefully.
Replaces: Add to clay list, Add to clay list - cold, Trevor Test - enrich and add to clay table, Manual account research, ADMIN Company Enrichment to Clay
Required Fields:
| Field | Purpose | Usage | HubSpot Source | Net New? | Migration Note |
|---|---|---|---|---|---|
| Enrichment_Status__c | Track enrichment stage and prevent duplicate processing | both | N/A | Yes | New picklist field to track enrichment workflow status |
| Enrichment_Type__c | Define what type of enrichment is needed (cold prospect, research, company data, etc.) | read | N/A | Yes | Multi-select picklist to define enrichment requirements |
| Last_Enrichment_Date__c | Prevent over-enrichment and track data freshness | write | N/A | Yes | DateTime field to track when contact was last enriched |
Interactions With Other Recommended Automations: _Not documented. This should be populated for multi-flow domains._
Phone Validation Service
| Build Property | Value |
|---|---|
| Flow API Name | N/A |
| Flow Type | N/A |
| Target Object | N/A |
| Execution Mode | N/A |
| Priority | medium |
| Reusable | Yes |
Purpose: Validate and correct phone numbers using external validation service
Trigger: Invoked by enrichment orchestrator when phone validation is needed
Entry Criteria Formula: N/A
Logic Overview: Send phone number to validation service. Update contact with corrected phone number if validation successful. Log validation results and any failures.
Replaces: Correct Phone Number
Required Fields:
| Field | Purpose | Usage | HubSpot Source | Net New? | Migration Note |
|---|---|---|---|---|---|
| Phone_Validation_Status__c | Track phone validation results | write | N/A | Yes | Picklist field to track validation status (Valid, Invalid, Pending, Error) |
Interactions With Other Recommended Automations: _Not documented. This should be populated for multi-flow domains._
Traffic Source Attribution Corrector
| Build Property | Value |
|---|---|
| Flow API Name | N/A |
| Flow Type | N/A |
| Target Object | N/A |
| Execution Mode | N/A |
| Priority | low |
| Reusable | No |
Purpose: Update native Salesforce attribution fields with more accurate external data when available
Trigger: Contact updated with Clay traffic source data
Entry Criteria Formula: N/A
Logic Overview: When Clay provides traffic source data, evaluate against existing attribution. Update Lead Source and Lead Source Detail fields with more accurate data. Maintain audit trail of attribution changes.
Replaces: Set proper original traffic source from RB2B
Required Fields:
| Field | Purpose | Usage | HubSpot Source | Net New? | Migration Note |
|---|---|---|---|---|---|
| Clay_Traffic_Source__c | Store external traffic source data from Clay/RB2B | read | clay_original_traffic_source | No | Migrate existing Clay traffic source field |
| Attribution_Override_Reason__c | Document why attribution was changed from original source | write | N/A | Yes | Text field to log attribution correction reasoning |
Interactions With Other Recommended Automations: _Not documented. This should be populated for multi-flow domains._
Company Reputation Enrichment
| Build Property | Value |
|---|---|
| Flow API Name | N/A |
| Flow Type | N/A |
| Target Object | N/A |
| Execution Mode | N/A |
| Priority | medium |
| Reusable | Yes |
Purpose: Enrich contacts with company reputation data from Trustpilot and similar sources
Trigger: Invoked by enrichment orchestrator for accounts needing reputation data
Entry Criteria Formula: N/A
Logic Overview: Call Trustpilot API for company reputation scores and review data. Update related Account record with reputation metrics. Flag high/low reputation scores for sales team attention.
Replaces: trustpilot - enrich contact
Required Fields:
| Field | Purpose | Usage | HubSpot Source | Net New? | Migration Note |
|---|---|---|---|---|---|
| Company_Reputation_Score__c | Store Trustpilot or similar reputation score | write | N/A | Yes | Number field on Account object for reputation scoring |
Interactions With Other Recommended Automations: _Not documented. This should be populated for multi-flow domains._
Cross-Flow Interaction Model
Interaction handoffs were not provided. Add flowInteractionModel entries so build sequencing and contracts are explicit.
Migration Sequence
- Create new enrichment tracking fields in Salesforce
- Build Contact Enrichment Orchestrator as main entry flow
- Migrate Clay webhook configurations to Salesforce external services
- Build Phone Validation Service sub-flow
- Build Company Reputation Enrichment sub-flow
- Build Traffic Source Attribution Corrector
- Test all enrichment flows with sample data
- Deactivate original HubSpot enrichment workflows
- Monitor enrichment success rates and adjust error handling
Architecture Diagram
flowchart TD
A[Contact Created/Updated] --> B{Needs Enrichment?}
B -->|Yes| C[Contact Enrichment Orchestrator]
B -->|No| Z[End]
C --> D{Enrichment Type}
D -->|Cold Prospect| E[Clay Cold Prospect API]
D -->|Phone Validation| F[Phone Validation Service]
D -->|Company Research| G[Clay Research API]
D -->|Reputation Data| H[Company Reputation Enrichment]
D -->|Traffic Source Fix| I[Traffic Source Attribution Corrector]
E --> J[Update Enrichment Status]
F --> K[Update Phone + Validation Status]
G --> L[Update Company Data]
H --> M[Update Account Reputation Score]
I --> N[Update Lead Source Fields]
J --> O[Log Results]
K --> O
L --> O
M --> O
N --> O
O --> P{Enrichment Complete?}
P -->|Yes| Q[Mark Contact Enriched]
P -->|No| R[Schedule Retry]
Q --> Z
R --> S[Wait Period]
S --> C</code></pre>