Articles on: Integrations

Webhook Integration

Webhook Integration


Receive notifications when users interact with the embedded editor.


Embedded Editor Webhooks


Configure in your Embed Settings:


  1. Enter your Webhook URL
  2. Events are sent when users create, save, or download


Webhook Actions


Create Action

Triggered when a user creates a new template or clones an existing one:


{
"action": "create",
"templateId": "template-uuid",
"metadata": {
"userId": "user-123",
"customField": "value"
}
}


Save Action

Triggered when a user saves a template:


{
"action": "save",
"templateId": "template-uuid",
"metadata": {
"userId": "user-123",
"customField": "value"
}
}


Download Action

Triggered when a user downloads/renders a template:


{
"action": "download",
"templateId": "template-uuid",
"renderId": "render-uuid",
"renderUrl": "https://templated-assets.s3.amazonaws.com/...",
"metadata": {
"userId": "user-123",
"customField": "value"
}
}


Setting Up Your Endpoint


// Express.js example
app.post('/webhook', (req, res) => {
const { action, templateId, renderId, renderUrl, metadata } = req.body;

console.log(`Received ${action} for template ${templateId}`);

if (action === 'download') {
console.log(`Render URL: ${renderUrl}`);
}

// Process the webhook...

res.status(200).send('OK');
});


Passing Metadata


Pass custom data to your webhooks using URL parameters:


https://app.templated.io/editor/TEMPLATE_ID?embed=CONFIG_ID&metadata=eyJ1c2VySWQiOiIxMjMifQ==


The metadata is Base64 encoded JSON that gets included in all webhook payloads.


Security


  • Verify webhooks originate from Templated
  • Use HTTPS endpoints
  • Respond with 200 OK quickly
  • Process asynchronously if needed


Documentation: https://templated.io/docs/embed/webhooks/

Updated on: 11/01/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!