---
isPublished: true
template: "page.peb"
title: "Control Access to Experience Rooms"
displayName: "Control Experience Room Access"
description: "Pause or close an Experience Room, disable one member or item, and use Salesforce Flow to close a Room after signing."
category: "support"
contentType: "guide"
audience: "admin,developer"
tags: "salesforce,experiences,rooms,access,flow,esignature,revocation"
section: "support"
seoTitle: "Control Experience Room Access | iDialogue"
seoDescription: "Use Salesforce Room, Member, and Item fields to control access to newly published Experiences and close a Room after signing."
llms: true
llmsSection: "Build Developer"
llmsTitle: "Control Experience Room Access"
llmsDescription: "Admin controls for Room, member, and item access; access timing; unavailable messages; and a document-signing completion Flow."
llmsOptional: false
llmsOrder: 32
---

Use Salesforce records to control access to an Experience Room.
You can pause the whole Room, close it after work is complete, disable one member, or hide one item.
Use Salesforce Flow when a business event must change these fields.

## Before you start

- Use a newly published Experience that supports these access controls.
- Give the administrator or running Flow user the required record and field Edit access.
- Identify the exact Room, member, or item that the change must affect.
- Test with a recipient invitation link and a test record before you change a customer Room.
- Review [XP Access and Permissions](/support/xp-permissions.html).

These controls apply to new supported publications.
Previously published links keep their existing behavior. They are not changed to a new publication automatically.
Use the release requirements for your installed package and test the intended link.

The object and field API names in this guide include the managed-package namespace, `rooms__`.
Salesforce standard objects, such as Opportunity, retain their standard names.

## Choose the control

<div style="overflow-x: auto;">

| Change | Record and field | Result on the next Room open or refresh |
| --- | --- | --- |
| Pause the whole Room | Room: `rooms__IsActive__c = False` | Members cannot open the Room. |
| Close the Room | Room: `rooms__Status__c = Closed` | Members cannot open the Room. Keep this record for history. |
| Retire the Room | Room: `rooms__IsArchived__c = True` | Members cannot open the Room. Use archive for retirement, not a temporary hold. |
| Disable one member | Room Member: `rooms__IsActive__c = False` | That member cannot open the Room. Other enabled members keep access. |
| Hide one item | Room Item: `rooms__IsActive__c = False` | That item's content, navigation entry, and download controls are omitted. Other enabled items remain available. |
| Remove one item | Room Item: `rooms__IsArchived__c = True` | That item is omitted. Use archive for an item removed from the Room. |

</div>

The object API names are `rooms__DocumentRoom__c`, `rooms__DocumentRoomMember__c`, and `rooms__DocumentRoomItem__c`.
A Room must be active, not archived, and have Status **Open**.
A member must be active and belong to that Room.
An item must be active, not archived, and belong to that Room.
A disabled Room blocks access for every member and item.

Disabling a Room Member does not deactivate the person's Salesforce User account.
Changing a member's Status alone does not disable access. Use **Is Active**.
Signer assignment is a separate control. A member must have the assigned signer number to sign the published document.
Changing a signer number does not assign that published signing permission to another person automatically.

```mermaid
flowchart TD
    A[Recipient opens or refreshes the Room] --> B{Room is open and enabled?}
    B -- No --> X[Show the Room unavailable message]
    B -- Yes --> C{Member is enabled?}
    C -- No --> Y[Show an access unavailable message]
    C -- Yes --> D[Show enabled Room items]
    D --> E[Omit disabled items and their download controls]
```

## Understand when access changes apply

Each new Room open or refresh checks current Room, member, and item access before it displays content.
Supported actions, such as signing or submitting a Checklist answer, check current access when the recipient submits them.

An open page does not check access on a timer.
Content already displayed can remain on that page after an administrator changes access.
A rejected action does not remove that displayed content or discard the recipient's unsaved input.

Files that a person already downloaded cannot be recalled.
A file link or access permission already issued can remain usable under its existing access period.
Changing a Room field does not shorten that period.
Disabling an item prevents a new Room open from showing its content and download controls.
It does not recall content or file links that the recipient already obtained.

## Set a Room unavailable message

On the Room, enter **Room Unavailable Message** (`rooms__RoomUnavailableMessage__c`).
Use up to 2,048 characters of plain text.
Leave the field blank to use the default message:

> This room has been closed by the Publisher.

Use a short message that explains the next step. For example:

> This quote is being updated. Please contact your account representative for the replacement quote.

The message is displayed as text. HTML does not create links, images, or formatting.
Keep internal notes, customer secrets, and access credentials out of the message.
An unavailable invitation or an invalid member can receive a general access message instead.

## Create an Experience and send its link

Use the detailed [quote generation and eSignature Flow guide](/support/automate-salesforce-quote-generation-esignature.html)
for action inputs, outputs, and error paths.

1. Generate and check the quote document.
2. Call **Create Experience**, or publish the saved Room for review in **Experience Builder**.
3. Check that the result is successful. Keep the returned Room ID and recipient invitation link.
4. Send that recipient the returned invitation link. In Salesforce Flow, use the native **Send Email** action.
5. Confirm that the recipient can open the link and review the correct document.

**Create Experience** returns an invitation link. It does not send email.
An email failure does not require another document or Experience.
Keep the existing link, correct the email problem, and retry only the email step when appropriate.

