Skip to content

Commit

Permalink
Add Retool Workflow Cookbook (#1396)
Browse files Browse the repository at this point in the history
  • Loading branch information
lspacagna-oai authored Aug 29, 2024
1 parent 945a4c4 commit 457f431
Show file tree
Hide file tree
Showing 5 changed files with 134 additions and 0 deletions.
5 changes: 5 additions & 0 deletions authors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -162,3 +162,8 @@ gladstone-openai:
name: "Kevin Gladstone"
website: "https://github.com/gladstone-openai"
avatar: "https://avatars.githubusercontent.com/u/149190645"

lspacagna-oai:
name: "Lee Spacagna"
website: "https://github.com/lspacagna-oai"
avatar: "https://avatars.githubusercontent.com/u/175367019"
120 changes: 120 additions & 0 deletions examples/chatgpt/gpt_actions_library/gpt_action_retool_workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
# GPT Action Library: Retool Workflow

## Introduction

This page provides an instruction & guide for developers building a GPT Action for a specific application. Before you proceed, make sure to first familiarize yourself with the following information:
- [Introduction to GPT Actions](https://platform.openai.com/docs/actions)
- [Introduction to GPT Actions Library](https://platform.openai.com/docs/actions/actions-library)
- [Example of Building a GPT Action from Scratch](https://platform.openai.com/docs/actions/getting-started)

This particular GPT Action provides an overview of how to connect to a **Retool Workflow**. This Action takes a users input and sends it to the workflow in Retool using a webhook trigger. Retool then performns the configured workflow and sends a response back to ChatGPT as a JSON object.

### Value + Example Business Use Cases

**Value**: Users can now leverage ChatGPT's natural language capability to connect directly to any workflow in Retool.

**Example Use Cases**:
- You have custom code running in a Retool workflow that you'd like to incorporate into a GPT.
- Data Scientists maintain an external VectorDB (either using Retool Vector or another vector DB) and would like to send the results of the vector search back to ChatGPT.
- Retool is used as middleware to connect to internal services, and you'd like to use Retool's webhooks to provide access to these services to ChatGPT.

## Application Information

### Application Key Links

Check out these links from the application before you get started:
- Application Website: https://retool.com/products/workflows
- Application API Documentation: https://docs.retool.com/workflows

### Application Prerequisites

Before you get started, make sure you go through the following steps in your Retool environment:
- Set up a Retool account
- Create a simple workflow

### Application Workflow Steps

Below is an example of a basic Retool Workflow. This workflow takes in 2 values and adds them and responds to the webhook trigger with the result.

***Note:*** Your workflow must be deployed before it will be accessible from your GPT.

[![Retool API Key](../../../images/retool-workflow-config.png)](https://app.arcade.software/share/MG7PcF8fh3RH722eonUb)


## ChatGPT Steps

### Custom GPT Instructions

Once you've created a Custom GPT, you should add Instructions to the GPT providing context about the GPTs role, and the actions it is able to perform. Have questions? Check out [Getting Started Example](https://platform.openai.com/docs/actions/getting-started) to see how this step works in more detail.

### OpenAPI Schema

Once you've created a Custom GPT, copy the text below in the Actions panel. Have questions? Check out [Getting Started Example](https://platform.openai.com/docs/actions/getting-started) to see how this step works in more detail.

***Note:*** You need to replace the __<WORKFLOW_ID>__ value in the OpenAPI spec below with the ID for your workflow.


```yaml
openapi: 3.1.0
info:
title: Retool Workflow API
description: API for interacting with Retool workflows.
version: 1.0.0
servers:
- url: https://api.retool.com/v1
description: Main (production) server
paths:
/workflows/<WORKFLOW_ID>/startTrigger:
post:
operationId: add_numbers
summary: Takes 2 numbers and adds them.
description: Initiates a workflow in Retool by triggering a specific workflow ID.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
first:
type: integer
description: First parameter for the workflow.
second:
type: integer
description: Second parameter for the workflow.
responses:
"200":
description: Workflow triggered successfully.
"400":
description: Bad Request - Invalid parameters or missing data.
"401":
description: Unauthorized - Invalid or missing API key.
security:
- apiKeyAuth: []
```
## Authentication Instructions
Below are instructions on setting up authentication with this 3rd party application. Have questions? Check out [Getting Started Example](https://platform.openai.com/docs/actions/getting-started) to see how this step works in more detail.
### Pre-Action Steps
Before you set up authentication in ChatGPT, please take the following steps in the application.
- Get your API Key from the Webhook config panel
![retool_api_key.png](../../../images/retool_api_key.png)
### In ChatGPT
In ChatGPT, click on "Authentication" and choose **"API Key"**. Enter in the information below.
- **API Key**: (Paste your API Key provided by the Retool Workflow Webhook Trigger)
- **Auth Type**: Custom
- **Custom Header Name**: X-Workflow-Api-Key
### FAQ & Troubleshooting
- *Auth Error:* Ensure you have set the custom header name correctly.
- *Invalid Workflow Error:* Ensure you have deployed your workflow within Retool.
*Are there integrations that you’d like us to prioritize? Are there errors in our integrations? File a PR or issue in our github, and we’ll take a look.*
Binary file added images/retool-workflow-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/retool_api_key.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions registry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1559,3 +1559,12 @@
tags:
- gpt-actions-library
- chatgpt

- title: GPT Actions library - Retool Workflow
path: examples/chatgpt/gpt_actions_library/gpt_action_retool_workflow.md
date: 2024-08-28
authors:
- lspacagna-oai
tags:
- gpt-actions-library
- chatgpt

0 comments on commit 457f431

Please sign in to comment.