# Share a playbook

> Invite customer contacts to a playbook, choose what they see, preview their view, and stop sharing.

import { Steps, Aside } from '@astrojs/starlight/components';

## Share a playbook with a contact

<Steps>

1. Open the playbook and go to the **Team** tab.
2. Click **Add member** and choose **Customer contact**.
3. Pick the contact under **Select customer contact** and click **Add**.
4. If the contact has no portal account yet, or this is the first time you share the playbook, the **Share with your customer** window opens:
   - Contacts listed under **New portal account** *"will receive an invitation to set a password"*.
   - Under **Visible tasks**, tick the tasks your customer may see, or **Select all**. *"Tasks assigned to a customer contact are always visible."* This part appears only the first time you share.
5. Click **Share playbook**.

</Steps>

What the contact receives:

- **No portal account yet**: an email to set a password. After that they sign in to their portal.
- **Already has a portal account**: an **Invited to playbook** notification, and the playbook appears in their portal.

If the playbook is already shared and the contact already has an account, step 4 is skipped: they're added straight away.

<Aside type="caution">
You can't invite someone whose email belongs to a user of a CustomerCatalyst organization (*"This email belongs to an internal account"*). CustomerCatalyst also checks that the email address can receive mail; if not, you see *"Check the contact's email"*. Fix the address on the contact and try again.
</Aside>

## Once it's shared

A banner on the playbook says **Shared with your customer**: *"Customer contacts on the Team tab can see visible tasks, messages and files."* It has two buttons, **Preview customer view** and **Stop sharing**.

Customer contacts show on the **Team** tab next to your colleagues.

## Choose what your customer sees

Everything starts hidden. You open things up one by one. Items your customer can see carry a **Shared** tag.

| What | How to make it visible |
|---|---|
| **Tasks** | In the task form, turn on **Visible to customer** (*"Show this task in the customer portal"*), or use **Show to customer** / **Hide from customer** in the task's menu. A task assigned to a customer contact is always visible. A playbook template can mark tasks visible in advance; see [Playbook templates](/projects/playbook-templates/). |
| **Messages** | On the **Discussions** tab, **Visible to customer** is on by default once the playbook is shared. Turn it off *"to post an internal note that only your team can see."* Internal notes are marked **Only your team** and highlighted. |
| **Files** | When you upload on the **Files** tab, turn on **Visible to customer** (*"Your customer can view and download this file in their portal."*), or use **Show to customer** / **Hide from customer** in the file's menu. |

Messages posted before the playbook was shared stay internal.

## Preview what your customer sees

Click **Preview customer view** in the banner. You see the playbook as your customer does, read-only. Click **Exit preview** to go back.

## Remove one contact

On the **Team** tab, click the remove icon next to the contact and confirm with **Remove**. *"They'll lose access to this playbook right away. Everything they added stays."*

## Stop sharing

Click **Stop sharing** in the banner and confirm. *"Customer contacts lose access right away. Tasks, messages and files stay in the playbook, and you can share it again at any time."*

Deleting a playbook also removes your customer's access to it.

## Invite a contact without a playbook

You can give a contact a portal account before sharing anything:

<Steps>

1. On the customer's page, open the **Contacts** tab.
2. Open the contact's menu and click **Invite to portal**. It shows for contacts with an email address and no portal account.
3. Click **Send invitation**.

</Steps>

The contact gets an email to set a password. *"Access to projects is granted separately, from a playbook's Team tab."* Contacts with an account are marked **Portal user** in the contact list.

To take away a contact's access to every shared playbook at once, use **Remove access** in the contact's menu. *"Their account stays, and you can invite them again at any time."*