```mermaid
flowchart TD
    A[Generate and check the quote] --> B{Creation method?}
    B -- Salesforce Flow --> C[Call Create Experience]
    B -- Experience Builder --> D[Publish the saved Room for review]
    C --> E{Successful result and recipient link?}
    D --> E
    E -- No --> X[Keep existing results and correct the problem]
    E -- Yes --> F[Send the invitation link to the intended recipient]
    F --> G[Recipient opens the Room and reviews the quote]
    G --> H[Assigned recipient signs the document]
```

## Pause a Room while you correct a quote

1. Open the exact Room record for the incorrect quote.
2. Enter a suitable **Room Unavailable Message**.
3. Set **Is Active** to **False** and save.
4. Open or refresh the recipient link. Confirm that it shows the unavailable message.
5. Correct and approve the quote. Create the required new publication and recipient link.
6. Send the correct link after you check the result.

Do not archive the Room for a temporary hold.
Reactivating the old Room restores access to its existing published content. It does not replace the old quote.
Keep the old Room disabled if its document must no longer be used.

```mermaid
flowchart TD
    A[Incorrect quote was shared] --> B[Set the original Room inactive]
    B --> C[Open or refresh its link and confirm access is blocked]
    C --> D[Correct and approve the quote]
    D --> E[Publish the replacement Experience]
    E --> F[Send the new recipient link]
    F --> G[Keep the original Room disabled]
```

To resume an unchanged Room, set **Is Active** to **True**.
Confirm that its Status is **Open**, it is not archived, and the intended members and items are enabled.

## Disable one member or item

To disable a recipient, open that Room's member record and set **Is Active** to **False**.
Open or refresh the affected member's invitation link to check the result.
Check a second enabled member's link to confirm that the Room remains available to that person.

To hide an item, open that Room's item record and set **Is Active** to **False**.
Open or refresh the Room. Confirm that the item, its navigation entry, and its download controls are absent.
Check that unrelated enabled items remain available.

Set **Is Active** back to **True** when the same member or item should be available again.
The Room must still be open and enabled. The item must not be archived.
If every item is disabled, the Room displays: **No content is currently available in this room.**

Saving or publishing a later draft does not reactivate records that an administrator disabled.
New members or items added to an already shared Room can require explicit activation.
Restoring an item, or adding a removed item again, does not activate it in an already shared Room.
Set **Is Active** to **True** when that item should be available again.
Enable only the members and items that recipients should use.

## Close a Room after the required signature

This example uses one Opportunity, one document, and one required signer.
For multiple documents or signers, define and check the complete business condition before you close the Room.

Create a platform event-triggered Flow for **iDialogue Platform Event** (`rooms__Event__e`).
Add a Decision with these conditions:

<div style="overflow-x: auto;">

| Event field | Operator | Value |
| --- | --- | --- |
| Event Type (`rooms__Type__c`) | Equals | `DOCUMENT_ESIGNED` |
| Origin (`rooms__Origin__c`) | Equals | `XP_NATIVE_ESIGN` |
| Success (`rooms__Success__c`) | Equals | `True` |

</div>

1. Get the Room whose ID equals the event's `rooms__RoomId__c`.
2. Confirm that it is the intended business Room and that its required signing work is complete.
3. Get the related Opportunity. Confirm that it is the Opportunity this Flow is allowed to update.
4. Set the Opportunity's **Stage** to **Closed Won**, if your business completion rules permit it.
5. Set that Room's **Status** to **Closed**. Keep **Is Archived** set to **False** when the Room must remain in normal history.
6. Open or refresh the recipient link. Confirm that further Room access is blocked.

The event identifies the Room, Room Item, and Room Member.
It records one successful signer transaction.
It does not state that all signers or all documents in the Room are complete.
Do not close a multi-signer Room after the first signature unless that is the intended business rule.

Make the Flow safe to run again for the same completed work.
Do not create another Experience, send another invitation, or repeat a completed business action on a repeated event.
Add Fault paths that record enough information for an administrator to inspect the exact Room and related record.

```mermaid
flowchart TD
    A[DOCUMENT_ESIGNED event] --> B[Find the exact Room and related Opportunity]
    B --> C{Required signing and business work complete?}
    C -- No --> D[Keep the Room open for remaining work]
    C -- Yes --> E[Set Opportunity to Closed Won when permitted]
    E --> F[Set the exact Room Status to Closed]
    F --> G[Future Room opens are blocked]
```

Room closure can prevent a later signing-status refresh or a new PDF download request.
Check the final recipient confirmation as part of the Flow test.
Keep the signed Salesforce File and signature history according to your retention requirements.

The existing **Close a Document Room** Flow action also archives Rooms and can select Rooms by their related record.
For the procedure above, use **Update Records** on the exact Room ID so the change has the intended scope.

See the [Platform Event reference](/support/events/index.html) and [event types](/support/events/types.html)
for event field names and other activity types.

## Verify before customer use

- Test a new invitation and an existing recipient session.
- Test Room pause, close, resume, and archive separately.
- Test one disabled member while another enabled member still has access.
- Test one disabled item while unrelated items remain available.
- Test a blank unavailable message and a custom plain text message.
- Confirm that Save and Publish do not remove an administrator's hold.
- Test the final signature, repeated event, remaining-signer, and Flow Fault paths.
- Check already open pages and previously obtained file links against the access timing described above.
- Check older published links separately. Do not assume that they use the new controls.
