New to Kestra?
Use blueprints to kickstart your first workflows.
Create a Pinecone serverless index for RAG with Kestra. Fix the dimension, cloud, and region in YAML, verify with a stats readback, and confirm in Slack.
Vector indexes created by hand in the Pinecone console drift: staging gets 768 dimensions, production gets 1024, and nobody remembers which region the dev index landed in. This blueprint makes the index spec a versioned artifact. io.kestra.plugin.pinecone.CreateIndex provisions a serverless index with the dimension, cloud, and region fixed in YAML, io.kestra.plugin.pinecone.DescribeIndexStats reads the index back to prove the data plane answers, and Slack gets a confirmation with the status, host, and starting vector count.
create_index (io.kestra.plugin.pinecone.CreateIndex) creates a serverless index named by the index_name input with dimension: 1024, cloud: aws, and region: us-east-1. The task outputs the index name, host, and status.wait_for_init sleeps 15 seconds so the fresh index has a moment to leave its initializing state.readback_stats (io.kestra.plugin.pinecone.DescribeIndexStats) queries the new index and returns totalVectorCount, which is zero for a fresh index, proving the index accepts data-plane calls.notify posts the index name, status, host, and starting vector count to Slack.errors block posts a distinct Slack alert when any step fails, warning that the index may exist in a partial state.index_name for staging, dev, or a migration target.A console click leaves no trace and no guarantee the next environment matches. Kestra turns the index spec into declarative YAML with an execution history: every bootstrap is auditable, the readback catches indexes that were created but never became ready, and the same flow parameterizes cleanly across environments through a single input.
cloud and region.PINECONE_API_KEY: Pinecone API key with index creation permission.SLACK_WEBHOOK_URL: Slack incoming webhook URL.PINECONE_API_KEY and SLACK_WEBHOOK_URL secrets to your Kestra namespace.index_name value to bootstrap the next environment.deletionProtection on the create task to guard production indexes against accidental deletes.dimension as an input when different corpora use different embedding models.