Next.js
LangChain
LlamaIndex
GenKit
Prerequisites
Before using this example, make sure you:
- Set up an OpenAI API key.
- Set up and configure a Salesforce instance with an External Client App.
- Configure a Salesforce OIDC connection in Auth0 with the following scopes:
openidapirefresh_tokenoffline_access
- Complete the User authentication quickstart to create a Next.js app integrated with Auth0.
- Set the
SALESFORCE_INSTANCE_URLin your.envfile.
.env
1. Define the Vercel AI tool and backend API route
Create an AI tool that gets a list of opportunities from Salesforce and a backend route that uses Auth0 to get a Salesforce access token:- When the tool calls
auth0.getAccessTokenForConnection(), passsfdcas the connection name to get a Salesforce access token.
app/api/chat/route.js
2. Call from the frontend Chat UI
Use the@ai-sdk/react hook to wire up the chat component:src/components/chat.tsx
3. Example UI
Navigate tohttps://localhost:3000 to see the chat UI:
Get me 2 opportunities from Salesforce, GPT-4 interprets the request and invokes the listOpportunities tool, which securely calls the Salesforce API using access tokens obtained via Auth0 and returns the results.