Skip to content

Conversation Screen

Current state: this native screen is part of Automation. It is entitlement-gated, uses NotionApps runtime state instead of ordinary Notion data controls, and should be tested with realistic workflow or messaging activity before a maker relies on it in production.

The Conversation screen is a workflow-aware message thread for comments, replies, and support exchanges tied to a record, route, or conversation.

Think of this screen as A chat surface backed by Messaging channels, topics, and correlation — not Notion page comments.

Builder view of this screen with the configuration panel open

This guide is for makers configuring a Conversation screen in the app builder. It lists every builder option available on the screen and explains how to use each one.

Use this guide when:

  • Users need to discuss a request or work item in-app.
  • Approvers need clarification before deciding.
  • Support needs a durable thread tied to a workflow or record.
  • Users need to discuss a request or work item in-app.
  • Approvers need clarification before deciding.
  • Support needs a durable thread tied to a workflow or record.
  • Durable announcements only — use Notification Center.
  • Recording an approve/reject outcome — use Decision.
  • Ordinary Notion comments on database pages.
  • Message thread for the bound conversation/correlation.
  • Send reply composer when the reply action is enabled.
  • Context from the linked workflow or record when available.
Default Value
Default listen scope Conversation or message thread
Require claim before action Off
Default preview persona / state Operator / Conversation active
Empty title No messages yet
Empty description Messages appear when a workflow, user, or linked app starts a conversation.
Requirement Why it matters
Automation screen entitlement Conversation appears in the Automation / Operational group.
Messaging, optional Workflow Primary foundation for this screen’s runtime state.
Private app + Users database (recommended) Role/tenant visibility and audience policy need user fields.

The sections below follow the builder order. Each option is explained in prose so makers can tell how the conversation is bound, who can participate, and how reply behavior should feel in the live app.

This section gives the messaging surface its identity. Conversation screens work best when the title tells users what thread they are joining and the description tells them why that thread exists.

What it does: Sets the native behavior to Conversation, which renders a runtime-backed thread instead of a general list or data screen.
How to use it: Keep the screen type as Conversation. If you need durable notices, use Notification Center instead; if you need structured approvals, use Decision.
Why / recommended default: Keeping the messaging job focused helps the thread stay understandable. Makers often get into trouble when they try to combine chat, approvals, and notifications in one place.

What it does: Places the screen in the native Automation or Operational grouping.
How to use it: Keep the default grouping and use your app navigation to position the screen near related review or support flows.
Why / recommended default: Clear organization helps makers maintain message-driven surfaces over time.

What it does: Sets the end-user title shown for the thread.
How to use it: Use a label like Case conversation, Approval discussion, or Support thread so users know the purpose immediately.
Why / recommended default: A clear title prevents users from mistaking this for general app chat or ordinary Notion comments.

What it does: Adds helper text beneath the title.
How to use it: Explain who should reply here and what kind of updates belong in the thread.
Why / recommended default: Good description text keeps the conversation focused and reduces off-topic replies.

Annotated builder screenshot: Automation source

This section is the most important part of the screen because it decides which thread users are actually seeing. Conversation screens are very sensitive to source mismatches, especially around channel, topic, and correlation.

What it does: Chooses the top-level runtime source for the thread.
How to use it: For most Conversation screens, start with Conversation or message thread. Use Specific workflow only when the thread is tightly coupled to one workflow, and use Entire app only for broad internal support or admin use cases.
Why / recommended default: The recommended default for this screen is Conversation or message thread because it matches how users think about a durable thread. A common mistake is choosing a broader scope and then expecting a single clean thread.

What it does: Binds the conversation to one screen or form when that scope is selected.
How to use it: Choose the exact intake surface that starts the message flow if the thread should always originate there.
Why / recommended default: This is useful when each form submission should own its own discussion thread. Forgetting to update the binding after replacing the form is a common cause of empty conversations.

What it does: Filters the thread to one workflow when Specific workflow is selected.
How to use it: Pick the published workflow that creates or participates in the conversation.
Why / recommended default: Workflow scope is useful when the thread is just one part of a larger process, but it is still broader than a direct conversation binding.

What it does: Filters messages to a particular channel.
How to use it: Choose the channel used by the messaging route that should feed this thread. Use the exact channel name your runtime emits.
Why / recommended default: Channel is one of the first things to check when a thread looks empty. A near-match is still a mismatch.

What it does: Narrows the selected channel to a specific topic.
How to use it: Use topic values consistently, especially in environments where the same channel handles several message types.
Why / recommended default: Topic filtering is excellent for keeping one thread type clean, but it is also a common place for subtle configuration drift.

