> 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

The Advanced Programme Logic feature operates through a simple yet effective tagging system:

{% 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
