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.
First, create a new Next.js project with:
Then, install the following packages:
Next, start the local QStash server with the following:
For other local development options, you can refer to the local development documentation.
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:
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.
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.
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.
First, create a new Next.js project with:
Then, install the following packages:
Next, start the local QStash server with the following:
For other local development options, you can refer to the local development documentation.
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:
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.
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.