What it does: Binds the screen to a specific conversation thread or correlation key.
How to use it: Use correlation when replies must stay attached to one case, request, or approval cycle. Leave it broader only if the screen is meant to show a wider inbox-like view.
Why / recommended default: This is usually the key setting that makes the screen feel like a real thread instead of a stream of unrelated messages.

What it does: Binds the conversation to a linked external NotionApps app when the thread crosses app boundaries.
How to use it: Choose a linked app only when messages genuinely travel between apps.
Why / recommended default: Most conversation threads stay inside one app. Linked-app scope adds complexity and should be used only when the architecture needs it.

Annotated builder screenshot: App audience and notification prefs

These app-level controls still matter for messaging because a conversation may be tenant-specific and may coexist with notification preference policy elsewhere in the app.

What it does: Controls whether conversation visibility is isolated by tenant relationship.
How to use it: Use Relation when clients or departments should only see their own threads. Use Off only for simple single-tenant or fully internal apps.
Why / recommended default: Tenant-aware messaging is usually the safer default. A thread that crosses customer boundaries is a serious privacy problem.

What it does: Selects the Users-sheet relation that defines tenant membership.
How to use it: Choose the same client, company, or workspace field used elsewhere in the app.
Why / recommended default: Consistency keeps access behavior predictable across screens.

What it does: Tells the platform which field stores a user’s role if it is not the default Role.
How to use it: Set it only when your user model uses a different property name.
Why / recommended default: Correct role-field mapping is essential if support, approver, or requester audiences should see different threads.

What it does: Maps message-related categories to preference fields so users can control what notices or follow-up signals they receive.
How to use it: Keep categories limited to real message types you plan to send around the conversation flow.
Why / recommended default: Cleaner category design makes it easier to explain why someone received a thread-related alert.

What it does: Adds another category row.
How to use it: Add only categories with a real sender and a real user preference field behind them.
Why / recommended default: Unused categories create policy clutter without helping the conversation experience.

What it does: Saves tenant and category policy at the app level.
How to use it: Save before testing with another persona or tenant.
Why / recommended default: Unsaved policy is a very common reason one user can see a thread while another cannot.

This section is a quick health check after cloning or repairing an app.

What it does: Reports whether the screen setup is provisioned, needs review, or has no setup report.
How to use it: Treat Needs review as a sign to re-check the conversation binding, especially channel, topic, and correlation.
Why / recommended default: Messaging routes are easy to remap incorrectly in templates, so this hint can save time.

This read-only panel helps you discover nearby workflows, screens, and channels.

What it does: Shows discovery counts and related runtime objects connected to the screen.
How to use it: Use it to locate the originating form, related Decision screen, or follow-up Workflow Status page before creating new duplicates.
Why / recommended default: Seeing the existing context helps makers keep thread-based experiences cohesive.

Annotated builder screenshot: Visibility and access

This section controls who can open the conversation at all. It should mirror the real participants in the workflow or support process.

What it does: Applies condition-based screen visibility.
How to use it: Use role, tenant, team, or case-ownership conditions so only relevant participants can open the thread.
Why / recommended default: Messaging is often more sensitive than it looks. Broad access creates unnecessary exposure.

What it does: Adds a direct role allow list.
How to use it: Use simple roles like Requester, Support, Approver, Admin when that matches the process.
Why / recommended default: A short role list is usually easier to maintain than a patchwork of per-user exceptions.

What it does: Allows named people by email or user reference.
How to use it: Use sparingly for pilots, executive participants, or named escalation owners.
Why / recommended default: Per-user access is useful for edge cases, but it should not become the default access model.

Annotated builder screenshot: Display and action policy

These settings shape how much thread context is visible and whether the screen behaves like a simple chat surface or a more audited workflow conversation.

What it does: Refines the live thread title.
How to use it: Choose wording that matches the business context of the thread rather than technical channel names.
Why / recommended default: Users should never need to understand backend route labels to know where they are.

What it does: Sets the helper copy beneath the title.
How to use it: Tell users what kind of message belongs in the thread and whether replies should move the process forward.
Why / recommended default: Clear description text reduces noise and off-thread coordination.

What it does: Decides how much linked runtime context or payload detail is shown next to the conversation.
How to use it: Use Redacted preview for most internal threads, Metadata only for broader or customer-facing audiences, and Full payload only when trusted operators need raw detail.
Why / recommended default: Redacted preview is the common default because it gives context without overexposing backend details.

What it does: Chooses comfortable or compact spacing for messages and surrounding context.
How to use it: Use Comfortable for most participant-facing threads. Use Compact only for high-volume support or operator views.
Why / recommended default: Comfortable spacing improves readability in message-heavy screens.

