Elasticsearch
Put Elasticsearch to work on your own records, inside your rules, with a person approving what it changes.
21 ways to read, 6 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Elasticsearch, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Bulk index documents
document_bulk.upsertApproval by rule - Create document
documents.createApproval by rule - List aliases
aliases.listRead
Example flow
- Elasticsearch · List aliases
aliases.listDone - Elasticsearch · Bulk index documents
document_bulk.upsertMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Elasticsearch.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Elasticsearch
- Elasticsearch's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Index, bulk-load, search and count documents in Elasticsearch on Elastic Cloud, and read indices, mappings, aliases, data streams, ILM, pipelines and cluster health.
Elastic API docs- Source actions
- 21
- Destination actions
- 6
- Data types
- 19
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
aliases1
- List aliasesSource
Aliases with their indices, filters, routing and write index (_cat/aliases).
cluster health1
- Get cluster healthSource
Cluster status, node counts and shard allocation (_cluster/health).
cluster stats1
- Get cluster statisticsSource
Index, document, storage and node totals for the cluster (_cluster/stats).
cluster1
- Get cluster informationSource
Cluster name, UUID, Elasticsearch version and build flavor (GET /).
data streams1
- List data streamsSource
Data streams with backing indices, generation, template and lifecycle policy.
deployments2
- Get Elastic Cloud deploymentSource
One deployment's health, status, region and Elasticsearch version. Needs the optional Elastic Cloud API key.
- List Elastic Cloud deploymentsSource
Elastic Cloud Hosted deployments in the organization (Elastic Cloud API). Needs the optional Elastic Cloud API key.
document bulk1
- Bulk index documentsDestinationProvider duplicate protectionApproval before production
Creates or replaces up to 500 documents keyed by _id in one _bulk request. Returns one record per document with its own status.
document count1
- Count documentsSource
Counts documents matching a Query DSL query (_count). Scripts are rejected.
document set1
- Get documents by IDSource
Reads up to 500 documents by _id in one request (_mget). Missing IDs return found = false.
documents6
- Create documentDestinationProvider duplicate protectionApproval before production
Creates a document with an explicit _id only if it does not exist yet (_create). An existing ID returns a conflict.
- Get documentSource
Reads one document by _id.
- List documentsSourceIncremental
Lists documents sorted by a date field, optionally only those changed since a timestamp. Uses search_after paging.
- Search documentsSource
Runs a Query DSL search. Add a sort (with a unique tiebreaker) or a point in time for deep paging with search_after. Scripts and runtime fields are rejected.
- Update document fieldsDestinationProvider duplicate protectionApproval before production
Merges fields into an existing document by _id; optionally creates it when missing.
- Index documentDestinationProvider duplicate protectionApproval before production
Creates or replaces a document with an explicit _id.
field capabilities1
- List field capabilitiesSource
Fields across one or more indices with their types and whether they are searchable and aggregatable (_field_caps).
ilm policies1
- List lifecycle (ILM) policiesSource
Index lifecycle policies with phases and the indices and templates using them.
index settings1
- Get index settingsSource
Flat index settings (shards, replicas, refresh interval, analysis, lifecycle).
index templates1
- List index templatesSource
Composable index templates with patterns, priority and data stream flag.
indices3
- Create indexDestinationProvider duplicate protectionApproval before production
Creates an index with optional mappings, settings and aliases. Fails if the index already exists.
- Get indexSource
Aliases, mappings and settings of one or more indices (GET /{index}).
- List indicesSource
Indices with health, document counts and size (_cat/indices).
ingest pipelines1
- List ingest pipelinesSource
Ingest pipelines with their processors, version and metadata.
mappings1
- Get index mappingSource
Field mappings for an index, used to map document fields.
point in time1
- Open point in timeDestinationNot retried automaticallyApproval before production
Opens a point in time for consistent deep paging through Search documents. It expires after the keep-alive.
serverless projects1
- List Elasticsearch Serverless projectsSource
Elastic Cloud Serverless Elasticsearch projects with region and endpoints. Needs the optional Elastic Cloud API key.
Access and limits
- Authentication
- Elasticsearch API key (encoded value), plus optional Elastic Cloud API key
- Plans and access
- Elastic Cloud Hosted deployments and Elastic Cloud Serverless projects. The API key's role descriptors limit indices and privileges (read, index, create_index, view_index_metadata, monitor, read_ilm, read_pipeline). Elastic Cloud deployment reads need a separate Elastic Cloud API key.
- Test environment
- A 14-day Elastic Cloud trial can be used for testing.
- Rate limits
- No fixed request quota; the cluster rejects work with HTTP 429 when thread pools or circuit breakers are saturated. The Elastic Cloud API applies per-organization rate limits with HTTP 429.
- Pagination
- search_after with sort values (and an optional point in time); from/size paging is capped at 10,000 hits. _cat, ILM, pipeline and template reads return every match in one response.
- Provider events
- Elasticsearch does not deliver webhooks. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Only Elastic Cloud Hosted (cloud.es.io, found.io, elastic-cloud.com) and Serverless (elastic.cloud) endpoints on port 443 are accepted. Self-managed clusters are not supported.
- Deletes (documents, indices, aliases, point in time), delete-by-query, update-by-query, reindex, index close, ES|QL and SQL are intentionally not implemented.
- Query DSL, sort clauses and index mappings are rejected when they contain scripts (script, script_score, script_fields, _script) or runtime_mappings. Aggregation results are not returned.
- Without a sort or point in time, paging uses from/size and stops at 10,000 hits. List documents needs a date field the source system maintains; without a unique tiebreaker field, documents sharing a timestamp across a page boundary can be skipped.
- Partial updates merge a document; scripted updates are not supported. Bulk indexing sends index actions only, up to 500 documents per call, and reports per-document failures as records rather than failing the call.
- Cluster health, cluster stats and ILM policies are not available on Elastic Cloud Serverless.
- Alias, ILM policy, ingest pipeline, index template and index settings changes are read only.
- Elastic Cloud deployment and Serverless project reads need the optional Elastic Cloud API key; the Elasticsearch API key does not authorise the Elastic Cloud API.
Developer reference
- Create the Elastic credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Elasticsearch, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/elastic and the Connections API.