Elasticsearch Integration

Connecting Elasticsearch to Retool

1. Get Elasticsearch Connection String

Retool requires a connection string of the following format:


To build your connection string:

  • username: this is your dedicated username (Elastic also provides two default users, elastic and enterprise_search)
  • password: this is the password for your dedicated user (your admin should have a credentials-12345-date.csv if you intend to use elastic as your user)
  • host: can be found at: https://cloud.elastic.co/deployments/{{your_deployment_id}}/security

Example of where to find your host name stringExample of where to find your host name string


Minimum Privileges

Make sure that your Elasticsearch user has at least read privileges as well as cluster monitoring privileges!

2. Add to Retool

Create a new resource in Retool, and select "Elasticsearch" as the type. Enter a label by which you want to refer to this Elasticsearch integration. Enter the connection string obtained from the previous step, and click "Save".

Resources > Add > Elasticsearch

3. Create Queries

You can now select your newly created Elasticsearch resource from the Resource dropdown when creating queries in your Retool apps.

You can display the results of Elasticsearch queries as with any other query in Retool. Note that the actual data is nested 2 levels inside the data key, so instead of accessing it using esQuery.data, you instead need to use esQuery.data.hits.hits.

You can try out one of our ElasticSearch templates here to get started.