Getting Started
In this guide, we will be using Next.js. If you’re working with a different supported framework, you can find instructions on how to define a workflow endpoint in the quickstarts.
If you’re new to Upstash Workflow, it’s a good idea to start by exploring the Local Development documentation. This guide will help you set up and use Upstash Workflow in a local environment.
Installation
First, create a new Next.js project with:
Then, install the following packages:
Start Local QStash Server
Next, start the local QStash server with the following:
For other local development options, you can refer to the local development documentation.
Set Environment Variables
Once you start the QStash server, you’ll see QSTASH_URL
and QSTASH_TOKEN
values in the console. Add these values to your .env.local
file together with OPENAI_API_KEY
env variable:
Define an endpoint
Next, we will define the endpoint to run the agent.
You can refer to the documentations for defining a workflow endpoint and the Agents API features to learn more.
Calling the Endpoint
To run the endpoint, first run the Next.js app with:
Then, we call the endpoint using the Workflow Client:
If you are using a local tunnel, replace the url above (http://127.0.0.1:3000
)
with the public URL.
In the console where you run the Next.js app, you should see logs like this:
If you run the same endpoint using a local tunnel, you can also see how Upstash Workflow runs the agent in steps:
Each tool invocation and LLM call is a seperate step. Our agent first made a call to OpenAI to decide whether to use a tool or reply right away. OpenAI responded with a request to use the tool communicationTool
. Tool was executed and OpenAI was called with the result of the tool. OpenAI then responded with the final response.
Was this page helpful?