Developers › Ingestion API
Developer Reference Webhooks & polling How a scored lead leaves LeadLogiX. There is no signed event feed to subscribe to: delivery is configured per destination — CRM sync, automations, scheduled jobs — and the status endpoint is the supported way to observe an individual session. This page covers all three and when each applies.
Three ways out CRM sync Scheduled A scheduled job pushes newly scored leads to your CRM, exactly-once (a stable lead id + confirm-then-mark prevents duplicates). See the “Connect a CRM” guide. Chat & SMS scripts Ready-made Ready-made scripts post hot leads to Slack, Teams, or SMS as they qualify. See “Scripts & Automation.” Custom webhook jobs A scheduled CUSTOM_WEBHOOK job POSTs to any HTTPS endpoint you own, with secrets pulled from your vault — for wiring LeadLogiX into a homegrown system. Why no real-time signed webhook? LeadLogiX favours durable, exactly-once delivery over fire-and-forget pushes: scheduled sync and scripts retry, dedup, and record what they've sent, so a lead is never lost or delivered twice. If you need near-real-time, run the sync or script on the 15-minute minimum cadence.
Customer Profile fields on CRM payloads When an exported lead belongs to a Customer Profile (the person has had multiple conversations), the payload carries a profile block: a public profile id, a live profile URL , the conversation count, a summary state ( READY / PENDING / UNAVAILABLE ), and a compact summary. HubSpot payloads use leadval_profile_* properties; Salesforce uses LeadVal_Profile_*__c fields (create the summary field as a Long Text Area — it carries up to 500 characters); the RAW payload includes the full snapshot as profile . Leads without a profile carry these fields as null — never fabricated. The URL is the freshness channel The AI-written profile summary builds asynchronously — usually within minutes of a merge. Exports don't wait and don't re-send: the snapshot is honestly labeled point-in-time, and the profile URL always opens the current profile for anyone with LeadLogiX access.
Reading status programmatically If you want your own system to react the moment a session finishes, poll GET /api/v1/sessions/:sessionId/status until it's terminal (see Session object ). It's the supported, PII-free signal that a lead is ready to pull from your CRM.
Where to go next If you want to… Go to know exactly what processing.state and conformance mean while polling Session object have an AI agent read leads directly, with no polling at all MCP → Hosted server — the model calls tools instead of you writing a poller send your own fields out with the lead Custom metadata — they ride the same payloads described above configure the CRM push itself Connect a CRM on the Guides surface — this page describes what arrives, that one sets it up