Serveur MCP

apollo-salesforce-mapper

dev.workers.selbyventurecap.cf-worker/apollo-salesforce-mapper
Outils développeur Ventes et CRM Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Maps Apollo contact data to Salesforce Lead objects with required-field validation and a deterministic processing receipt.

apollo_to_salesforce_lead
Apollo → Salesforce Lead Mapper
Maps an Apollo contact payload to a Salesforce Lead object. Accepts the full Apollo CSV export column set. Strict-fail if FirstName, LastName, or Phone cannot be resolved. All other Salesforce fields are populated when source data is present, silently omitted otherwise. Returns a Deterministic Receipt (task_id, verdict, confidence, diff[]) embedded in every non-FAIL response.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'zip': {'type': 'string', 'description': 'Alternate ZIP key → PostalCode.'}, 'cell': {'type': 'string', 'description': 'Primary phone (legacy key). Accepts E.164, 10-digit US, formatted strings.'}, 'city': {'type': 'string', 'description': 'City → City.'}, 'email': {'type': 'string', 'format': 'email', 'description': 'Contact email → Email.'}, 'phone': {'type': 'string', 'description': "Apollo 'Phone' column — alternate primary phone key."}, 'state': {'type': 'string', 'description': 'State / province → State.'}, 'title': {'type': 'string', 'description': 'Job title → Title.'}, 'source': {'type': 'string', 'description': "Apollo 'Source' column → LeadSource."}, 'street': {'type': 'string', 'description': 'Street address → Street.'}, 'company': {'type': 'string', 'description': 'Company name → Company.'}, 'country': {'type': 'string', 'description': 'Country → Country.'}, 'website': {'type': 'string', 'description': 'Company website → Website.'}, 'headline': {'type': 'string', 'description': 'LinkedIn headline captured by Apollo → Description.'}, 'industry': {'type': 'string', 'description': 'Industry → Industry.'}, 'keywords': {'type': 'string', 'description': 'Apollo keywords/tags → Description.'}, 'linkedin': {'type': 'string', 'description': 'Alternate LinkedIn key → LinkedIn__c.'}, 'employees': {'type': ['string', 'number'], 'description': 'Alternate employees key.'}, 'full_name': {'type': 'string', 'description': "Full name — must have ≥2 whitespace-separated tokens. Use this OR provide first_name + last_name. Example: 'Jane Doe'"}, 'job_title': {'type': 'string', 'description': "Apollo 'Job Title' column → Title."}, 'last_name': {'type': 'string', 'description': 'Last name (Apollo split export). Use with first_name instead of full_name.'}, 'prop_addr': {'type': 'string', 'description': 'Full property address string (legacy v1 key) → PropertyAddress.'}, 'seniority': {'type': 'string', 'description': 'Apollo seniority level → Description.'}, 'first_name': {'type': 'string', 'description': 'First name (Apollo split export). Use with last_name instead of full_name.'}, 'work_phone': {'type': 'string', 'description': "Apollo 'Work Phone' column — lowest-priority fallback."}, 'departments': {'type': 'string', 'description': 'Apollo departments string → Description.'}, 'lead_source': {'type': 'string', 'description': 'Lead source string → LeadSource (mapped to Salesforce picklist values).'}, 'person_city': {'type': 'string', 'description': "Apollo 'Person City' column → City."}, 'postal_code': {'type': 'string', 'description': 'ZIP / postal code → PostalCode.'}, 'twitter_url': {'type': 'string', 'description': 'Twitter/X URL → Twitter__c.'}, 'account_name': {'type': 'string', 'description': "Apollo 'Account Name' column → Company."}, 'linkedin_url': {'type': 'string', 'description': 'LinkedIn profile URL → LinkedIn__c.'}, 'mobile_phone': {'type': 'string', 'description': "Apollo 'Mobile Phone' column. Maps to MobilePhone if a primary phone exists."}, 'organization': {'type': 'string', 'description': "Apollo 'Organization' column → Company."}, 'person_state': {'type': 'string', 'description': "Apollo 'Person State' column → State."}, 'num_employees': {'type': ['string', 'number'], 'description': 'Alternate employees key.'}, 'annual_revenue': {'type': 'string', 'description': "Annual revenue string, e.g. '$1.2M', '500000' → AnnualRevenue (number)."}, 'person_country': {'type': 'string', 'description': "Apollo 'Person Country' → Country."}, 'company_website': {'type': 'string', 'description': "Apollo 'Company Website' → Website."}, 'person_postal_code': {'type': 'string', 'description': "Apollo 'Person Postal Code' → PostalCode."}, 'number_of_employees': {'type': ['string', 'number'], 'description': "Employee count or range (e.g. '500-1000') → NumberOfEmployees."}, 'estimated_annual_revenue': {'type': 'string', 'description': 'Apollo estimated revenue → AnnualRevenue.'}}, 'additionalProperties': False}
Ajouté
apollo_to_salesforce_lead
17 September 2026 12:39