Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
chdeskur committed Oct 10, 2024
1 parent 5a433e9 commit da83f3b
Show file tree
Hide file tree
Showing 178 changed files with 10,577 additions and 1 deletion.
151 changes: 151 additions & 0 deletions fern/GHL.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
title: How to Connect Vapi with Make & GHL
slug: GHL
---


Vapi's GHL/Make Tools integration allows you to directly import your GHL workflows and Make scenarios into Vapi as Tools. This enables you to create voicebots that can trigger your favorite app integrations and automate complex workflows using voice commands.

## What are GHL/Make Tools?

GHL (GoHighLevel) workflows and Make scenarios are powerful automation tools that allow you to connect and integrate various apps and services. With the GHL/Make Tools integration, you can now bring these automations into Vapi and trigger them using voice commands.

## How does the integration work?

1. **Import workflows and scenarios**: Navigate to the [Tools section](https://dashboard.vapi.ai/tools) in your Vapi dashboard and import your existing GHL workflows and Make scenarios.

2. **Add Tools to your assistants**: Once imported, you can add these Tools to your AI assistants, enabling them to trigger the automations based on voice commands.

3. **Trigger automations with voice**: Your AI assistants can now understand voice commands and execute the corresponding GHL workflows or Make scenarios, allowing for seamless voice-enabled automation.

## Setting up the GHL/Make Tools integration

1. **Create a GHL workflow or Make scenario**: Design your automation in GHL or Make, connecting the necessary apps and services.

2. **Import the workflow/scenario into Vapi**: In the Vapi dashboard, navigate to the Tools section and click on "Import." Select the GHL workflow or Make scenario you want to import.

3. **Configure the Tool**: Provide a name and description for the imported Tool, and map any required input variables to the corresponding Vapi entities (e.g., extracted from user speech).

4. **Add the Tool to your assistant**: Edit your AI assistant and add the newly imported Tool to its capabilities. Specify the voice commands that should trigger the Tool.

5. **Test the integration**: Engage with your AI assistant using the specified voice commands and verify that the corresponding GHL workflow or Make scenario is triggered successfully.

## Use case examples

### Booking appointments with AI callers

- Import a GHL workflow that handles appointment booking
- Configure the workflow to accept appointment details (date, time, user info) from Vapi
- Add the Tool to your AI assistant, allowing it to book appointments based on voice commands

### Updating CRMs with voice-gathered data

- Import a Make scenario that updates your CRM with customer information
- Map the scenario's input variables to entities extracted from user speech
- Enable your AI assistant to gather customer information via voice and automatically update your CRM

### Real Estate: Automated Property Information Retrieval

- Import a Make scenario that retrieves property information from your MLS (Multiple Listing Service) or real estate database
- Configure the scenario to accept a property address or MLS ID as input
- Add the Tool to your AI assistant, allowing potential buyers to request property details using voice commands
- Your AI assistant can then provide key information about the property, such as price, square footage, number of bedrooms/bathrooms, and amenities

### Healthcare/Telehealth: Appointment Reminders and Prescription Refills

- Import a GHL workflow that sends appointment reminders and handles prescription refill requests
- Configure the workflow to accept patient information and appointment/prescription details from Vapi
- Add the Tool to your AI assistant, enabling patients to request appointment reminders or prescription refills using voice commands
- Your AI assistant can confirm the appointment details, send reminders via SMS or email, and forward prescription refill requests to the appropriate healthcare provider

### Restaurant Ordering: Custom Order Placement and Delivery Tracking

- Import a Make scenario that integrates with your restaurant's online ordering system and delivery tracking platform
- Configure the scenario to accept customer information, order details, and delivery preferences from Vapi
- Add the Tool to your AI assistant, allowing customers to place custom orders and track their delivery status using voice commands
- Your AI assistant can guide customers through the ordering process, suggest menu items based on preferences, and provide real-time updates on the order status and estimated delivery time

## Best practices

- Break down complex automations into smaller, focused workflows or scenarios for better maintainability
- Use clear and concise naming conventions for your imported Tools and their input variables
- Thoroughly test the integration to ensure reliable performance and accurate data passing
- Keep your GHL workflows and Make scenarios up to date to reflect any changes in the connected apps or services

## Troubleshooting

- If a Tool is not triggering as expected, verify that the voice commands are correctly configured and the input variables are properly mapped
- Check the Vapi logs and the GHL/Make execution logs to identify any errors or issues in the automation flow
- Ensure that the necessary API credentials and permissions are correctly set up in both Vapi and the integrated apps/services

By leveraging Vapi's GHL/Make Tools integration, you can create powerful voice-enabled automations and streamline your workflows, all without extensive coding. Automate tasks, connect your favorite apps, and unlock the full potential of voice AI with Vapi.

## Get Support

Join our Discord to connect with other developers & connect with our team:

<CardGroup cols={2}>
<Card
title="Join Our Discord"
icon="fa-brands fa-discord"
iconType="solid"
color="#5A65EA"
href="https://discord.gg/pUFNcf2WmH"
>
Connect with our team & other developers using Vapi.
</Card>
<Card
title="Email Support"
icon="mailbox"
iconType="solid"
color="#7a7f85"
href="mailto:[email protected]"
>
Send our support team an email.
</Card>
</CardGroup>

Here are some video tutorials that will guide you on how to use Vapi with services like Make and GoHighLevel:

<div class="video-grid">
<iframe
src="https://www.youtube.com/embed/PVP1P2nak4M?si=vGGAMZVI3Fzzik9X"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
/>
<iframe
src="https://www.youtube.com/embed/3LSXJECXpkc?si=hhWsXZeFYC6wM-cq"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
/>
<iframe
src="https://www.loom.com/embed/026d1c1a2cc64e479044619842ce8bd1?sid=c5934ff7-2f58-4cf3-952a-140938079ca0"
title="GoHighLevel Loom Video"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
/>
<iframe
src="https://www.loom.com/embed/210579f412bd47de8964683b2f28c3ec?sid=1f289c56-d4bc-4923-85bb-6cbc0fe55361"
title="GoHighLevel Bulk call Loom Video"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
/>
<iframe
src="https://www.youtube.com/embed/KwQmJbIOov4?si=x5ep0ziyIM5ueuvG"
title="GoHighLevel Bulk call Loom Video"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin"
allowfullscreen
/>
</div>
90 changes: 90 additions & 0 deletions fern/advanced/calls/sip.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: SIP
subtitle: You can make SIP calls to Vapi Assistants.
slug: advanced/calls/sip
---


<Info>This instruction is solely for testing purposes. To productionize a SIP implementation, contact Sales to inquire about an Enterprise plan.</Info>

<Accordion title="1. Create an Assistant.">

## 1. Create an Assistant

We'll create an assistant with `POST /assistant` endpoint. This is no different than creating an assistant for other transports.

```json
{
"name": "My SIP Assistant",
"firstMessage": "Hello {{first_name}}, you've reached me over SIP. How can I help you today?"
}

```

</Accordion>

<Accordion title="2. Create a SIP Phone Number.">

## 2. Create A SIP Phone Number

We'll create a SIP phone number with `POST /phone-number` endpoint.

```json
{
"provider": "vapi",
"sipUri": "sip:[email protected]",
"assistantId": "your_assistant_id"
}

```

`sipUri` is the SIP URI of the phone number. It must be in the format `sip:[email protected]`. You are free to choose any username you like.

</Accordion>



<Accordion title="3. Start a SIP call.">

## 3. Start a SIP call.

You can use any SIP softphone to test the Assistant. Examples include [Zoiper](https://www.zoiper.com/) or [Linphone](https://www.linphone.org/).

You just need to dial `sip:[email protected]` and the Assistant will answer your call.

There is no authentication or SIP registration required.

</Accordion>

<Accordion title="4. Send SIP Headers to Fill Template Variables.">

## 4. Send SIP Headers to Fill Template Variables.

To fill your template variables, you can send custom SIP headers.

For example, to fill the `first_name` variable, you can send a SIP header `x-first_name: John`.

The header name is case insensitive. So, `X-First_Name`, `x-first_name`, and `X-FIRST_NAME` are all the same.

</Accordion>

<Accordion title="5. Use a Custom Assistant For Each Call.">

## 5. Use a Custom Assistant For Each Call.

You can use a custom assistant for SIP calls same as phone calls.

Set the `assistantId` to `null` and the `serverUrl` to the URL of your server which will respond to the `assistant-request`.

`PATCH /phone-number/:id`
```json
{
"assistantId": null,
"serverUrl": "https://your_server_url"
}
```

Now, every time you make a call to this phone number, the server will receive a `assistant-request` event.

</Accordion>

5 changes: 5 additions & 0 deletions fern/api-reference/messages/client-inbound-message.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: ClientInboundMessage
slug: api-reference/messages/client-inbound-message
---

5 changes: 5 additions & 0 deletions fern/api-reference/messages/client-message.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: ClientMessage
slug: api-reference/messages/client-message
---

5 changes: 5 additions & 0 deletions fern/api-reference/messages/server-message-response.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: ServerMessageResponse
slug: api-reference/messages/server-message-response
---

5 changes: 5 additions & 0 deletions fern/api-reference/messages/server-message.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: ServerMessage
slug: api-reference/messages/server-message
---

10 changes: 10 additions & 0 deletions fern/api-reference/openapi.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: OpenAPI
slug: api-reference/openapi
---


<Check>
Our OpenAPI is hosted at
[https://api.vapi.ai/api-json](https://api.vapi.ai/api-json)
</Check>
9 changes: 9 additions & 0 deletions fern/api-reference/swagger.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Swagger
slug: api-reference/swagger
---


<Check>
Our Swagger is hosted at [https://api.vapi.ai/api](https://api.vapi.ai/api)
</Check>
75 changes: 75 additions & 0 deletions fern/assets/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
.fern-header .fern-button.filled .fa-icon {
height: 10px !important;
width: 10px !important;
}

.fern-header * {
font-weight: 500;
}

/* for a grid of videos */

.video-grid {
display: flex;
flex-wrap: wrap;
gap: 20px; /* Spacing between videos */
}

.video-grid iframe,
.video-grid a {
flex: 0 0 calc(50% - 20px); /* Flex grow is 0, basis is 50% minus the gap */
aspect-ratio: 560 / 315; /* Maintain the aspect ratio of 16:9 */
max-width: calc(50% - 20px); /* Max width is also set to 50% minus the gap */
height: auto; /* Allow height to auto adjust based on aspect ratio */
}

.video-grid a {
aspect-ratio: 1;
}

@media (max-width: 600px) {
.video-grid iframe {
flex: 0 0 100%; /* Flex grow is 0, basis is 100% */
max-width: 100%; /* Allow max-width to be full width on mobile */
}
}

.card-img {
height: 200px;
object-fit: contain;
margin: auto;
background: white; /*TODO: change color as per theme*/
}

.card-content {
display: flex;
flex-direction: column;
align-items: center;
margin-top: auto;
text-align: center;
}

.card-content > h3 {
margin: 16px 0 8px 0;
font-size: 1.5em;
text-align: center;
}

.card-content > p {
font-size: 1em;
text-align: center;
}

.video-embed-wrapper {
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

.video-embed-wrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
31 changes: 31 additions & 0 deletions fern/assistants.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: Introduction
subtitle: The core building-block of voice agents on Vapi.
slug: assistants
---


**Assistant** is a fancy word for an AI configuration that can be used across phone calls and Vapi clients. Your voice assistant can augment your customer support and experience for call centers, business websites, mobile apps, and much more.

There are three core components: **Transcriber**, **Model**, and **Voice**. These can be configured, mixed, and matched for your use case. <br /> <Info> There are also various other configurable properties you can find [here](/api-reference/assistants/create-assistant) </Info> Below, check out some ways you can layer in powerful customizations and features to meet any use case.

## Advanced Concepts

<CardGroup cols={2}>
<Card title="Provider Keys" icon="key" href="customization/provider-keys">
Add your API keys for other providers
</Card>
<Card title="Custom LLM URL" icon="brain" href="customization/custom-llm/fine-tuned-openai-models">
Plug in your own LLM
</Card>
<Card title="Call Functions" icon="square-phone" href="/assistants/function-calling">
Forward and hang up with function calls
</Card>
<Card
title="Persistent / Temporary Assistants"
href="/assistants/persistent-assistants"
icon="database"
>
Which setup is best for you?
</Card>
</CardGroup>
Loading

0 comments on commit da83f3b

Please sign in to comment.