Logo

Matik

Authentication Type: OAuth Description: Generate data-driven presentations from Matik templates. List templates, discover their required inputs, create presentations, and download the results as PDFs.


Authentication

Matik's API uses OAuth 2.0. To connect Matik to Cotera you'll need three values:

  1. Ask your Matik account manager to enable the Matik REST API for your account.
  2. In Matik, click your avatar → Enterprise SettingsClients and create a new client. Save the Client ID and Client Secret (the secret is only shown once).
  3. Complete the OAuth authorization flow for that client to obtain a Refresh Token (see the Matik Quick Start Guide).

Provide the Client ID, Client Secret, and Refresh Token when connecting. Cotera exchanges the refresh token for a short-lived access token on every request.


Templates

Discover the templates available in your Matik account and the inputs each one requires.

List Templates

List the presentation templates available in Matik. Use this to find the template ID to generate presentations from.

Operation Type: Query (Read)

Parameters:

  • filters string (nullable): Optional JSON filter string, e.g. {"source_q":"123"}

Returns:

  • templates array of objects: The templates available to the connected user
    • id number: The template ID (used to generate presentations)
    • name string: The name of the template
    • sourceType string: The template type: "google", "presentation", or "email"
    • isLibrary boolean: Whether this is a library template
    • isSubTemplate boolean: Whether this is a sub template
    • thumbnailUrl string (nullable): Thumbnail of the first slide of the template
    • tags array of strings: Tags applied to the template
    • inputsOrder array of strings: The order of the template's inputs

Example Usage:

{
  "filters": null
}

Get Template Inputs

Get the inputs required to generate a presentation from a template. Call this before creating a presentation to learn which input names and values the template expects.

Operation Type: Query (Read)

Parameters:

  • templateId number (required): The ID of the Matik template to fetch inputs for

Returns:

  • inputs array of objects: The inputs required to generate a presentation from the template, including each input's name, type, and allowed values
  • queryCallback string (nullable): Optional callback URL to poll for nested inputs

Example Usage:

{
  "templateId": 1234
}

Presentations

Generate presentations from templates and retrieve the results.

Create Presentation

Generate a new presentation from a Matik template with the provided input values. Generation is asynchronous — use Get Presentation Status to poll until it completes.

Operation Type: Mutation (Write)

Parameters:

  • templateId number (required): The ID of the Matik template to generate the presentation from
  • name string (nullable): The name of the generated presentation
  • inputs array of objects (required): Input values for the template. Use Get Template Inputs to discover the required input names
    • name string (required): The input name
    • value string (required): The input value. JSON array values (e.g. ["a","b"]) are parsed as lists
  • includePdf boolean (nullable): Whether to also render a PDF of the presentation

Returns:

  • id number: The ID of the new presentation
  • status string: The initial generation status (e.g. "pending")

Example Usage:

{
  "templateId": 1234,
  "name": "Q3 Business Review - Acme Corp",
  "inputs": [
    { "name": "account_name", "value": "Acme Corp" },
    { "name": "quarter", "value": "Q3 2026" },
    { "name": "regions", "value": "[\"NA\",\"EMEA\"]" }
  ],
  "includePdf": true
}

Get Presentation Status

Check the generation status of a Matik presentation. Once generation completes, the response includes the presentation's download URL.

Operation Type: Query (Read)

Parameters:

  • presentationId number (required): The ID of the presentation to check (returned from Create Presentation)

Returns:

  • id number: The presentation ID
  • status string: The generation status (e.g. "pending", "completed")
  • name string (nullable): The presentation name (available when completed)
  • downloadUrl string (nullable): Download URL for the presentation (available when completed)

Example Usage:

{
  "presentationId": 5678
}

Get Presentation PDF

Get a download URL for the PDF version of a generated presentation.

Operation Type: Query (Read)

Parameters:

  • presentationId number (required): The ID of the presentation to get the PDF for

Returns:

  • downloadUrl string: Download URL for the PDF

Example Usage:

{
  "presentationId": 5678
}

Common Use Cases

Customer-Facing Decks:

  • Generate quarterly business reviews from CRM and product data
  • Create renewal and upsell decks personalized to each account
  • Build onboarding and kickoff presentations from templates

Workflow Automation:

  • Automatically generate a deck whenever a deal reaches a pipeline stage
  • Produce recurring reporting decks on a schedule
  • Let agents pick the right template, fill in inputs, and deliver the finished PDF

Data-Driven Content:

  • Keep presentation content in sync with live data sources connected to Matik
  • Generate one deck per account from a list of accounts
  • Export presentations as PDFs for email delivery or archiving