Skip to content

Commit ec6b757

Browse files
authored
🌿 Your Fern Generated Docs (#4)
1 parent 5a433e9 commit ec6b757

File tree

191 files changed

+11125
-25
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

191 files changed

+11125
-25
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Preview Docs
2+
3+
on: pull_request
4+
5+
jobs:
6+
run:
7+
runs-on: ubuntu-latest
8+
permissions: write-all
9+
steps:
10+
- name: Checkout repository
11+
uses: actions/checkout@v4
12+
13+
- name: Install Fern
14+
run: npm install -g fern-api
15+
16+
- name: Generate preview URL
17+
id: generate-docs
18+
env:
19+
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
20+
run: |
21+
OUTPUT=$(fern generate --docs --preview --log-level debug 2>&1) || true
22+
echo "$OUTPUT"
23+
URL=$(echo "$OUTPUT" | grep -oP 'Published docs to \K.*(?= \()')
24+
echo "Preview URL: $URL"
25+
echo "🌿 Preview your docs: $URL" > preview_url.txt
26+
27+
- name: Comment URL in PR
28+
uses: thollander/actions-comment-pull-request@v2.4.3
29+
with:
30+
filePath: preview_url.txt

‎.github/workflows/preview-sdks.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ jobs:
2424
env:
2525
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
2626
run: |
27-
fern generate --api v5 --group ts-sdk --preview --log-level debug
27+
fern generate --api api --group ts-sdk --preview --log-level debug
2828
2929
- name: Compile
3030
env:
3131
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
3232
run: |
33-
cd fern/apis/v5/.preview/fern-typescript-node-sdk
33+
cd fern/apis/api/.preview/fern-typescript-node-sdk
3434
yarn install
3535
yarn build
3636
@@ -51,7 +51,7 @@ jobs:
5151
env:
5252
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
5353
run: |
54-
fern generate --api v5 --group python-sdk --preview --log-level debug
54+
fern generate --api api --group python-sdk --preview --log-level debug
5555
5656
- name: Set up python
5757
uses: actions/setup-python@v4
@@ -64,6 +64,6 @@ jobs:
6464
6565
- name: Compile
6666
run: |
67-
cd fern/apis/v5/.preview/fern-python-sdk
67+
cd fern/apis/api/.preview/fern-python-sdk
6868
poetry install
6969
poetry run mypy .
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Publish Docs
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
run:
10+
runs-on: ubuntu-latest
11+
if: ${{ github.event_name == 'push' && contains(github.ref, 'refs/heads/main') && github.run_number > 1 }}
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
- name: Install Fern
17+
run: npm install -g fern-api
18+
19+
- name: Publish Docs
20+
env:
21+
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
22+
run: fern generate --docs

‎.github/workflows/release-csharp-sdk.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
4343
run: |
4444
if [ "${{ github.event.inputs.makePR }}" = "true" ]; then
45-
fern generate --group csharp-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
45+
fern generate --api api --group csharp-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
4646
else
47-
fern generate --group csharp-sdk --version ${{ inputs.version }} --log-level debug
47+
fern generate --api api --group csharp-sdk --version ${{ inputs.version }} --log-level debug
4848
fi

‎.github/workflows/release-go-sdk.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
4242
run: |
4343
if [ "${{ github.event.inputs.makePR }}" = "true" ]; then
44-
fern generate --group go-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
44+
fern generate --api api --group go-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
4545
else
46-
fern generate --group go-sdk --version ${{ inputs.version }} --log-level debug
46+
fern generate --api api --group go-sdk --version ${{ inputs.version }} --log-level debug
4747
fi

‎.github/workflows/release-java-sdk.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
4444
run: |
4545
if [ "${{ github.event.inputs.makePR }}" = "true" ]; then
46-
fern generate --group java-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
46+
fern generate --api api --group java-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
4747
else
48-
fern generate --group java-sdk --version ${{ inputs.version }} --log-level debug
48+
fern generate --api api --group java-sdk --version ${{ inputs.version }} --log-level debug
4949
fi

‎.github/workflows/release-python-sdk.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
4343
run: |
4444
if [ "${{ github.event.inputs.makePR }}" = "true" ]; then
45-
fern generate --group python-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
45+
fern generate --api api --group python-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
4646
else
47-
fern generate --group python-sdk --version ${{ inputs.version }} --log-level debug
47+
fern generate --api api --group python-sdk --version ${{ inputs.version }} --log-level debug
4848
fi

‎.github/workflows/release-ruby-sdk.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
4343
run: |
4444
if [ "${{ github.event.inputs.makePR }}" = "true" ]; then
45-
fern generate --group ruby-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
45+
fern generate --api api --group ruby-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
4646
else
47-
fern generate --group ruby-sdk --version ${{ inputs.version }} --log-level debug
47+
fern generate --api api --group ruby-sdk --version ${{ inputs.version }} --log-level debug
4848
fi

‎.github/workflows/release-ts-sdk.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
4343
run: |
4444
if [ "${{ github.event.inputs.makePR }}" = "true" ]; then
45-
fern generate --group ts-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
45+
fern generate --api api --group ts-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
4646
else
47-
fern generate --group ts-sdk --version ${{ inputs.version }} --log-level debug
47+
fern generate --api api --group ts-sdk --version ${{ inputs.version }} --log-level debug
4848
fi

‎README.md

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,43 @@ To deploy your SDKs, simply run the `Release Python SDK` GitHub Action with the
2828
desired version for the release. Under the hood, this leverages the Fern CLI:
2929

3030
```sh
31-
fern generate --group python-sdk
31+
fern generate --api api --group python-sdk
3232
```
3333

3434
### Developing SDKs
3535

3636
You can also regenerate the SDKs locally by running:
3737

3838
```sh
39-
fern generate --group python-sdk --preview --log-level debug
39+
fern generate --api api --group python-sdk --preview --log-level debug
4040
```
4141

4242
This will generate the SDK and download it to a local folder that can be pip installed.
4343

4444
```sh
4545
pip install -e /fern/.preview/fern-python-sdk
4646
```
47+
48+
## How to update documentation?
49+
50+
### Local Development server
51+
52+
To run a local development server with hot-reloading you can run the following command
53+
54+
```sh
55+
fern docs dev
56+
```
57+
58+
#### Hosted URL
59+
60+
To update your documentation on a hosted URL, run
61+
```
62+
# npm install -g fern-api
63+
fern generate --docs
64+
```
65+
To preview your documentation, run
66+
```
67+
# npm install -g fern-api
68+
fern generate --docs --preview
69+
```
70+
The repository contains GitHub workflows that will automatically run these commands for you. For example, when you make a PR a preview link will be auto-generated and when you merge to main the docs site will update.

‎fern/GHL.mdx

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
---
2+
title: How to Connect Vapi with Make & GHL
3+
slug: GHL
4+
---
5+
6+
7+
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.
8+
9+
## What are GHL/Make Tools?
10+
11+
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.
12+
13+
## How does the integration work?
14+
15+
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.
16+
17+
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.
18+
19+
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.
20+
21+
## Setting up the GHL/Make Tools integration
22+
23+
1. **Create a GHL workflow or Make scenario**: Design your automation in GHL or Make, connecting the necessary apps and services.
24+
25+
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.
26+
27+
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).
28+
29+
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.
30+
31+
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.
32+
33+
## Use case examples
34+
35+
### Booking appointments with AI callers
36+
37+
- Import a GHL workflow that handles appointment booking
38+
- Configure the workflow to accept appointment details (date, time, user info) from Vapi
39+
- Add the Tool to your AI assistant, allowing it to book appointments based on voice commands
40+
41+
### Updating CRMs with voice-gathered data
42+
43+
- Import a Make scenario that updates your CRM with customer information
44+
- Map the scenario's input variables to entities extracted from user speech
45+
- Enable your AI assistant to gather customer information via voice and automatically update your CRM
46+
47+
### Real Estate: Automated Property Information Retrieval
48+
49+
- Import a Make scenario that retrieves property information from your MLS (Multiple Listing Service) or real estate database
50+
- Configure the scenario to accept a property address or MLS ID as input
51+
- Add the Tool to your AI assistant, allowing potential buyers to request property details using voice commands
52+
- Your AI assistant can then provide key information about the property, such as price, square footage, number of bedrooms/bathrooms, and amenities
53+
54+
### Healthcare/Telehealth: Appointment Reminders and Prescription Refills
55+
56+
- Import a GHL workflow that sends appointment reminders and handles prescription refill requests
57+
- Configure the workflow to accept patient information and appointment/prescription details from Vapi
58+
- Add the Tool to your AI assistant, enabling patients to request appointment reminders or prescription refills using voice commands
59+
- Your AI assistant can confirm the appointment details, send reminders via SMS or email, and forward prescription refill requests to the appropriate healthcare provider
60+
61+
### Restaurant Ordering: Custom Order Placement and Delivery Tracking
62+
63+
- Import a Make scenario that integrates with your restaurant's online ordering system and delivery tracking platform
64+
- Configure the scenario to accept customer information, order details, and delivery preferences from Vapi
65+
- Add the Tool to your AI assistant, allowing customers to place custom orders and track their delivery status using voice commands
66+
- 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
67+
68+
## Best practices
69+
70+
- Break down complex automations into smaller, focused workflows or scenarios for better maintainability
71+
- Use clear and concise naming conventions for your imported Tools and their input variables
72+
- Thoroughly test the integration to ensure reliable performance and accurate data passing
73+
- Keep your GHL workflows and Make scenarios up to date to reflect any changes in the connected apps or services
74+
75+
## Troubleshooting
76+
77+
- If a Tool is not triggering as expected, verify that the voice commands are correctly configured and the input variables are properly mapped
78+
- Check the Vapi logs and the GHL/Make execution logs to identify any errors or issues in the automation flow
79+
- Ensure that the necessary API credentials and permissions are correctly set up in both Vapi and the integrated apps/services
80+
81+
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.
82+
83+
## Get Support
84+
85+
Join our Discord to connect with other developers & connect with our team:
86+
87+
<CardGroup cols={2}>
88+
<Card
89+
title="Join Our Discord"
90+
icon="fa-brands fa-discord"
91+
iconType="solid"
92+
color="#5A65EA"
93+
href="https://discord.gg/pUFNcf2WmH"
94+
>
95+
Connect with our team & other developers using Vapi.
96+
</Card>
97+
<Card
98+
title="Email Support"
99+
icon="mailbox"
100+
iconType="solid"
101+
color="#7a7f85"
102+
href="mailto:support@vapi.ai"
103+
>
104+
Send our support team an email.
105+
</Card>
106+
</CardGroup>
107+
108+
Here are some video tutorials that will guide you on how to use Vapi with services like Make and GoHighLevel:
109+
110+
<div class="video-grid">
111+
<iframe
112+
src="https://www.youtube.com/embed/PVP1P2nak4M?si=vGGAMZVI3Fzzik9X"
113+
title="YouTube video player"
114+
frameborder="0"
115+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
116+
referrerpolicy="strict-origin-when-cross-origin"
117+
allowfullscreen
118+
/>
119+
<iframe
120+
src="https://www.youtube.com/embed/3LSXJECXpkc?si=hhWsXZeFYC6wM-cq"
121+
title="YouTube video player"
122+
frameborder="0"
123+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
124+
referrerpolicy="strict-origin-when-cross-origin"
125+
allowfullscreen
126+
/>
127+
<iframe
128+
src="https://www.loom.com/embed/026d1c1a2cc64e479044619842ce8bd1?sid=c5934ff7-2f58-4cf3-952a-140938079ca0"
129+
title="GoHighLevel Loom Video"
130+
frameborder="0"
131+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
132+
referrerpolicy="strict-origin-when-cross-origin"
133+
allowfullscreen
134+
/>
135+
<iframe
136+
src="https://www.loom.com/embed/210579f412bd47de8964683b2f28c3ec?sid=1f289c56-d4bc-4923-85bb-6cbc0fe55361"
137+
title="GoHighLevel Bulk call Loom Video"
138+
frameborder="0"
139+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
140+
referrerpolicy="strict-origin-when-cross-origin"
141+
allowfullscreen
142+
/>
143+
<iframe
144+
src="https://www.youtube.com/embed/KwQmJbIOov4?si=x5ep0ziyIM5ueuvG"
145+
title="GoHighLevel Bulk call Loom Video"
146+
frameborder="0"
147+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
148+
referrerpolicy="strict-origin-when-cross-origin"
149+
allowfullscreen
150+
/>
151+
</div>

0 commit comments

Comments
 (0)