# Custom Virtual Tags

Custom Virtual Tags in Finout enable you to model cloud spend the way your business actually thinks about it, rather than being constrained by how each provider structures its billing data. They act as a flexible semantic layer on top of your existing costs, so you can define rules that group spend by teams, products, environments, customers, or any other business dimension—across all clouds and services.

Using rule-based logic and filters, you can harmonize different naming conventions, unify cross-cloud metadata, and create a consistent view of ownership and responsibility. Once created, Custom Virtual Tags are available everywhere in Finout—MegaBill, dashboards, Cost Centers, and reports—so every widget and analysis reflects the same, business-aligned model of your cloud spend, making it easier to drive accountability, understand unit economics, and support smarter financial decisions.

## Create a Virtual Tag <a href="#h_7a4a4f8a04" id="h_7a4a4f8a04"></a>

1. In Finout, navigate to **Virtual Tags.** <br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FTfEg50U3hTkxzAcXeGsh%2Fimage.png?alt=media&#x26;token=f68e1d98-29a3-424e-8aa8-0089727e9ccf" alt=""><figcaption></figcaption></figure>
2. Click **Create New** and **Virtual Tag**.\
   ​The **Create virtual tag** page appears.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FLFZ4clkRTCtLP5oS0Dcd%2Fimage.png?alt=media&#x26;token=d780f2b6-7984-4386-a1c4-b7491d735796" alt=""><figcaption></figcaption></figure>
3. Name the **Virtual tag**.\
   ![](https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FG9pAkxxrFXT2QJuM5KrA%2Fimage.png?alt=media\&token=53892fcb-4465-43f9-9c96-f3efe9cd474f)
