How to add labels automatically to pages with a certain keyword in title?
Asked by Schuuudi:

Hi Confluence automation experts,

we need your help: we are not getting anywhere with the creation of an automatic rule and hope to get a hint here about our error:

<br />

The goal is to insert a specific label (test1) in a space (space key: jp) on pages with "test1" in the title that do not already have this label. Therefore we choose the sequence via automation rules:

\> When: Scheduled

\>\> Every week on Mon at 11:00 AM

\> If: CQL condition

\>\> space = jp AND title \~ "test1" AND label != "test1"

\> Then: Add label

\>\> test1

After saving everything and publishing the rule we run a test and receive the following error:

CQL condition  
Error in execution:  
Expecting to have a content ID in context.. Trace ID: ec5f5a56-5a02-4331-. . .

What does this mean?  

Everything we have tested and tried so far failed:  
- the validation of the CQL query inside the rule creation shows green. Despite this, after executing the rule, it shows us this error.  
- When we enter the CQL query using the direct CQL search, the pages are all displayed correctly.  
- Using the ID from the home page URL did not lead to success  

Any idea how we can reach our goal to add labels to several pages automatically?  

Thank you in advance for your ideas ;-)


Answers:
author: Jocelyn Kim
body: [@Oliver Siebenmarck _Polymetis Apps_](/t5/user/viewprofilepage/user-id/2974121) 's suggestion would definitely work! Another option is to use the "Branch rule / related entities" component in conjunction with the scheduled trigger. This will create a CQL search and execute the action applied within the branch rule on every result (for up to 100 results). This should help you apply the labels to pages that are already created.

We have a "for each page" branch component also coming soon that may help simplify some of these use cases.

comments: author: Schuuudi
body: Oh wow, I'm very excited about the new component. Thanks for the spoiler alert ;-)


author: Oliver Siebenmarck _Polymetis Apps_
body: Oh, that sounds pretty cool! Thanks [@Jocelyn Kim](/t5/user/viewprofilepage/user-id/3884949) , I'll definitely check that out, too!


author: Schuuudi
body: It works! Thank you so much!


author: Oliver Siebenmarck _Polymetis Apps_
body: Hi [@Schuuudi](/t5/user/viewprofilepage/user-id/4338662) ,

I'm by no means an expert in Automation for Confluence, but I just cannot pass on a label-related question.

That being said, I believe I know what happens. The Scheduled Trigger in Automation for Confluence runs without any specific page or space in context, basically meaning that it does not know which page to check and add a label to. The CQL you enter is just a condition, ie a check if a space/page that would be in context applies to your rule. It is not a list of all pages that your rule will be applied to.

Now, while that is mildly frustrating, there is a workaround to achieve the same result. And it doesn't even require an app.

Instead of running a rule every so often, you could simply add two rules triggered by "Page published" and "Page edited" respectively. On those rules, you can use your CQL query to check if the page title contains your keyword and then label the page accordingly. This approach has the additional advantage of adding the label almost immediately.

Hope that helps,  
Oliver

comments: author: Schuuudi
body: Thanks [@Oliver Siebenmarck _Polymetis Apps_](/t5/user/viewprofilepage/user-id/2974121) for your idea - and so fast ;-) . We will try it out.


Tags: automation

cloud

confluence-cloud

label