←  See more Retool integrations


Elasticsearch, meet Retool.

Retool makes it easy to build admin panels, dashboards, and utilities on top of your Elasticsearch data.

Retool makes it simple to build custom dashboards and tools on top of your Elasticsearch data.

APM: If you’re using Elasticsearch for APM, you can connect your usage data to Chart component and set up a Query to catch spikes and write incident data to another data source like Postgres, all within one UI.

Search: If you’re using Elasticsearch for full text search, you can run your queries through Retool and visualize your results (text, images, logs, whatever) in a Text component. You can also connect queries to TextInput fields to make search accessible to non-technical end users.

Logs: If you’re using Elasticsearch for log storage and analysis, Retool can help you parse and format those logs in a language you’re familiar with. You can populate a Table component with records, and display relevant details in a Container component when you select a row.

Retool gives you a simple GUI for all of your Elasticsearch queries: search, index, update, and create. Check out the Retool + Elasticsearch integration docs for more information.


Supercharge your business operations with Retool and Elasticsearch.

“Engineers tell me it'll take a day, but it always takes a week. Retool gives me every tool I want, in just a few hours. It's changed the trajectory of our business.

Duncan Winter headshot
Duncan Winter
Head of Product

Apps you can build with Elasticsearch and Retool

What operations are supported with Elasticsearch on Retool?

  • View your data
    Visualize and search all of your database tables

  • Query your data
    Use search to find the data you need

  • Insert a record
    Insert a record in an existing document via create or index

  • Update an existing record
    Update an existing record in an existing document using update

  • Join with other datasources
    Easily join with other datasources like PostgreSQL or the Github API

const newStage = Object.assign(job_stage_form.data, { Type: select1.value })
const new_job_stages = job_stages.value.concat(newStage)

const index = i; // variable which is the index of the button that triggered this
const newData = Array.from(job_stages.value);
newData.splice(i, 1)

var rawData = getProductDetails.data
var prdStlCmpLst = new Array()
for (x in rawData)
if (rawData[x]["dim_date_shops_products.material_family"] == select19.value)
return prdStlCmpLst
nps.'Product Feedback',
nps.nps_count as NPS,
feedbacks.feedback_count as Feedback,
sfdc.sfdc_count as Salesforce,
sfdc.opp_dollars as Opportunity_Dollars
{{npsTableCounts.data}} as nps
join {{feedbackTableCounts.data}} as feedbacks on nps.'Product Feedback' = feedbacks.FeedbackID
join {{sfdcTableCounts.data}} as sfdc on sfdc.FeedbackID = nps.'Product Feedback'
{{ multiselect2.value.length === 0 }}
OR nps.'Product Feedback' = ANY({{ multiselect2.value }})

In Retool, you can join Elasticsearch data with anything.

Retool connects to most databases and nearly anything with a REST or GraphQL API. Read in data from mongoDB, join it via SQL, record user approvals, and POST the result to Stripe to create invoices. Retool empowers you to work with all of your data sources inside of a single app.