4. You can optionally choose an endpoint to be notified about changes made to this virtual tag.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2Fl29YnPPhQzStI5JxIT6d%2Fimage.png?alt=media&#x26;token=41db1297-36f6-4d80-a2f3-d5b30851fd56" alt=""><figcaption></figcaption></figure>
5. Create the rules for the Virtual Tags by setting **Where** conditions and corresponding **Then** actions.\
   This can be done through the **AI Virtual Tag Rule Builder** or **Manually.**<br>
   * **AI Virtual Tag Rule Builder (Alpha)**:

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note:</strong> For more information, see the <a href="ai-virtual-tags-alpha">AI Virtual Tag Builder</a>.</p></div>

     1. In a virtual tag builder, click **Generate with AI** under a specific rule.\
        The free text-box appears.<br>

        <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FSHDzFSh4SmvpqVHUmwQM%2Fimage.png?alt=media&#x26;token=150821de-ef42-4510-821a-ebfde594ac37" alt=""><figcaption></figcaption></figure>
     2. Write what you want the rule to be, for example "All regions in the US per team" and click <img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2Fq1rklL27RG4ZLBtj2qoU%2Fimage.png?alt=media&#x26;token=c909e68d-dd06-41ac-8670-c7544b7911a5" alt="" data-size="line">.\
        The virtual tag rule is created.<br>

        <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FgzzkzHiPtLLB7bCUywBv%2Fimage.png?alt=media&#x26;token=48c0e0d4-2231-4c8c-abd2-70328041c1bd" alt=""><figcaption></figcaption></figure>
     3. Continue to edit the virtual tag and click **Save**.
   * **Manual Rule Builder:**

     <div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p><strong>Important</strong>: The order of rules is crucial as it determines their priority. Rule 1 has the highest priority and is assessed first, with its tagging action overriding subsequent rules. Only if a resource does not meet Rule 1's conditions will it be evaluated against Rule 2, and so on.​</p></div>

     <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FZwPk9Q1fNHtylBamN2Xv%2Fimage.png?alt=media&#x26;token=65b6aedf-fee0-40ef-a628-d709e1544ac6" alt=""><figcaption></figcaption></figure>

     * WHERE:
       1. Select any **cost center** from the [MegaBill](https://docs.finout.io/user-guide/inform/megabill).
          1. Select a **filter key**.
             1. Select an **operator** (One Of, Not one of, Is, Is not, Contains, Not Contains, Exists, or Not exists).
             2. Depending on the operation, select or enter one or more **Filter values**.
             3. To add a further criterion to the rule, **click +**.
             4. Select **AND** or **OR**.
             5. Complete the **rule row** as described above.
             6. THEN: There are two options:
                1. Choose a **static value** for this portion of your infrastructure by choosing **Custom Value** and typing it into the text box.
                2. If you already have an appropriate allocation for this portion of your infrastructure in a cloud service provider tag, account name, or resource name, you can select that field using the MegaBill Key option to have those values populated for the Virtual Tag.​

                   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note</strong>: when selecting a key from the MegaBill, the key’s values will appear in the MegaBill when filtering or grouping by the Virtual Tag.​</p></div>

                   ![](https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FKILTifWfMf8mBlAOEgNw%2Fimage.png?alt=media\&token=d80ac013-1e04-4c37-8c75-033664728ab3)\
                   **Example** - Rule 1 includes: \
                   **Where conditions**: The rule is structured to evaluate resources across different cloud providers: AWS, GCP, Azure, and Kubernetes. It will trigger if a resource within these providers has specific tags or labels that match predefined values. For AWS and Azure, the rule triggers for resources with any chosen values in 'environment' tags. For GCP, the rule is triggered if the 'env' label is exactly 'production'. For Kubernetes, it checks against specified 'label\_environment' values. \
                   **Then outcome**: If a resource meets any of the 'Where' conditions, the 'Then' action tags it as 'Production'.<br>

                   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2F9JqPi1dXDc5NVKLuZuLx%2Fimage.png?alt=media&#x26;token=621dfe7e-fe97-4d33-b541-d8a0a595cf8d" alt=""><figcaption></figcaption></figure>
6. In a virtual tag builder, click **Generate with AI** under a specific rule.\
   The free text-box appears.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FqgDV5deTKBY3dEitDSaG%2Fimage.png?alt=media&#x26;token=806eb9dc-7604-4073-8fd3-7802eef9d846" alt=""><figcaption></figcaption></figure>
7. Write what you want the rule to be, for example "All regions in the US per team" and click <img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FsotEfpS7ny9quJWWtiy2%2Fimage.png?alt=media&#x26;token=4f8d8088-72e0-4a89-b3f2-dc397d3979d9" alt="" data-size="line"> .\
   The virtual tag rule is created.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2Fo4sRZBEamYSglcW0AeSd%2Fimage.png?alt=media&#x26;token=f2ad40bc-9c61-4893-87c0-6a55c9299d56" alt=""><figcaption></figcaption></figure>
8. Continue to edit the virtual tag and click **Save**.
9. You can optionally **set a timeframe** for the virtual tag, allowing you to specify exact dates for the rule application.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FhF2eHlR5S9wpaZk7y0gG%2Fimage.png?alt=media&#x26;token=ce1852c3-805a-47b5-aabd-1621c4b710c6" alt=""><figcaption></figcaption></figure>
10. Click **Add rule** to add additional rules as required.

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note</strong>: The number of rules allowed in a virtual tag is 50.</p></div>

    <br>

    <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FrHFLaXDAI7bYCPHvmYPp%2Fimage.png?alt=media&#x26;token=2ceafca1-1762-4da4-ac5a-fcb4a63f651d" alt=""><figcaption></figcaption></figure>
11. You can optionally **Set the value for the untagged cost** field for all unallocated costs not covered by any rules are aggregated under the tag value "untagged." You can enter a custom name for these untagged costs to generate a single value or choose a key from the MegaBill to generate multiple values simultaneously. This feature enables continuous enhancement of Virtual Tag coverage and the creation of rules to reduce untagged costs.<br>

    <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2F2hFP09i2kKYnbRPbwuxU%2Fimage.png?alt=media&#x26;token=6d928781-e930-4114-9734-9c7b55d3b278" alt=""><figcaption></figcaption></figure>
12. To see a preview, click **Preview Virtual Tag**. The virtual tag preview appears.<br>

    <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FO76Pj0mzmjDWh4jHkmeT%2Fimage.png?alt=media&#x26;token=45265fb6-06a1-42e0-a9b5-3bf06ed803b8" alt=""><figcaption></figcaption></figure>

    <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FUCmJPwVf41ngGsfQZbCm%2Fimage.png?alt=media&#x26;token=028b392a-9a1a-47a0-a752-c296294d1fd4" alt=""><figcaption></figcaption></figure>
13. Click **Create Virtual Tag**.\
    The **Add a description** pop-up appears.

    <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FujgF0tIN7hXSQBZHAcx0%2Fimage.png?alt=media&#x26;token=fe393b59-2a48-42cd-9035-e753508feb6d" alt=""><figcaption></figcaption></figure>
14. You can choose to add a description (beta) or not add a description:
    * **Add a description** and click **Create.**&#x20;
    * Do not add a description and click **Skip and Create**.\
      \
      Each time a Virtual Tag is created or saved, a new *live* *version* is automatically created. You can optionally include a description of the change. \
      All *non-live* *versions*, including their descriptions, are available in the version history on the virtual tag page.

      <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note:</strong> </p><ul><li>You cannot add a description after a virtual tag is created.</li><li>The limit for the description is 280 characters.</li><li>The Virtual Tag name and ACLs are not included in the version history.</li></ul></div>

      \
      The virtual tag is created.

      **Result**:\
      The new *live* *version* appears in the list of virtual tags.\
      ![](https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FOKj4qZ2HpsZkKVGbDDy0%2Fimage.png?alt=media\&token=8b8c6d1c-9a79-4801-a1cb-b8d42ef3627d)

      <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note</strong>: </p><ul><li>The Virtual Tags configuration screen is accessible by default to all users on the account. <br>If you wish to limit accessibility for specific users, contact the Finout support team.</li><li>Virtual Tags can also be duplicated or deleted as needed.</li></ul></div>

      <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FunDw6cEWrOE63eQEWVPz%2Fimage.png?alt=media&#x26;token=6660937d-254b-45e5-ba9f-dd4cd9737803" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note**: Duplicating a Virtual Tag creates a copy of its *live* *version* only, not its *non-live* *version* history.
{% endhint %}

1. Navigate to **Virtual Tags**.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2F8eO4D5jEOkUYSbL8bUX4%2Fimage.png?alt=media&#x26;token=c2fb3493-56aa-44e0-bab5-7616e51fdef7" alt=""><figcaption></figcaption></figure>
2. Click ![](https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FyoWWcAFNao54LnjqAJvu%2Fimage.png?alt=media\&token=4cb50f37-e6e3-4506-b6b2-43632dd9502e) on the Virtual Tag you want to edit from the list and then click **Duplicate Virtual Tag**.\
   The virtual tag is duplicated.
3. Navigate to **Virtual Tags**.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FFYw7n6MmEUBhe5qtDFww%2Fimage.png?alt=media&#x26;token=7e282ddf-1582-48b6-95a6-6008cf480ace" alt=""><figcaption></figcaption></figure>
4. Click ![](https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FyoWWcAFNao54LnjqAJvu%2Fimage.png?alt=media\&token=4cb50f37-e6e3-4506-b6b2-43632dd9502e) on the Virtual Tag you want to edit from the list and then click **Edit Virtual Tag**.\
   The Edit virtual tag screen opens.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FMUg4JOOM4yaRSTmiuPSC%2Fimage.png?alt=media&#x26;token=548c29f8-b742-4637-b5ea-e02aa6e74f5d" alt=""><figcaption></figcaption></figure>
5. Edit Virtual Tag rules: Click on the rule you want to change.
6. In the **Where** option, you can change the criteria using the **Filter keys** dropdown to select different filter types, such as tags or labels, and modify the logical operators as needed.
   * Adjust the cloud environments by selecting or deselecting them.
   * In the **Then** section, update the tag value that will be assigned when the rule's conditions are met.
   * Add or Delete Rules using the **+ Add rule button** to include new segmentation rules or the **–** button to remove an existing rule.

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note</strong>: The number of rules allowed in a virtual tag is  50.</p></div>
   * Adjust the rule order as desired using the **Move rule** function, which allows you to change their ranking, since the rules are applied from top to bottom.
7. Additional edits:
   * Adjust the time frame.
   * Edit the values for the untagged costs.
   * Set up notifications for changes.
8. Filter by conditions: Utilize the filter values dropdown options to narrow down your Virtual Tag based on specific chosen filters. This is particularly useful when the created Virtual Tag has many rules. Instead of manually searching for the specific item to edit within the Virtual Tag, you can use the filters option to drill down and easily find what you need to edit.

   Filter types:

   * Virtual Tag values: Filter based on the names assigned to the rule in the "Then" section.
   * Filter keys: Filter based on the keys chosen in your Virtual Tag.
   * Filter values: Filter based on the exact values that trigger the rule.
9. Click **Save**.\
   The **Add a description** pop-up appears.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2Fkz1ucP4jj6xem5orudLK%2Fimage.png?alt=media&#x26;token=4625479f-9624-4dde-a1ee-ba84f1ceac8e" alt=""><figcaption></figcaption></figure>
10. Optionally **Add a description** and then click **Skip and Create** or **Save**.\
    The Virtual Tag is edited.

### View Version History  <a href="#h_b41fb8c87c" id="h_b41fb8c87c"></a>

{% hint style="info" %}
**Note**:&#x20;

* For the *live version*, there is no limit.&#x20;
* Virtual tags are limited to 100 versions per virtual tag and retain data for one year. If a 101st version is created, the *oldest non-live version* is automatically deleted.
  {% endhint %}

Each time a Virtual Tag is created or saved, a new *live* *version* is automatically created. You can optionally include a description of the change. \
All *non-live* *versions*, including their descriptions, are available in the version history on the virtual tag page.

1. Navigate to **Virtual Tags**.\
   You can also view the version history form within the page of a specific virtual tag.<br>

   <div align="left"><figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FETXiWF4TtsbQYuXp3Y0v%2Fimage.png?alt=media&#x26;token=0a11b187-098a-4ed1-bdfc-9224d2515b68" alt=""><figcaption></figcaption></figure></div>
2. Click ![](https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FyoWWcAFNao54LnjqAJvu%2Fimage.png?alt=media\&token=4cb50f37-e6e3-4506-b6b2-43632dd9502e) on the Virtual Tag you want to edit from the list and then click **View version history**.\
   The Version history side screen opens.

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FT1CUKeOURSdK4YuffeLF%2Fimage.png?alt=media&#x26;token=825b372e-5c52-4def-ab24-8f49db77e7b5" alt=""><figcaption></figcaption></figure>
3. View the versions of this Virtual Tag in the order they were changed.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note</strong>: You can also view the version history form within the page of a specific virtual tag.</p></div>
4. To view versions created within a specific timeframe, select the desired date range and apply it to the version history view.\
   ![](https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2F0jVoPdbugx29Xfr83a1a%2Fimage.png?alt=media\&token=d821b48d-8c71-4b20-9089-331f52ffa7ea)

### Delete Virtual Tags <a href="#h_b41fb8c87c" id="h_b41fb8c87c"></a>

1. Navigate to **Virtual Tags**.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FfC8qlTCNn8xlmQopP7hj%2Fimage.png?alt=media&#x26;token=297bf9d3-14d0-4212-927d-9af0bcabd651" alt=""><figcaption></figcaption></figure>
2. Click ![](https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FyoWWcAFNao54LnjqAJvu%2Fimage.png?alt=media\&token=4cb50f37-e6e3-4506-b6b2-43632dd9502e) on the Virtual Tag you want to edit from the list and then click **Delete Virtual Tag**.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note</strong>: Deleting a virtual tag also deletes all versions.</p></div>

   <div align="left"><figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FO55strMdEQWv292K3md8%2Fimage.png?alt=media&#x26;token=d317fb77-8c28-4ac1-b6d2-e529fd8d23fc" alt=""><figcaption></figcaption></figure></div>
3. Click **Delete**.\
   The virtual tag is deleted.

### Virtual Tag Settings  <a href="#h_b41fb8c87c" id="h_b41fb8c87c"></a>

1. Navigate to Virtual tags.

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2F1CSh0aXmKyyVOOaGKcjw%2Fimage.png?alt=media&#x26;token=4005324b-39cd-4866-8650-c5ba1e4f777d" alt=""><figcaption></figcaption></figure>

2. Click on a **Virtual Tag**.\
   The Edit virtual tag page appears.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FD1qJFuSMochIYck2UkeS%2Fimage.png?alt=media&#x26;token=3982cd33-9a84-48df-afa2-33c3ec11c290" alt=""><figcaption></figcaption></figure>

3. Click ![](https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FEp8jdEejSPX1iEr0rXzI%2Fimage.png?alt=media\&token=ed3d813f-43bc-42cf-a80d-91379f3d1fdd).\
   The Settings side window appears.<br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FqUh4thR1uAMjuNP3Pimq%2Fimage.png?alt=media&#x26;token=876c3af1-7db7-43bb-b925-04fe33f8078b" alt=""><figcaption></figcaption></figure>

4. [**ACL permissions**](https://docs.finout.io/cross-platform-features/list-of-cross-platform-features/acl-permissions):

   **Read** permissions are always public for virtual tags, but you can set **write** permissions as either **Public**, **Private**, and **Shared.** Permission for an object is granted if a user or group have a role with the proper permission and also ACL permission to access the object. By default, the write permissions are set according ot the account default, but users can change it to view or modify an object if they have Role-Based Access Control (RBAC)  to read or write the object.&#x20;

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note:</strong> </p><ul><li>Virtual tags are always public for read purposes, allowing all users in the account to utilize them for filtering and grouping, as well as view their configuration. However, only users with the appropriate write ACL permissions can edit a virtual tag’s configuration.</li><li>Write access follows the account-level default but can be modified as needed. </li></ul></div>

   <br>

   <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2Fgi2bW4ZhYBbDcRIz8ZPt%2Fimage.png?alt=media&#x26;token=130a32b0-cbb1-487c-8793-e941b8892509" alt=""><figcaption></figcaption></figure>

   * **Types of ACL Permissions:**
     * **Public:** Grants access to anyone in the organization that has Role-Based Access Control (RBAC).
     * **Private:** Restricts access to admins and the user who created the object.
     * **Shared:** Limits access to specific users or groups that have Role-Based Access Control (RBAC).&#x20;

       <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note</strong>: Admins and creators always retain access.</p></div>

       <figure><img src="https://3858159242-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWqjB2puKXPDR7L86FX2e%2Fuploads%2FpLzTiASHSsadZtmpFQEr%2Fimage.png?alt=media&#x26;token=68170aaf-47ae-49b7-83d6-672ac39e4f91" alt=""><figcaption></figcaption></figure>

5. Click **Save**.\
   ACL permissions are set.


---

# Agent Instructions: 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:

```
GET https://docs.finout.io/user-guide/inform/virtual-tags/custom-virtual-tags.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
