Skip to content

MM Blocks Documentation#9013

Open
larkox wants to merge 6 commits into
masterfrom
interactiveMessages
Open

MM Blocks Documentation#9013
larkox wants to merge 6 commits into
masterfrom
interactiveMessages

Conversation

@larkox

@larkox larkox commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA ed6cdfb

@larkox larkox marked this pull request as ready for review June 6, 2026 12:37
Copilot AI review requested due to automatic review settings June 6, 2026 12:37
@coderabbitai

coderabbitai Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9fc6b7e6-ca62-4431-9489-1b6d330629e1

📥 Commits

Reviewing files that changed from the base of the PR and between 0d690d9 and 06075f3.

📒 Files selected for processing (1)
  • source/integrations-guide/slash-commands.rst
🚧 Files skipped from review as they are similar to previous changes (1)
  • source/integrations-guide/slash-commands.rst

📝 Walkthrough

Walkthrough

Adds comprehensive MM Blocks documentation: a core reference page, integration-guide updates recommending MM Blocks and clarifying webhook/command parameters, end-user guidance on interacting with MM Blocks, and a troubleshooting page plus help-index and mobile troubleshooting pointers.

Changes

MM Blocks documentation suite

Layer / File(s) Summary
MM Blocks core reference documentation
source/integrations-guide/mm-blocks.rst
Comprehensive new reference defining MM Blocks structure, post properties (props.mm_blocks, props.mm_blocks_actions), supported block types, interactive action routing and API endpoints, examples, legacy payload handling, migration checklist, and end-user behaviour.
Integration developer guidance
source/integrations-guide/incoming-webhooks.rst, source/integrations-guide/outgoing-webhooks.rst, source/integrations-guide/faq.rst, source/integrations-guide/slash-commands.rst, source/integrations-guide/integrations-guide-index.rst, source/integrations-guide/webhook-integrations.rst
Updated parameter tables to clarify when text, attachments, and props.mm_blocks are required; incoming/outgoing webhook guidance now recommends props.mm_blocks; FAQ adds “What are MM Blocks?”; slash-command example and integration index reference MM Blocks.
End-user interaction and feature availability
source/end-user-guide/collaborate/extend-mattermost-with-integrations.rst, source/end-user-guide/messaging-collaboration.rst, source/end-user-guide/access/client-availability.rst
Adds "Interact with integration messages" guidance describing how MM Blocks render and how to use buttons, menus, collapsible and scrollable content; updates client availability table to mark MM Blocks support as conditional with a feature-flag footnote.
Troubleshooting guides and help resources
source/get-help/mm-blocks-troubleshooting.rst, source/get-help/get-help-index.rst, source/deployment-guide/mobile/mobile-troubleshooting.rst
New troubleshooting page covers missing MM Blocks content, unresponsive buttons/menus, mobile scrollable/expand issues, collapsible/image problems, legacy attachment translation, and escalation links; help index and mobile troubleshooting now reference MM Blocks issues.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'MM Blocks Documentation' accurately describes the main change: comprehensive documentation for the MM Blocks feature across multiple documentation files and sections.
Description check ✅ Passed The description is directly related to the changeset, providing context about the MM Blocks feature documentation by referencing technical specs, related PRs, and the associated ticket.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch interactiveMessages

Warning

Review ran into problems

🔥 Problems

