
Security News
Vite+ Joins the Push to Consolidate JavaScript Tooling
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
@weweb/backend-resend
Advanced tools
A WeWeb backend integration for Resend's email API, providing robust email sending capabilities within WeWeb backend workflows. This integration uses the official resend
package for reliable email delivery with features like HTML templates, attachments, and tracking.
This package is designed to work with the WeWeb Supabase Backend Builder and Deno.
import { serve } from '@weweb/backend-core';
import { createResendIntegration } from '@weweb/backend-resend';
import type { BackendConfig } from '@weweb/backend-core';
import { serve } from '@weweb/backend-core';
import Resend from '@weweb/backend-resend';
// Define your backend configuration
const config: BackendConfig = {
workflows: [
// Your workflows here
],
integrations: [
// Use the default Resend integration
Resend,
// Or add other integrations
],
production: false,
};
// Start the server
const server = serve(config);
You can customize the Resend client by using the createResendIntegration
function:
import { createResendIntegration } from '@weweb/backend-resend';
// Create a custom Resend integration
const customResend = createResendIntegration({
apiKey: 're_123456789', // Override environment variable
});
If not specified, the integration will use the following environment variable:
RESEND_API_KEY
- Your Resend API KeySend transactional emails to one or multiple recipients.
// Example workflow action
const config = {
type: 'action',
id: 'send_welcome_email',
actionId: 'resend.send_email',
inputMapping: [
{
from: 'onboarding@yourdomain.com',
to: '$body.email',
subject: 'Welcome to Our Platform',
html: '<h1>Welcome!</h1><p>Thank you for signing up.</p>',
text: 'Welcome! Thank you for signing up.'
}
]
};
Retrieve details about a sent email.
// Example workflow action
const config = {
type: 'action',
id: 'get_email_details',
actionId: 'resend.get_email',
inputMapping: [
{
id: '$body.emailId'
}
]
};
Get a list of all sent emails with pagination support.
// Example workflow action
const config = {
type: 'action',
id: 'list_recent_emails',
actionId: 'resend.list_emails',
inputMapping: [
{
limit: 20
}
]
};
Add a new domain to your Resend account.
// Example workflow action
const config = {
type: 'action',
id: 'add_new_domain',
actionId: 'resend.create_domain',
inputMapping: [
{
name: 'marketing.yourdomain.com',
region: 'us-east-1'
}
]
};
Get a list of all domains in your Resend account.
// Example workflow action
const config = {
type: 'action',
id: 'get_all_domains',
actionId: 'resend.list_domains',
inputMapping: [{}]
};
import type { BackendConfig } from '@weweb/backend-core';
import { serve } from '@weweb/backend-core';
import Resend from '@weweb/backend-resend';
const config: BackendConfig = {
workflows: [
{
path: '/send-email',
methods: ['POST'],
security: {
accessRule: 'public',
},
inputsValidation: {
body: {
type: 'object',
properties: {
to: { type: 'string' },
subject: { type: 'string' },
message: { type: 'string' },
template: { type: 'string', enum: ['welcome', 'password_reset', 'invoice'] }
},
required: ['to', 'subject', 'message', 'template'],
},
},
workflow: [
{
type: 'action',
id: 'send_email',
actionId: 'resend.send_email',
inputMapping: [
{
from: 'support@yourdomain.com',
to: '$body.to',
subject: '$body.subject',
html: `
{{#if (eq $body.template 'welcome')}}
<h1>Welcome to Our Service</h1>
{{else if (eq $body.template 'password_reset')}}
<h1>Password Reset Request</h1>
{{else if (eq $body.template 'invoice')}}
<h1>Your Invoice</h1>
{{/if}}
<div>{{$body.message}}</div>
<footer>© Your Company 2025</footer>
`,
text: '$body.message'
},
],
},
],
},
],
integrations: [Resend],
production: false,
};
console.log('Starting email service on http://localhost:8000/send-email');
serve(config);
This integration uses the official Resend client and requires a Resend API key to function:
You can get your API key from the Resend Dashboard.
RESEND_API_KEY
environment variable or provide it in the configurationResend offers features like:
For full details, see Resend's documentation.
FAQs
Resend integration for WeWeb backend services
The npm package @weweb/backend-resend receives a total of 6 weekly downloads. As such, @weweb/backend-resend popularity was classified as not popular.
We found that @weweb/backend-resend demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Evan You announces Vite+, a commercial, Rust-powered toolchain built on the Vite ecosystem to unify JavaScript development and fund open source.
Security News
Ruby Central’s incident report on the RubyGems.org access dispute sparks backlash from former maintainers and renewed debate over project governance.
Research
/Security News
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.