Require users to provide a message before publishing their design.

When a user publishes a design via a publish extension, the extension can require them to provide a message. Canva then includes this message in the upload request.

This tutorial explains how to require users to provide a message when publishing a design.

Step 1: Enable the message field

By default, Canva doesn't prompt users to provide a message. You must enable the feature.

To enable the message field:

  1. Navigate to an app via the Developer Portal.

  2. From the Extensions page, expand the Publish panel.

  3. Enable Require a message.

  4. (Optional) Customize the maximum length of the message via the Max message length field.

Step 2: Handle requests with messages

When a user publishes a design, Canva sends a POST request to the following endpoint:


You can access the user's message in the body of the request, via the message property:'/publish/resources/upload', async (request, response) => {


  • You can't customize the placeholder text of the message field.

  • If the message field is enabled, it must be required. It can't be enabled and optional.


const express = require('express');
const app = express();
app.use(express.static('public'));'/publish/resources/upload', async (request, response) => {
// Do something with the message
// Respond to the request
type: 'SUCCESS',
app.listen(process.env.PORT || 3000);