Pizza Website Example 🍕
Let’s build a pizza ordering assistant for our website.
In this example, we’ll be using the Web SDK to create an assistant that can take a pizza order. Since all the Client SDKs have equivalent functionality, you can use this example as a guide for any Vapi client.
We want to add a button to the page to start a call, update our UI with the call status, and display what the user’s saying while they say it. When the user mentions a topping, we should add it to the pizza. When they’re done, we should redirect them to checkout.
Create an assistant
We’ll start by taking a look at the Assistant API reference and define our assistant:
Let’s break this down:
model
- We’re using the OpenAI GPT-4 model, which is better at function calling.messages
- We’re defining the assistant’s instructions for how to run the call.functions
- We’re providing a addTopping function with a topping parameter. The assistant can call this during the conversation to add a topping. We’re also adding goToCheckout, with an empty parameters object. The assistant can call this to redirect the user to checkout.firstMessage
- This is the first message the assistant will say when the user starts the call.
We’ll then make a POST request to the Create Assistant endpoint to create the assistant.
Set up the Web SDK
We’ll follow the README
for the Web SDK to get it installed.
We’ll then get our Public Key from the Vapi Dashboard and initialize the SDK:
Handle transcription events
All messages send to the Server URL, including transcript
and function-call
messages, are also sent to the client as message
events. We’ll need to check the type
of the message to see what type it is.