> ## Documentation Index
> Fetch the complete documentation index at: https://docs.masivo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# In-app templates

> Learn how to create and manage in-app message templates in Masivo

## What you'll learn

By the end of this guide, you'll know how to design in-app message templates, set delivery priority, and prepare them for audience schedules or journey actions.

## Step 1: Access in-app templates

Navigate to **Marketing Automation → In-app templates** in the dashboard.

Click **New in-app template** to open the editor.

<Frame caption="In-app templates list">
  <img src="https://mintcdn.com/trd/jUtW96NzARK4xM7O/images/in-app/inapp-templates-list.webp?fit=max&auto=format&n=jUtW96NzARK4xM7O&q=85&s=0c01b1ca5f4ea8cfcdaeb1916d799d51" width="2912" height="1468" data-path="images/in-app/inapp-templates-list.webp" />
</Frame>

## Step 2: Choose a message type

Select the surface that best fits your campaign:

* **Modal** — centered dialog for promotions or announcements
* **Fullscreen** — high-impact takeovers
* **Slide up** — bottom sheet for secondary actions
* **Banner** — lightweight top or bottom alerts

<Frame caption="Message types">
  <img src="https://mintcdn.com/trd/jUtW96NzARK4xM7O/images/in-app/inapp-message-types.webp?fit=max&auto=format&n=jUtW96NzARK4xM7O&q=85&s=e2ddaa026e369f0767b5ee4bcfb70cfd" width="596" height="494" data-path="images/in-app/inapp-message-types.webp" />
</Frame>

## Step 3: Build the template content

<Steps>
  <Step title="Set base details">
    Add a descriptive **name**, optional **description**, and **brand** when you
    manage multiple brands.
  </Step>

  <Step title="Write the message">
    Enter a **title** and **body**. Add an optional **image URL** for a hero
    visual and configure **buttons** (primary action, dismiss, deeplink, or
    external URL).
  </Step>

  <Step title="Set priority">
    Under **Delivery**, set **priority** when multiple messages are eligible for
    the same customer. Higher values win.
  </Step>

  <Step title="Assign teams (optional)">
    Use the team picker to restrict who sees this template in analytics. Leave
    empty for account-wide visibility.
  </Step>
</Steps>

<Frame caption="Template editor">
  <img src="https://mintcdn.com/trd/jUtW96NzARK4xM7O/images/in-app/inapp-template-editor.webp?fit=max&auto=format&n=jUtW96NzARK4xM7O&q=85&s=bd50ad5961a8b8b60c15943d861d8e14" width="2906" height="1488" data-path="images/in-app/inapp-template-editor.webp" />
</Frame>

Use the iOS and Android previews to validate layout before saving.

## Step 4: Test and schedule

**Send test** delivers the template to a test audience so you can verify rendering on real devices.

**Schedule** materializes messages for a selected audience at a chosen time. Large audiences are subject to the in-app send limit shown in the scheduler.

## Step 5: Use in journeys

Add an **In-app** action node in a journey and select your template. Connect the node to an event edge so messages materialize when customers hit that step.

For real-time delivery, pair journey in-app nodes with qualifying customer events. Your app should call `GET /inapp/capabilities` to learn which `eventTypes` trigger a refresh.

## Analytics

Open **Analytics → In-app** to review delivery, impressions, clicks, and dismissals.

<Frame caption="In-app analytics">
  <img src="https://mintcdn.com/trd/jUtW96NzARK4xM7O/images/in-app/inapp-analytics.webp?fit=max&auto=format&n=jUtW96NzARK4xM7O&q=85&s=eb0a08f1d90fd2f4874748914a012357" width="2896" height="1348" data-path="images/in-app/inapp-analytics.webp" />
</Frame>

## Next steps

* [Integrate in-app messages](/guides/in-app-messages) — connect your mobile app
* [Integrate in-app messages](/api-reference/guides/integrate-in-app-messages) — API examples
* [In-app messages concept](/concepts/in-app-messages) — lifecycle and configuration reference
