The Pica AI SDK is a TypeScript library for integrating Pica with Vercel's AI SDK.
For detailed instructions and examples, view the documentation.
npm install @picahq/ai
- Create a new Pica account
- Create a Connection via the Pica Dashboard
- Create a Pica API key
- Set the API key as an environment variable:
PICA_SECRET_KEY=<your-api-key>
The Pica SDK can be configured with the following options:
Option | Type | Required | Default | Description |
---|---|---|---|---|
serverUrl | String | No | https://api.picaos.com | URL for self-hosted Pica server |
connectors | String[] | No | - | List of connector keys to filter by. Pass ["*"] to initialize all available connectors, or specific connector keys to filter. If empty, no connections will be initialized |
identity | String | No | None | Filter connections by specific identifier |
identityType | "user" | "team" | "organization" | "project" |
No | None | Filter connections by identity type |
authkit | Boolean | No | false | If true, the SDK will use Authkit to connect to prompt the user to connect to a platform that they do not currently have access to |
knowledgeAgent | Boolean | No | false | If true, the SDK will never execute actions, but will use Pica's knowledge to generate code. If true, use pica.intelligenceTool instead of pica.oneTool |
knowledgeAgentConfig | Object | No | { includeEnvironmentVariables: true } |
Configuration for the Knowledge Agent. If includeEnvironmentVariables is true, the SDK will return a reminder to include environment variables in the output |
The Pica AI SDK is designed to work seamlessly with Vercel AI SDK. Here's an example implementation with Next.js:
import { openai } from "@ai-sdk/openai";
import { convertToCoreMessages, streamText } from "ai";
import { Pica } from "@picahq/ai";
export async function POST(request: Request) {
const { messages } = await request.json();
const pica = new Pica(process.env.PICA_SECRET_KEY!, {
connectors: ["*"],
});
const systemPrompt = await pica.generateSystemPrompt();
const stream = streamText({
model: openai("gpt-4o"),
system: systemPrompt,
tools: { ...pica.oneTool },
messages: convertToCoreMessages(messages),
maxSteps: 10,
});
return stream.toDataStreamResponse();
}
⭐️ You can see a full Next.js demo of the Pica AI SDK in action here
Examples for streaming and creating an express server can be found in the examples directory.
Once you've installed the SDK and connected your platforms in the Pica dashboard, you can seamlessly build your own AI agents to automate your workflows.
Here's some inspiration:
- Send an email using Gmail to a colleague with a meeting summary
- Create a calendar event in Google Calendar for next Tuesday at 2pm
- Send a message in Slack to the #marketing channel with the latest campaign metrics
- Find documents in Google Drive related to Q3 planning
- List the top 10 customers from my PostgreSQL database
- Create a new sheet in Google Sheets with sales data
- Query Salesforce for opportunities closing this month
- Update a Notion database with project statuses
- Create a support ticket in Zendesk from customer feedback
- Process a refund for a customer order in Stripe
- Add a new lead to HubSpot from a website inquiry
- Generate an invoice in QuickBooks for a client project
- Generate an image with DALL-E based on product specifications
- Transcribe a meeting recording with ElevenLabs
- Research market trends using Tavily or SerpApi
- Analyze customer sentiment from support tickets
Got any cool examples? Open a PR and share them!
This project is licensed under the GPL-3.0 license. See the LICENSE file for details.