Parsing External Signal Parameters

Avatar

Avatar
Boost 3
Level 2
shiva_kumarp498
Level 2

Likes

4 likes

Total Posts

16 posts

Correct reply

1 solution
Top badges earned
Boost 3
Boost 1
Affirm 1
View profile

Avatar
Boost 3
Level 2
shiva_kumarp498
Level 2

Likes

4 likes

Total Posts

16 posts

Correct reply

1 solution
Top badges earned
Boost 3
Boost 1
Affirm 1
View profile
shiva_kumarp498
Level 2

29-03-2021

Dear All,

 

I created a workflow where query activity retrieves IDs passed to an External signal activity. My question is I am unable to parse the IDs relevant to query criteria. Below is the syntax of the query condition

 

@namein ($(vars/@ids))

 

what I am passing in external activity is  id = "id1','id2"

 

$(vars/@ids) gets parsed to 'id1\',\'id2'

 

I know that it is escaping single quotes with a backward slash, which I wanted to avoid, and also I tried to use replace function of ACS which was not working as expected, below is the syntax for the same.

 

Replace($(vars/@ids),'\\','')

 

I am expecting the following desired output.

 

$(vars/@ids) = 'id1','id2' which would fit perfectly in my query criteris i. e  @name in ('id1',id2')

 

Any insights would be really helpful.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Boost 250
Employee
ramon_bisswanger
Employee

Likes

271 likes

Total Posts

397 posts

Correct reply

199 solutions
Top badges earned
Boost 250
Affirm 100
Give Back 25
View profile

Avatar
Boost 250
Employee
ramon_bisswanger
Employee

Likes

271 likes

Total Posts

397 posts

Correct reply

199 solutions
Top badges earned
Boost 250
Affirm 100
Give Back 25
View profile
ramon_bisswanger
Employee

05-04-2021

Unfortunately you can't achieve what is intended.

For security purposes, any string / variable used in a query is automatically escaped.

You can't use a single input string and use that in an "in" statement.

 

What you could try is:

  • bring in the comma separated values
  • Then use a condition like ',' + ($(vars/@ids)) + ',' LIKE '%@name%'
  • Though note that this won't be able to use any DB index, so shouldd be used with care

Answers (1)

Answers (1)

Avatar

Avatar
Give Back 10
Employee
craigthonis
Employee

Likes

179 likes

Total Posts

273 posts

Correct reply

160 solutions
Top badges earned
Give Back 10
Give Back 5
Give Back 3
Give Back
Boost 50
View profile

Avatar
Give Back 10
Employee
craigthonis
Employee

Likes

179 likes

Total Posts

273 posts

Correct reply

160 solutions
Top badges earned
Give Back 10
Give Back 5
Give Back 3
Give Back
Boost 50
View profile
craigthonis
Employee

30-03-2021

Hi Shiva,

 

Why are you trying to pass IDs to the external signal activity? The point of this activity is to be started from another workflow.  Now it can be started with expected parameters per below but I don't think that its expected to be able parse out IDs from the previous query.

 

https://experienceleague.adobe.com/docs/campaign-standard/using/managing-processes-and-data/calling-...

 

Regards,

Craig