> For the complete documentation index, see [llms.txt](https://knowledge-base.letsgetdigital.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://knowledge-base.letsgetdigital.com/the-admin-panel/content/application-1/programmes/advanced-programme-logic.md).

# Advanced Programme Logic

{% hint style="info" %}
Your consultant needs to activate this setting before you can begin. Please ask them to do so in order to start setting up the Advanced Programme Logic.
{% endhint %}

## **What is Advanced Programme Logic?**

Advanced Programme Logic lets you control which programme items are visible to different groups of attendees. Assign session tags to programme items and user tags to attendees, then link those tags together. Attendees will only see the programme items that match their user tag, making the programme more relevant and easier to navigate for everyone.

{% hint style="info" %}
Programme items of the type **"Plenary"** do not support Advanced Programme Logic. Plenary sessions are mandatory for all attendees, therefore these sessions are always visible and cannot be restricted to specific user groups.
{% endhint %}

### Example in action

Your event takes place over three days, but not every attendee joins all three days. With Advanced Programme Logic, you can make sure each attendee only sees the programme items for the day(s) they are actually attending. This makes the programme more relevant to them. For this I will need to:

* Create **user tags for** each event day (i.e. 'Day 1', 'Day 2' and 'Day 3')
* Create **session tags** for each event day using the Advanced Programme Logic setting (i.e. 'Day 1', 'Day 2' and 'Day 3')
* Choose to include or exclude the relevant user tag
* Assign the created session tags to the corresponding programme items
* Assign the created user tags to the relevent users
* &#x20;Now, users will only be able to  see the programme items that are relevant to them

{% hint style="info" %}
**Important:** When a programme item has multiple session tags linked to it, a user will also need to have all of the corresponding user tags in order to see the programme item. This only goes for the 'Include' field that is explained later.&#x20;

**For example:**

* The session 'Workshop 1' has session tags 'Day 1' and 'Workshop'
* A user with only the user tag 'Day 1' will not see this programme item in the app
* A user with both the user tag 'Day 1' and 'Workshop' will see this programme item
  {% endhint %}

### How does Advanced Programme Logic work?

The Advanced Programme Logic feature operates by linking sessions tags and user tags together. This can be setup from within the Admin panel:

1. If you haven't created user tags yet, go to Users > All users > User tags > '+ New tag'. Add all relevant user tags here.
2. Go to Settings > Advanced Programme Logic
3. Click on '+ New tag'
4. Fill in the required information in the 'General' tab.<br>

   | Setting                                         | Explanation                                                                                                                                               |
   | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | Name of session tag\*                           | Type the name of the session tag                                                                                                                          |
   | Order (lower numbers appear higher in the list) | If you create many tags, it can be useful to set the order numbers to keep a nice overview. This is not mandatory                                         |
   | Maximum number of subscriptions on this tag     | If multiple sessions have the same session tag, you can limit the amount of sessions with this tag that users can subscribe to. Leave empty for no limit. |
5. Click on the 'Advanced' tab and fill in the required information<br>

   | Setting                               | Explanation                                                                                                                                                                                                                                                                                    |
   | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | Should this tag be hidden in the app? | Select this checkbox if don't want the session tag to show on the paage of the programme item in the app                                                                                                                                                                                       |
   | Include                               | Select the user tag linked to the users who **should be able to see** sessions with this tag. That means only users with the selected user tag will see the sessions with this session tag in their programme overview.                                                                        |
   | Exclude                               | Select the user tag linked to the users who **should not be able to see** sessions with this tag. That means users with the selected user tag will **not** see the sessions with this session tag in their programme overview. Users without this tag will be able to see this programme item. |

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Adding tags to the 'Include' section will automatically exclude all other usertags and vice versa. You don't have to fill in both fields   </p></div>
6. Click 'Save changes'
7. Make sure you connect the session tag you just created to the relevant sessions in the programme overview (Content > Programme). Also give all users the relevant user tag(s).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://knowledge-base.letsgetdigital.com/the-admin-panel/content/application-1/programmes/advanced-programme-logic.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
