Using Slack Workflow builder to automate Retool Job

Hi Retool Community,

I'd like to ask if it's possible to create a workflow the begins with a customer user in Slack and completes a task in Retool. I'm not exactly certain this possible today with existing integrations but here is what I'm solving for. Hopefully there are some how-to ideas out there.

Current workflow: Customers rely on us to run tasks for them in Retool using a single computation ID that gets inserted into a text box and we click "Look up". This communication tasks place over Slack today where the customer shares with us the ID and we manually complete the task. This is less than ideal because it relies on us being available to complete time sensitive tasks.

Ideal workflow: The customer can submit a Slack Workflow that would collect the ID and insert the ID in Retool and run the process. Retool could return a response or emoji in Slack indicating the process ran successfully or failed so the customer is aware. We need to allow the customer to run this process without granting them access to Retool.

Proposed Steps a Customer would take:

  1. Customer fills in Slack Workflow form with Computation ID and submits the request.
  2. Slack pushes the ID into the Retool textbox and preforms the "Look up" task.
  3. Upon completing the task, Retool responds to the request in Slack with a success or failed message or emoji.

This piqued my interest and reminded me of this post

Unfortunately, I don't have access to a paid slack account in order to test with Workflow builder but I can create slash commands.

While def just an attempted proof of concept and fairly basic, I was able to build a pipeline like

slack slash command /compute mycomputeid
simple go webserver to process the x-www-form-urlencoded http request body from slack
push the relevant data to a channel within ably
display the provided computeid within a text input in retool in ~real-time.

I didn't really dive into #3, not sure how I would handle that.


There also may be other ways to do this, I've wanted to work on incoming data to retool for some time and this is currently the only way I've come across.

After thinking about this a little more, I'm not sure how the job would be triggered. The js that subscribes to the ably channel only runs when the app is running; I'm almost certain. I would probably process the job in the go server mentioned above and store the job log and result set in service accessible by retool for viewing purposes.

I'm not completely sure I understand your use case. Can you provide any insight as to why retool would be used to trigger the job?