Stopped waiting for pipeline failures after 30000ms. One of your pipelines takes longer than our 30000ms fetch window to run, so review may not consider pipeline-failure results for inline comments if any failures occurred after the fetch window. Increase the timeout if you want to wait longer or run a @coderabbit review after the pipeline has finished.


Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@source/end-user-guide/access/client-availability.rst`:
- Around line 150-151: The MM Blocks support row currently appears
unconditional; update the table entry for "MM Blocks" (the row shown in the
diff) to indicate that support is conditional on the feature flag by adding
wording like "Conditional (requires MmBlocksEnabled)" or equivalent, and/or add
a footnote referencing the MmBlocksEnabled feature flag so admins know the
feature can be disabled; ensure the table cell replaces the plain checkmark with
this conditional text and add a short footnote explaining MmBlocksEnabled.

In `@source/get-help/mm-blocks-troubleshooting.rst`:
- Line 30: Change the vague "Verify network connectivity." sentence so it
explicitly states that Mattermost server nodes must be able to make outbound
HTTPS (TCP 443) connections to the integration action endpoint(s) configured by
the post author and that this outbound access is required (not inbound); update
the sentence matching "Verify network connectivity." to mention direction
(outbound), protocol (HTTPS/TCP 443), source (Mattermost server nodes),
destination (integration action endpoint URL), and that this access is required
and should be limited to those endpoints only.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e83f574b-6e12-479c-a7a5-372b3764b04d

📥 Commits

Reviewing files that changed from the base of the PR and between 60081c0 and ed6cdfb.

📒 Files selected for processing (13)
  • source/deployment-guide/mobile/mobile-troubleshooting.rst
  • source/end-user-guide/access/client-availability.rst
  • source/end-user-guide/collaborate/extend-mattermost-with-integrations.rst
  • source/end-user-guide/messaging-collaboration.rst
  • source/get-help/get-help-index.rst
  • source/get-help/mm-blocks-troubleshooting.rst
  • source/integrations-guide/faq.rst
  • source/integrations-guide/incoming-webhooks.rst
  • source/integrations-guide/integrations-guide-index.rst
  • source/integrations-guide/mm-blocks.rst
  • source/integrations-guide/outgoing-webhooks.rst
  • source/integrations-guide/slash-commands.rst
  • source/integrations-guide/webhook-integrations.rst

Comment thread source/end-user-guide/access/client-availability.rst Outdated
Comment thread source/get-help/mm-blocks-troubleshooting.rst Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds end-to-end documentation coverage for the new MM Blocks interactive post format, and updates existing webhook/slash command docs plus end-user/help content to point readers to MM Blocks as the preferred approach over legacy message attachments.

Changes:

  • Adds a new developer reference page for MM Blocks payload structure, supported block types, actions, APIs, and migration from attachments.
  • Updates incoming/outgoing webhook and slash command docs to recommend MM Blocks and clarify payload requirements.
  • Adds end-user guidance and troubleshooting content (including mobile) for interacting with rich integration messages.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
source/integrations-guide/webhook-integrations.rst Adds MM Blocks to the Webhooks section nav and positions it as the recommended interactive format.
source/integrations-guide/slash-commands.rst Updates a slash command use case to reference MM Blocks for interactive results.
source/integrations-guide/outgoing-webhooks.rst Documents MM Blocks support in outgoing webhook responses and updates parameter guidance.
source/integrations-guide/mm-blocks.rst New dedicated reference page describing MM Blocks format, actions, API endpoint, and migration guidance.
source/integrations-guide/integrations-guide-index.rst Highlights MM Blocks as the preferred interactive format when discussing Slack compatibility.
source/integrations-guide/incoming-webhooks.rst Updates incoming webhook parameters and “Do More” section to recommend MM Blocks.
source/integrations-guide/faq.rst Adds a new FAQ entry explaining what MM Blocks are.
source/get-help/mm-blocks-troubleshooting.rst New troubleshooting page for MM Blocks rendering/action issues (with mobile emphasis).
source/get-help/get-help-index.rst Adds the MM Blocks troubleshooting page to the Help section and links it in the Help Center list.
source/end-user-guide/messaging-collaboration.rst Updates the end-user navigation blurb to mention interacting with rich integration messages.
source/end-user-guide/collaborate/extend-mattermost-with-integrations.rst Adds end-user instructions for interacting with MM Blocks (buttons, menus, collapsible/scrollable content).
source/end-user-guide/access/client-availability.rst Adds MM Blocks to the client availability matrix under Integrations.
source/deployment-guide/mobile/mobile-troubleshooting.rst Adds a mobile troubleshooting pointer for MM Blocks integration posts.

Comment thread source/integrations-guide/outgoing-webhooks.rst
Comment thread source/integrations-guide/outgoing-webhooks.rst Outdated
Comment thread source/integrations-guide/incoming-webhooks.rst
Comment thread source/integrations-guide/slash-commands.rst Outdated
Comment thread source/integrations-guide/mm-blocks.rst
Comment thread source/integrations-guide/mm-blocks.rst Outdated
Comment thread source/integrations-guide/mm-blocks.rst
Comment thread source/integrations-guide/mm-blocks.rst Outdated
Comment thread source/integrations-guide/mm-blocks.rst Outdated
Comment thread source/integrations-guide/incoming-webhooks.rst
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 0dc201a

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 5 comments.

Comment thread source/deployment-guide/mobile/mobile-troubleshooting.rst Outdated
Comment thread source/integrations-guide/mm-blocks.rst Outdated
Comment thread source/get-help/mm-blocks-troubleshooting.rst Outdated
Comment thread source/end-user-guide/access/client-availability.rst Outdated
Comment thread source/integrations-guide/mm-blocks.rst Outdated
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA e125609

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 5154279

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Comment thread source/deployment-guide/mobile/mobile-troubleshooting.rst Outdated
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 0d690d9

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Comment thread source/integrations-guide/slash-commands.rst Outdated
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 06075f3

@larkox larkox requested a review from svelle June 8, 2026 13:24
@larkox larkox requested a review from hanzei June 8, 2026 13:24
@larkox larkox added the 1: Dev Review Requires review by a core commiter label Jun 8, 2026

@hanzei hanzei left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I free like this PR is over doing it. Do we really need to document the technical details on this page? I wonder if we should place them in the dev docs instead.

more details in the comments below

Comment on lines +146 to -150
If push notifications are not being delivered on the mobile device, confirm that you're logged in to the **Native** mobile app session through **Profile > Security > View and Log Out of Active Sessions**. Otherwise, the `DeviceId` won't get registered in the `Sessions` table and notifications won't be delivered.

.. important::

To conserve disk space, once your push notification issue is resolved, go to **System Console > Environment > Logging > File Log Level**, then select **ERROR** to switch your logging detail level from **DEBUG** to **Errors Only**.

If push notifications are not being delivered on the mobile device, confirm that you're logged in to the **Native** mobile app session through **Profile > Security > View and Log Out of Active Sessions**. Otherwise, the `DeviceId` won't get registered in the `Sessions` table and notifications won't be delivered. No newline at end of file

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated change?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should talk about block in general here. It's a integration dev feature, not an admin thing. What values does this documentation provide?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love this page 💯


:doc:`MM Blocks </integrations-guide/mm-blocks>` are Mattermost's structured format for rich, interactive posts. Integrations set ``props.mm_blocks`` (content and controls) and ``props.mm_blocks_actions`` (integration URLs and navigation targets) on a post.

MM Blocks are the recommended way to build interactive messages with buttons, menus, images, and layouts. Legacy `message attachments <https://developers.mattermost.com/integrate/reference/message-attachments/>`_ and other formats (Slack Block Kit ``blocks``, Adaptive Cards ``cards``) are still accepted and translated into MM Blocks at render time.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: remove the technical details for clarity

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we move this whole pag over to the dev docs? Are there other places where we already document the technical details on how integrations work?

