Expand my Community achievements bar.

SOLVED

Adobe Campaign Workflow Approval Task

Avatar

Level 2

Hi,

In a workflow I have an approval task and I need to set the assignee dynamically in the workflow, there are over 40 different possible assignees for the approval and I do not want to have 40 plus approval tasks.

I could see that I can add a 'Filter' assignment type, but when I add a filter condition based on 'Email equals $(instance/vars/@who) I get the message that the variable does not exist in this context.

I have tried various formats $(instance/vars/who) etc. for the variable without any luck so far.

Jeremy

1 Accepted Solution

Avatar

Correct answer by
Level 2

Hi,

I have taken another look at this today and have managed to do what I want using the following method:

In a previous javascript step set an Instance variable with a list of the operators I want to be approvers.

Then in the approval task I have used a filter assignment type and added a set of dummy conditions that will not match existing operators:

     email equals "noone@nowhere.com"

I then used the approval task advanced tab and in the initialisation javascript I modified the conditions to match the approvers from the instance variable:

activity.assigneeFilter.where.condition[operatorcount].expr = "@email = '" + operator.@email + "'";

This seems to work and I can set up any approvers I want dynamically

Thanks

Jeremy

View solution in original post

4 Replies

Avatar

Level 1

Hi Jeremy,

You should be able to select 'operator' assignment type, and pick a single assignee from the Assignee dropdown box.

1418625_pastedImage_0.png

Avatar

Level 2

Hi,

Thanks for your reply, what I am trying to do is set the assignee dynamically in the task, i.e. set a variable in a javascript just before the approval task based on the context of some sort and use that variable as the assignee in the approval task.

Jeremy

Avatar

Level 10

Hi Jeremy,

Since this activity only lets you pick an operator from a defined list, I'm not sure you can use a variable here.

Florent

Avatar

Correct answer by
Level 2

Hi,

I have taken another look at this today and have managed to do what I want using the following method:

In a previous javascript step set an Instance variable with a list of the operators I want to be approvers.

Then in the approval task I have used a filter assignment type and added a set of dummy conditions that will not match existing operators:

     email equals "noone@nowhere.com"

I then used the approval task advanced tab and in the initialisation javascript I modified the conditions to match the approvers from the instance variable:

activity.assigneeFilter.where.condition[operatorcount].expr = "@email = '" + operator.@email + "'";

This seems to work and I can set up any approvers I want dynamically

Thanks

Jeremy