What it does: Shows related audit and workflow activity alongside the thread.
How to use it: Turn it on when participants need to understand how the conversation relates to workflow state changes.
Why / recommended default: Timeline visibility is often helpful in approval or support flows, but it can be unnecessary for lightweight chat experiences.

What it does: Exists in the shared policy section, but Conversation does not use claim behavior as part of its default reply flow.
How to use it: Leave it Off for standard conversation behavior.
Why / recommended default: Claim-based ownership is a queue concept, not a conversation concept, so turning this on usually adds confusion.

Annotated builder screenshot: Available actions

Conversation keeps the action model intentionally simple. The main question is whether users should be able to reply from this thread or only read it.

What it does: Adds the composer action that lets users post into the active conversation thread.
How to use it: Keep Send reply enabled when the screen is meant to be interactive. Remove or avoid it only when the thread should be read-only for that audience.
Why / recommended default: Reply capability is usually the whole point of the screen. A common mistake is binding the thread correctly but forgetting to expose the reply action.

What it does: Routes users to another screen after they send a reply.
How to use it: Most makers leave users on the Conversation screen, but you can route to Workflow Status or a related review screen when the process usually continues somewhere else.
Why / recommended default: Leaving people in the thread is often the least surprising default. Automatic redirects after a reply can feel abrupt.

What it does: Supplies a workflow binding for custom launch or escalation actions if you add them later.
How to use it: Leave it empty for a standard Conversation screen focused on replies.
Why / recommended default: Extra workflow bindings are unnecessary unless you intentionally extend the action model.

Annotated builder screenshot: Preview scenario

Preview controls are especially helpful for verifying thread readability and ensuring the right personas can actually reply.

What it does: Changes the preview frame across desktop, tablet, and mobile sizes.
How to use it: Always check mobile because conversation threads are commonly used on phones.
Why / recommended default: Message composition is one of the first things to break on smaller layouts.

What it does: Simulates the viewer role.
How to use it: Test as both the likely sender and the likely reader, such as requester and support agent or approver and submitter.
Why / recommended default: Reply permissions and payload visibility often vary by persona, so one-persona testing is not enough.

What it does: Simulates states such as Conversation active, Empty, Loading, and Error.
How to use it: Check Conversation active for normal thread behavior and Empty to ensure the page does not look broken before the first message arrives.
Why / recommended default: The default preview state is Conversation active, which is right for testing the thread, but empty state quality matters just as much.

What it does: Switches between simulated preview and live testing.
How to use it: Use live testing before publish to verify the real route, channel, topic, and correlation all match.
Why / recommended default: Messaging screens are notoriously easy to “almost configure” correctly. Live testing is what proves the binding is actually real.

Annotated builder screenshot: Empty state and sample data

New or quiet threads should feel calm, not broken.

What it does: Sets the empty-state headline.
How to use it: Keep the default No messages yet unless your audience uses more specific language like No conversation yet.
Why / recommended default: The default is short and familiar, which works well for most thread experiences.

What it does: Explains when messages will appear.
How to use it: Keep or adapt the default Messages appear when a workflow, user, or linked app starts a conversation.
Why / recommended default: Helpful empty copy reduces false bug reports from users who are opening the thread before any route has posted.

What it does: Supplies preview references for realistic screenshots and QA.
How to use it: Use a representative thread with several message turns so you can validate the layout, composer, and any linked context.
Why / recommended default: Thin sample data can make a conversation screen look fine right up until a real customer sends a long message or a thread picks up extra context.

Setting Recommended value
Listen scope Conversation or message thread (set channel + topic; optional correlation)
Visibility Participants / Support / Approver roles
Payload visibility Redacted preview
Show timeline On if you want delivery/audit events
Actions Send reply

Channel/topic matching the approval messaging route; pair with Decision.

Broader conversation scope for operators; redacted payload.

  • Start a messaging route and confirm the thread appears.
  • Send a reply and confirm it is visible to the other persona.
  • Confirm empty state copy when no thread exists.

Channel/topic/correlation do not match the messaging route, or listen scope is wrong.

Send reply action missing, or user lacks access.

Conversation follows the workflow channel so replies stay on the asset. Work-creating topics (client.review.requested, client.intake.submitted) and wait-waking reply topics (client.decision.approve, client.decision.changes_requested, client.decision.reject) are a separate contract. Use the workflow channel topics listed here — do not add a duplicate topic for the same decision.

Named catalog: Topics that perform work.

  • Configure Conversation for one clear user job.
  • Prefer the narrowest listen scope that still shows the right work.
  • Keep payload visibility conservative for broad audiences.
  • Test as an allowed user and a blocked user before publish.
  • Pair related screens (Decision + Conversation + Workflow Status + Notification Center) instead of overloading one screen.