Skip to main content
This guide walks through creating a tenant, using tenant data in templates, and triggering a notification with tenant context.

Step 1: Create a Tenant

With the SuprSend MCP server configured in your AI assistant (Claude, Cursor, etc.), just pass a simple prompt to create tenant:
Create a tenant in staging workspace for my company with ID - `<company_id>`, pick name, logo, colors and social links from my website - `<website_url>`
The MCP server calls the upsert_suprsend_tenant tool under the hood to create the tenant.

Step 2: Customize tenant templates

Open any template in the template editor. Tenant variables follow the format $brand.<property> and are replaced at send time based on the tenant_id you pass. You can use the built-in Tenant block in email designer to automatically get the branded header, footer, and buttons for a tenant. For any other customization, pass tenant variable as $brand.<property> in the template.

Inserting tenant variables

Type { in email editor or {{ in other channels to see tenant variables in auto-suggestions. Here’s an example email template:
Email template
<h2>Hello from {{$brand.tenant_name}}!</h2>
<p>Your account is now active. Visit us at {{$brand.social_links.website}}.</p>
<p style="color: {{$brand.primary_color}};">We're glad to have you.</p>
When triggered with tenant_id="acme-corp", the variables resolve to Acme Corp’s actual values.

Show/Hide template content based on tenant properties

Use custom properties to conditionally show content for specific tenants. Set a property (e.g., pricing_type: free) on the tenant, then basis that, show upgrade banner in the template. In email template, you can use display condition to show/hide the content based on the property.
Inbox template
{{#compare $brand.properties.pricing_type '==' "free"}}
  🎉 You're on a free trial — [upgrade now]({{$brand.properties.upgrade_url}})
{{/compare}}

Step 3: Trigger a Workflow with tenant_id

Pass tenant_id when triggering a workflow. SuprSend applies the matching tenant’s branding and preferences automatically.
curl --request POST \
     --url https://hub.suprsend.com/trigger/ \
     --header 'Authorization: Bearer __api_key__' \
     --header 'content-type: application/json' \
     --data '{"workflow": "welcome_email", "recipients": [...], "tenant_id": "acme-corp"}'
SuprSend resolves all $tenant.* and $brand.* variables using the properties of acme-corp before sending.