---
name: bijection-autosend
description: "Evaluate and integrate the Autosend component with Bijection."
---

# Autosend

Bijection component for AutoSend — transactional email queueing, retries, webhook verification, and lifecycle tracking for Bijection using AutoSend.

- Package: @bijectionhq/autosend
- Category: Messaging
- Status: Preview
- License: Apache-2.0
- Bijection source (repository access required): https://github.com/bijectionhq/autosend/tree/ed5ae710e484c869abfc9dff7496c19e415f1541
- Upstream: https://github.com/autosendhq/autosend-convex/tree/82389cd47d11f9e21b08b6735fd0525022ded366
- Documentation: https://docs.bijection.com/components/using
- Directory: https://bijection.com/components/autosend

## Get the source

Bijection repository access is required. Request access at https://bijection.com/contact.

```sh
git clone https://github.com/bijectionhq/autosend.git
cd autosend
git checkout ed5ae710e484c869abfc9dff7496c19e415f1541
```

## Before using this component

Read the package README at the recorded revision for setup, dependencies, and API examples. Upstream documentation describes the original package and may differ from the Bijection adaptation. This is a source candidate for evaluation. Catalog inclusion does not establish npm availability or runtime qualification. Check compatibility with your SDK and deployment before adoption. External providers run their own compute.

## Integration workflow

1. Read the source README and package manifest at the recorded revision.
2. Confirm the required SDK, dependency availability, and runtime compatibility.
3. Follow the component's documented setup and configuration. Never invent an npm install command from a catalog package name.
4. Keep credentials in the project's existing secret store.
5. Follow the project's execution rules for verification and report what was actually checked.

## Original upstream skill

The following guidance describes @autosend/convex. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


# AutoSend

## Instructions

Use AutoSend to send transactional emails from convex with built-in queueing, retries, webhook verification, and delivery tracking through autosend's api. This Convex component integrates directly with your backend.

### Installation

```bash
npm install @autosend/convex
```

### Capabilities

- Queue emails with automatic retry handling and configurable backoff for failed deliveries
- Track full email lifecycle from queued to delivered with webhook event persistence
- Send bulk emails with per-recipient template data and attachment support
- Verify webhook signatures and prevent duplicate deliveries with HMAC validation

## Examples

### how to send transactional emails from Convex mutations

The AutoSend component provides sendEmail() and sendBulk() functions that work directly in Convex mutations. Emails are automatically queued and processed with built-in retry logic for failed deliveries.

### Convex email component with delivery tracking

AutoSend tracks email status through the full lifecycle (queued, sending, retrying, sent, failed, canceled) and stores webhook events. Use status() for single emails or statusBatch() for multiple emails to check delivery status.

### how to handle email webhooks in Convex

The component includes handleCallback() for processing AutoSend webhooks with HMAC signature verification and duplicate prevention. Mount the webhook route in your HTTP router to automatically receive delivery events.

### send bulk emails with templates in Convex

Use sendBulk() with recipientData to send personalized emails to up to 100 recipients. The component interpolates placeholders in subject and content per recipient and supports AutoSend template IDs with dynamic data.

## When NOT to use

- When a simpler built-in solution exists for your specific use case
- If you are not using Convex as your backend
- When the functionality provided by AutoSend is not needed

## Troubleshooting

**Does AutoSend component handle email delivery failures automatically?**

Yes, the AutoSend component automatically retries failed emails with configurable backoff for retryable failures like network issues or 5xx responses. You can track retry attempts through the status API and webhook events.

**Can I send emails with attachments using this component?**

The AutoSend component supports both inline base64 content attachments and URL-referenced file attachments. You can specify filename, content type, and either base64 content or a file URL for each attachment.

**How do I prevent duplicate emails with AutoSend component?**

AutoSend component provides deterministic idempotency where duplicate sendEmail requests resolve to the same emailId. This prevents accidental duplicate sends even if your mutation runs multiple times.

**What email tracking events does AutoSend component store?**

The AutoSend component stores all webhook events including delivery confirmations, bounces, opens, and clicks. Use listEvents() to query webhook events per email with configurable limits up to 200 events.

**Can I test emails without sending to real recipients?**

Yes, AutoSend component supports sandbox mode with testMode and sandboxTo configuration. This rewrites all recipient addresses to your test emails while preserving the original email structure for testing.

## Resources

- [npm package](https://www.npmjs.com/package/%40autosend%2Fconvex)
- [GitHub repository](https://github.com/autosendhq/autosend-convex)
- [Live demo](https://convex-autosend.vercel.app/)
- [Convex Components Directory](https://www.convex.dev/components/autosend/convex)
- [Convex documentation](https://docs.convex.dev)