Skip to content
ActionElasticsearchUpdated May 2026

How do I index a document in Elasticsearch?

Short answer: Drop the "ElasticsearchIndex Document" action anywhere in your workflow, map the inputs from upstream nodes, and publish.

Inputs

The fields this action accepts.

Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.

FieldTypeRequiredDescription
Index
index
stringRequiredIndex
Document ID
id
stringOptionalLeave empty for auto-generated ID
Document
document
jsonRequiredDocument. (JSON object). e.g. "{"title":"My Doc","content":"..."}"
Sample request
{
"index": "{{trigger.index}}",
"id": "{{trigger.id}}",
"document": "{\"title\":\"My Doc\",\"content\":\"...\"}"
}
Returns
{
"_id": "1",
"_index": "my-index",
"result": "created",
"_version": 1
}

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for Index Document.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about Index Document.

What does the Index Document action do in Elasticsearch?
Adds a JSON document to an index — Elasticsearch tokenises and indexes it for full-text search and aggregation queries. For high-volume ingestion, use the bulk endpoint via HTTP action which is much more efficient than per-document indexing.
What inputs does Index Document require?
Required: Index, Document. Every input accepts a static value or a variable from any upstream node in your workflow.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Elasticsearch returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does Index Document support batch operations?
Yes. Run Index Document inside a Loop node to process arrays. Tiny Command handles Elasticsearch's rate limits automatically so you don't have to throttle manually.

Send index document from your workflows.

Triggered by anything in the catalog. Free tier available. No credit card.