New to Kestra?
Use blueprints to kickstart your first workflows.
Dispatch CRM leads to Clay enrichment tables with chunked delivery, track row acceptance, and alert Slack on partial ingestion failures.
Orchestrate automated lead dispatch from CRM systems into Clay enrichment tables, monitor chunk delivery acceptance, and instantly catch webhook errors or rejected records before outbound revenue pipelines stall.
Clay is a leading platform for automated data enrichment, waterfalls, and account research. However, in high-volume RevOps pipelines, webhook drops, HTTP 429 rate limit exhaustion, or payload validation errors can silently drop high-value prospects without notice. This blueprint implements an automated delivery sentinel using Kestra's official io.kestra.plugin.clay.PushRows task. It partitions records into controlled batches, respects exponential backoff, verifies that accepted row counts match expectations, and immediately pages RevOps if any chunks fail.
hourly_enrichment_sweep (io.kestra.plugin.core.trigger.Schedule) initiates scheduled dispatch sweeps every hour.prepare_qualified_leads (io.kestra.plugin.core.output.OutputValues) structures sanitized prospect records ready for enrichment.push_leads_to_clay (io.kestra.plugin.clay.PushRows) delivers leads in sequential batches configured by chunk_size, handling Bearer authentication and exponential retries on transient errors.evaluate_delivery_health (io.kestra.plugin.core.output.OutputValues) inspects rowCount, chunkCount, and failedChunks outputs to determine overall batch health (HEALTHY vs DEGRADED).route_delivery_findings (io.kestra.plugin.core.flow.If) evaluates the delivery health:alert_delivery_failure (io.kestra.plugin.slack.notifications.SlackIncomingWebhook) dispatches a high-priority diagnostic payload to Slack, followed by fail_on_breach (io.kestra.plugin.core.execution.Fail).log_successful_delivery (io.kestra.plugin.core.log.Log) records delivery metrics in the audit trail.PushRows plugin natively splits large lead volumes into configurable chunks without requiring bespoke Python batching scripts.api.clay.com.CLAY_WEBHOOK_URL: The full inbound webhook URL provided by your Clay table source (e.g., https://api.clay.com/v3/sources/webhook/...).CLAY_AUTH_TOKEN: Optional Bearer authentication token configured on the Clay webhook for authorization.SLACK_WEBHOOK_URL: The Slack incoming webhook URL for RevOps delivery alerts.CLAY_WEBHOOK_URL, CLAY_AUTH_TOKEN, and SLACK_WEBHOOK_URL.company.growth.hourly_enrichment_sweep trigger or replace prepare_qualified_leads with your upstream database query task.prepare_qualified_leads with io.kestra.plugin.jdbc.postgresql.Query or io.kestra.plugin.snowflake.Query to pull unenriched leads directly from your data warehouse.