
Research
/Security News
10 npm Typosquatted Packages Deploy Multi-Stage Credential Harvester
Socket researchers found 10 typosquatted npm packages that auto-run on install, show fake CAPTCHAs, fingerprint by IP, and deploy a credential stealer.
@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
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.

Research
/Security News
Socket researchers found 10 typosquatted npm packages that auto-run on install, show fake CAPTCHAs, fingerprint by IP, and deploy a credential stealer.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.