> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://docs.postnuvia.com/llms.txt.

# Vercel

> Provision PostNuvia from the Vercel Marketplace and authenticate your Vercel functions with the provisioned API key

## Overview

PostNuvia is a native integration on the [Vercel Marketplace](https://vercel.com/marketplace/postnuvia). Installing it from Vercel provisions an PostNuvia organization for your team without a separate signup, puts the usage on your Vercel invoice, and lets you open the PostNuvia console from the Vercel dashboard.

Installing the integration injects `POSTNUVIA_API_KEY` into the connected projects. It is a normal PostNuvia API key, so your Vercel functions authenticate with it like any other PostNuvia client.

## Install

1. In the Vercel dashboard open **Integrations**, then **Marketplace**, find **PostNuvia** and click **Install**. From a terminal, `vercel integration add postnuvia` does the same.
2. Pick a plan and name the resource. One resource is one PostNuvia organization; connect it to every project that should share its inboxes.
3. Run `vercel env pull .env.local` in each connected project to get the injected variables locally.

Plan changes and billing live in the Vercel dashboard under the resource. **Open in PostNuvia** on the resource page signs you into the PostNuvia console for that organization.

## Use the provisioned API key

`POSTNUVIA_API_KEY` is injected into every connected project when you install the integration, and `vercel env pull .env.local` brings it to your machine. Use it like any other PostNuvia key:

**`TypeScript`**

```typescript title="TypeScript"
import { PostNuviaClient } from "postnuvia";

const client = new PostNuviaClient({ apiKey: process.env.POSTNUVIA_API_KEY });
const inbox = await client.inboxes.create({ clientId: "support-agent" });
```

**`Python`**

```python title="Python"
from postnuvia import PostNuvia
from postnuvia.inboxes import CreateInboxRequest

client = PostNuvia()  # reads POSTNUVIA_API_KEY
inbox = client.inboxes.create(request=CreateInboxRequest(client_id="support-agent"))
```

Because it is a long-lived secret, treat it as one: mark the resource **Production only** in its Vercel settings if preview and development deployments do not need it.

> **Note**
>
> Everything else about PostNuvia is the same on Vercel: see the [inboxes](https://docs.postnuvia.com/api-reference/inboxes/create) and [webhooks](https://docs.postnuvia.com/webhooks-overview) references, and the [Vercel AI SDK example](https://postnuvia.com/build/vercel) for sending email from an agent tool.