---
name: bijection-inbound
description: "Evaluate and integrate the Inbound component with Bijection."
---

# Inbound

Inbound email synchronization

- Package: @bijectionhq/inbound
- Category: Messaging
- Status: Preview
- License: Apache-2.0
- Bijection source (repository access required): https://github.com/bijectionhq/inbound/tree/dfc3938cb367d3f804d2d59433addddf6f5e8ba4
- Upstream: https://github.com/hamzasaleem2/convex-inbound/tree/42854b72db0458b20ace1ef71e72e43f9e28e607
- Documentation: https://docs.bijection.com/components/using
- Directory: https://bijection.com/components/inbound

## Get the source

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

```sh
git clone https://github.com/bijectionhq/inbound.git
cd inbound
git checkout dfc3938cb367d3f804d2d59433addddf6f5e8ba4
```

## 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 @hamzasaleemorg/convex-inbound. Its installation commands and APIs refer to the upstream package. Evaluate compatibility with the Bijection source separately.


# convex-inbound

## Instructions

Use convex-inbound to drop-in convex component that adds production-ready email sending and receiving with automatic retries, threading, and rate limiting. This Convex component integrates directly with your backend.

### Installation

```bash
npm install @hamzasaleemorg/convex-inbound
```

### Capabilities

- Send emails with automatic retry logic and durability via Convex background workers
- Receive and thread inbound emails directly into your Convex database tables
- Eliminate rate limiting errors with built-in API throttling and idempotency protection
- Skip email infrastructure setup with one-line configuration and full TypeScript support

## Examples

### how to add email sending to Convex app

The convex-inbound component provides email sending through Convex mutations and actions with automatic queuing. It handles retries, rate limiting, and stores email status in your database without external email service integration complexity.

### Convex email webhook handling

This component automatically processes inbound email webhooks and stores them in your Convex database with proper message threading. It provides type-safe handlers for email events like delivery confirmations and replies.

### reliable email sending with retry logic

The component uses Convex Workpool for durable email sending with automatic retries on failures. It includes idempotency protection to prevent duplicate sends and built-in rate limiting to avoid API errors.

### email threading in Convex database

Inbound emails are automatically stored in your Convex tables with proper thread relationships. The component parses email headers and maintains conversation continuity for building email-based applications.

## 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 convex-inbound is not needed

## Troubleshooting

**Does convex-inbound work with existing Convex authentication?**

Yes, convex-inbound integrates seamlessly with Convex auth. The component respects your existing authentication rules and can associate emails with authenticated users through your Convex functions.

**How does the retry mechanism work for failed email sends?**

The convex-inbound component uses Convex background workers to queue email sends. If an API call fails, it automatically retries with exponential backoff. The component includes idempotency keys to prevent duplicate sends during retries.

**What email providers does this component support?**

The convex-inbound component is powered by inbound.new, which handles the underlying email infrastructure. You don't need to configure separate email providers as the service manages sending and receiving through a unified API.

**Can I customize email templates and sender addresses?**

Yes, convex-inbound allows you to specify custom sender addresses and email content through its TypeScript API. The component provides type-safe methods for setting recipients, subjects, HTML content, and attachments.

**How are inbound emails stored in my Convex database?**

The convex-inbound component automatically creates database entries for received emails with fields for sender, recipients, subject, body, and thread information. It maintains proper message threading and provides queries for retrieving conversation history.

## Resources

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