**Knowledge retrieval**

A command like ``/docs search authentication`` queries your documentation system and returns a list of relevant articles as interactive message attachments with links. No newline at end of file
A command like ``/docs search authentication`` queries your documentation system and returns a list of relevant articles rendered using :doc:`MM Blocks </integrations-guide/mm-blocks>` (recommended) or legacy `message attachments <https://developers.mattermost.com/integrate/reference/message-attachments/>`_ with links. No newline at end of file

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's just remove message attachments


Incoming Webhooks </integrations-guide/incoming-webhooks>
Outgoing Webhooks </integrations-guide/outgoing-webhooks>
MM Blocks </integrations-guide/mm-blocks>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MM Blocks are for incoming webhooks only, right? if so, let's group them with incoming webhooks.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now, it will be for any integration that can create messages. That is...

  • Incoming webhooks
  • Plugins
  • Personal Access Tokens

In the future, I would love to use this in other contexts outside of posts (e.g. building the RHS, building modals, etc...). But that is still an idea.

@svelle

svelle commented Jun 10, 2026

Copy link
Copy Markdown
Member

I agree with @hanzei I think this should be in the dev docs along with/similar to the existing message attachment docs.

We can leave a note or redirect in the regular docs for better visibility.

Also agree that this: https://github.com/mattermost/docs/pull/9013/files/06075f3009f5f9a0fcce70bd976637e99c6da6a4#diff-023263fae145e89db7c74e0d9e3384781191a84c0bd578986fe269e4b65ef1a6

Seems a bit excessive and just reads like an LLM summary of what was implemented.

Imo it would make more sense to have a shorter version à la "Mattermost integrations can extend messages using the new blocks system, which includes things like x y and z. You can learn more about inegrating with blocks in the developer docs here."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1: Dev Review Requires review by a core commiter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants