> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sazabi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Convex

> Create a Convex webhook log stream with your Sazabi intake URL as the destination to forward deployment logs from your Convex functions to Sazabi.

[All Convex integration capabilities](https://docs.sazabi.com/catalogs/integrations/convex)

## About

You can also connect your Convex account to Sazabi and have Sazabi configure log streams automatically. See [Convex (connect your account)](https://docs.sazabi.com/catalogs/log-sources/connect-your-account/convex.md) for that path.

This page covers the manual endpoint configuration: create a webhook log stream in each Convex deployment yourself and point it at your Sazabi intake URL. Use this approach when you want direct control over the log stream configuration.

Each Convex deployment gets its own log stream. You will need to repeat the setup for each deployment you want to forward.

## Prerequisites

* A Convex **Pro** plan. Webhook log streams are a Pro feature.
* Your Sazabi intake URL, shown above — open the log source and copy the **Intake URL** from its setup screen (the public key is embedded in the URL).

## Set up in the dashboard

**Step 1**

### Open log streams in the Convex dashboard

Go to [dashboard.convex.dev](https://dashboard.convex.dev) and open the deployment you want to forward. Navigate to **Settings > Integrations > Webhook log stream**.

**Step 2**

### Create a webhook log stream

Click **Add log stream** (or the equivalent button in your Convex dashboard version). When prompted for a destination URL, paste your Sazabi intake URL shown above.

**Step 3**

### Repeat for each deployment

Log streams are per-deployment in Convex. Repeat Steps 1-2 for each deployment (development, staging, production) that you want to forward to Sazabi.

## Set up with the CLI

You can also register the Convex log source with the [Sazabi CLI](https://docs.sazabi.com/reference/cli.md) (installed and authenticated — see [CLI reference](https://docs.sazabi.com/reference/cli/log-sources.md)).

Registering the source mints the same intake URL the dashboard shows above (the public key is embedded in its hostname):

```bash theme={"system"}
sazabi log-sources create convex --mode manual
```

The command prints the intake URL for the new source — copy the whole URL and point your sender at it using the configuration shown above. Run `sazabi log-sources get <log-source-id>` at any time to reprint the endpoint, or `sazabi log-sources list` to see every log source in the project.

## Verify signatures

The intake URL stays the credential. Convex signs every delivery of a webhook log stream, so you can also have Sazabi check each delivery's signature. A leaked intake URL alone can't then add events to your project. A delivery that fails the check is rejected with `401`, isn't stored and isn't billed.

> [!NOTE]
>
> Signature verification is in early access. Contact support to turn it on for your organization.

For a log stream you create yourself, open the log source in **Settings > Log sources**, switch on **Verify signatures** and paste the HMAC secret Convex shows when you configure the stream. Deliveries without a valid signature are rejected within about a minute of saving. The same setting is available as `signatureVerification` on the log streams API, in the CLI and as `signature_verification` on the Terraform `sazabi_log_stream` resource.

Once your organization has verification on, a new log source for Convex needs this secret when you create it. Log sources that already exist keep working unchanged and show **Not verified** until you add the secret.

| Sender | Signature header | Secret | Setup |
| - | - | - | - |
| Convex | `X-Webhook-Signature` | Convex creates it; you paste it into Sazabi | In Convex, open the deployment's Settings › Integrations, create the webhook log stream and paste its HMAC secret here. |

Rotation, rejection reasons and the Intake page figures work as described in [Webhook Events](https://docs.sazabi.com/catalogs/log-sources/send-to-an-endpoint/webhook-events.md#verify-signatures).

## Verify

Trigger some activity in the deployment — run a query, mutation, action, or scheduled function. Open the [Intake page](https://docs.sazabi.com/guides/instrument/intake.md) in the Sazabi dashboard and confirm records from the **Convex** source appear within a minute or two. Records include `console.log` output and per-function attribution.

## Troubleshooting

**No records after creating the log stream** — Confirm the intake URL is pasted correctly with no trailing whitespace. Trigger a Convex function to generate fresh log output; idle deployments may not produce log entries.

**Pro plan required** — If the webhook log stream option does not appear in [Settings > Integrations](https://app.sazabi.com/settings/integrations), your Convex account may be on the free plan. Upgrade to Pro to enable log streams.

**Only one deployment forwarding** — Log streams are configured per deployment. Confirm you created a log stream in each deployment (development, staging, production) separately.

**Database snapshots not available** — This source forwards Convex function logs only. Database snapshots and Convex platform metrics are not available through this source.

## Further reading

> [card] [Intake](https://docs.sazabi.com/guides/instrument/intake.md)
>
> See per-source ingestion volume and health.

> [card] [Convex (connect your account)](https://docs.sazabi.com/catalogs/log-sources/connect-your-account/convex.md)
>
> Let Sazabi configure Convex log streams automatically.

> [card] [Log sources](https://docs.sazabi.com/catalogs/log-sources.md)
>
> Browse the full log source catalog.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.