New to Kestra?
Use blueprints to kickstart your first workflows.
Extract Zendesk support tickets into Weaviate using dlt and Kestra. Run the full Python ingestion pipeline in Docker for AI-ready vector search and RAG.
Ingest Zendesk support tickets into a Weaviate vector database using the dlt (data load tool) Python library, orchestrated by Kestra. This blueprint extracts tickets from the Zendesk Support API and loads them into Weaviate as vectorized objects, so the ticket subject and description become searchable by meaning. It is a ready-made starting point for building semantic search, retrieval-augmented generation (RAG), and support analytics on top of your Zendesk data without stitching together a custom EL pipeline.
The flow runs a single task, dlt_pipeline, of type io.kestra.plugin.scripts.python.Script. The task executes on a io.kestra.plugin.scripts.runner.docker.Docker task runner using the python:3.11 container image, so the runtime is fully isolated and reproducible.
beforeCommands install the connector with pip install dlt[weaviate] and scaffold the source and destination with dlt --non-interactive init zendesk weaviate.SOURCES__ and DESTINATION__ naming convention, each resolved from {{ secret(...) }}.script builds a dlt pipeline named zendesk_pipeline with destination="weaviate" and dataset_name="zendesk", pulls the tickets resource from zendesk_support(load_all=False), and runs it through the weaviate_adapter with vectorize=["subject", "description"].dlt knows how to move and vectorize the data, but it does not schedule, observe, or recover the pipeline on its own. Kestra adds event and schedule triggers so loads can fire on a cron or in response to an upstream event, automatic retries on transient API failures, full execution history and logs for lineage and debugging, and centralized secret management. The whole pipeline stays declarative YAML in version control, and the Docker runner guarantees the exact Python environment on every run.
ZENDESK_PASSWORDZENDESK_SUBDOMAINZENDESK_EMAILWEAVIATE_URLWEAVIATE_API_KEYdlt_pipeline task logs as dlt installs, initializes, extracts, and loads.zendesk dataset is populated with vectorized tickets.load_all=True to ingest more Zendesk resources beyond tickets (users, organizations, satisfaction ratings).vectorize list to embed additional fields.Schedule trigger for periodic loads or a Flow trigger to chain a downstream RAG indexing flow.