Two sections, one marketplace

💬 Message Templates

Ready-to-deploy WhatsApp message templates. Browse by category, preview before importing, then use in campaigns or chats.

🔀 Automation Flows

Expert-built workflow automations. Browse by industry, preview the flow steps, then deploy with one click.

Importing templates requires Marketplace:TemplateImport permission.
Importing workflows requires Marketplace:WorkflowImport permission.
Exploring (browse/search/preview) is open to any authenticated user.

Message Templates

MethodRoutePermissionDescription
POST /api/v1/whatsapptemplate/explore — (authenticated) Browse marketplace templates with filters & pagination
GET /api/v1/whatsapptemplate/preview/{id} — (authenticated) Preview a marketplace template before importing
POST /api/v1/whatsapptemplate/import/{id} Marketplace:TemplateImport Import a marketplace template into the firm's library
GET /api/v1/whatsapptemplate/{id}/usage WhatsappTemplate:View Check if a template is used in any workflows
GET /api/v1/whatsapptemplate/{id}/json — (authenticated) Get raw Meta API JSON payload for a template
POST /api/v1/whatsapptemplate/sync WhatsappTemplate:Edit Queue a Meta template sync (RabbitMQ)
POST

/api/v1/whatsapptemplate/explore

Explore the shared template marketplace. Returns templates that are marked as shared (available to all firms). Supports category filtering, keyword search, and sorting by most-used or newest.

JSON Request
{
  "pageIndex": 1,
  "pageSize": 12,
  "searchText": "invoice",
  "category": "Finance & Banking",
  "sortBy": "MostUsed",
  "language": "en_US"
}
JSON Response
{
  "isSuccess": true,
  "data": {
    "items": [
      {
        "id": "template-guid",
        "name": "invoice_reminder",
        "displayName": "Invoice Payment Reminder",
        "category": "Finance & Banking",
        "language": "en_US",
        "tags": ["Utility", "Finance"],
        "previewText": "Hi {{1}}, your invoice #{{2}} of ₹{{3}} is due on {{4}}.",
        "importCount": 84,
        "isAlreadyImported": false
      }
    ],
    "totalCount": 36,
    "pageIndex": 1,
    "pageSize": 12
  }
}

Explore Filter Options

FieldTypeDescription
pageIndexintPage number (1-based)
pageSizeintItems per page (default 12)
searchTextstring?Keyword search across name and preview text
categorystring?Filter by category (see categories below)
sortBystring?MostUsed · Newest · Alphabetical
languagestring?ISO language code e.g. en_US, hi
GET

/api/v1/whatsapptemplate/preview/{id}

Returns the full template structure including all components (header, body, footer, buttons) with sample variable values for rendering a preview.

JSON Response
{
  "isSuccess": true,
  "data": {
    "id": "template-guid",
    "name": "invoice_reminder",
    "components": [
      { "type": "HEADER", "format": "TEXT", "text": "Invoice Reminder 📄" },
      { "type": "BODY", "text": "Hi {{ContactFullName}}, your invoice #{{2}} of ₹{{3}} is due on {{4}}." },
      { "type": "FOOTER", "text": "Reply STOP to opt out" },
      { "type": "BUTTONS", "buttons": [
        { "type": "QUICK_REPLY", "text": "Pay Now" },
        { "type": "QUICK_REPLY", "text": "Remind Later" }
      ]}
    ]
  }
}
POST

/api/v1/whatsapptemplate/import/{id}

Copies the marketplace template into the current firm's template library. After import, the template is submitted to Meta for approval and appears in your WhatsApp Templates list.

No request body required. The template ID is passed in the URL path. Importing the same template twice will return a success response (idempotent).
Example
POST /api/v1/whatsapptemplate/import/3fa85f64-5717-4562-b3fc-2c963f66afa6
Authorization: Bearer <token>

Automation Flows (Workflows)

MethodRoutePermissionDescription
POST /api/v1/workflow/explore — (authenticated) Browse marketplace automation flows with filters
POST /api/v1/workflow/import/{id} Marketplace:WorkflowImport Import a marketplace workflow into the firm's library
POST

/api/v1/workflow/explore

Returns shared, expert-built automation workflows. The UI displays these under the Automation Flows tab in the Marketplace with industry category tabs.

JSON Request
{
  "pageIndex": 1,
  "pageSize": 12,
  "searchText": "booking",
  "category": "Hotel & Lodging",
  "sortBy": "MostUsed"
}
JSON Response
{
  "isSuccess": true,
  "data": {
    "items": [
      {
        "id": "workflow-guid",
        "name": "Hotel Booking Engagement Workflow",
        "description": "Confirms bookings and sends reminders to guests.",
        "category": "Hotel & Lodging",
        "nodeCount": 11,
        "actionSummary": ["Tag Added", "Send Template", "Tag Added"],
        "importCount": 24,
        "isAlreadyImported": false
      }
    ],
    "totalCount": 7,
    "pageIndex": 1,
    "pageSize": 12
  }
}
POST

/api/v1/workflow/import/{id}

Deep-copies the marketplace workflow (including all nodes, edges, and node configurations) into the current firm as a new Draft workflow ready for activation.

No request body required. The workflow ID is passed in the URL path. After import, go to the Workflows module to activate and configure.
Example
POST /api/v1/workflow/import/3fa85f64-5717-4562-b3fc-2c963f66afa6
Authorization: Bearer <token>

Marketplace Categories

These category values can be passed in the category filter field of both explore endpoints.

CategoryUsed In
Real EstateTemplates · Workflows
Finance & BankingTemplates · Workflows
EducationTemplates · Workflows
E-CommerceTemplates · Workflows
Medical & HealthTemplates · Workflows
Shopping & RetailTemplates · Workflows
TechnologyTemplates
Hotel & LodgingWorkflows
OtherTemplates

End-to-End Import Flow

UI: User opens Marketplace → selects "Message Templates" or "Automation Flows" tab │ ▼ POST /explore (with category / search / sort) │ Returns paginated marketplace items ▼ GET /preview/{id} ← User clicks "Preview" │ Returns full component structure for preview modal ▼ POST /import/{id} ← User clicks "Import" │ Copies asset to firm's library ▼ Template → submitted to Meta API → awaits APPROVED status Workflow → created as Draft → user activates in Flow designer