Solved

Is it possible to change an activity field by a rule action?

  • 30 September 2020
  • 7 replies
  • 147 views

Hi, 

the goal is to trigger a new zendesk ticket via the api call.

We use a rule chain for that and the body of the new ticket should contain the content of an specific activity.

This works perfectly via the rules engine, but the problem is that only one ticket should be triggered or in other words, the rule should just process the new activity once.

We could not filter the rule setup with like “just consider new activities”.
Therefore we want to use a tag (in the activity) like “ticket created” (checkbox).

Then the rule could be filtered for “ticket created= empty” and the action of the same rule could tag the field “ticket created”.
Long story short: That’s why the rule action should change the activity field.

Does anybody struggle with the same issue here? 

Best

Lisa

 

icon

Best answer by jean.nairon 1 October 2020, 18:15

View original

7 replies

Userlevel 6
Badge +4

Unfortunately no. The rule engine can’t update or create a timeline activity. Only the creator of the activity can update it. There is a product idea for this, please come help vote it up.

 

Userlevel 7
Badge +2

@Lisa-new user  - the best solution here might be to run the zendesk rule once a day and in your fetch task, choose only those activities that were created with a date = yesterday. This will ensure that all activities are considered and no activities are evaluated twice. 

Userlevel 5
Badge +3

Hi @Lisa-new user 

Yes, in your rule create a filter using the Date field. Like @dan_ahrens mentioned.

“Activity Created date = Subtract N days from Rule Date with a value 1”. 

Hi all, 

 

thank you for the super quick responses.

Unfortunately update once a day is not enough. We need the ticket creation to run nearly real-time, that’s why the daily-settings are not sufficient for our use case.

The plan was to run several copies of the rule (just rule could run every 2 hours at least).

If you have any other ideas I would be very happy.

Best 

Lisa

Userlevel 5
Badge +3

Hi @Lisa-new user 

Try this workaround, hope that will work.

First, create one rule that has to fetch all the required fields from the Activity Timeline object in-order to create the Ticket.

And Load that data to an MDA Custom created Object. And Schedule the rule to run every 2 hours.

 

Second, Create another rule using the above created MDA Object.

This second rule has to be multiple fetches and merge transformations.

Fetch one: from the MDA Object

Fetch two: from the Zendesk Object

Merge: MDA Fetch with Zendesk Fetch with a Left Outer Join.

And create 2 Actions, 1. for creating the Zendesk Ticket, 2. Update a field in MDA Object to know, is the ticket created or not(Yes or No) or (True or False).

And schedule this to run every 2 hours.

 

Thanks.

Userlevel 6
Badge +4

One other option might be to use a separate table to record which Activities were sent to Zendesk. For example, your rule could ship the activity to Zendesk and record the Activity ID in a separate table to mark it as completed. This table could be referenced in your rule to see which ones are completed and which ones aren’t. 

Time as Dan mentioned would be better but I think it might be difficult if you are trying to run it every couple hours. 

Userlevel 5
Badge +3

One other option might be to use a separate table to record which Activities were sent to Zendesk. For example, your rule could ship the activity to Zendesk and record the Activity ID in a separate table to mark it as completed. This table could be referenced in your rule to see which ones are completed and which ones aren’t. 

Time as Dan mentioned would be better but I think it might be difficult if you are trying to run it every couple hours. 

Yes, this approach also was good and will works.

Reply