Expand my Community achievements bar.

Wondering how Workfront Proof works? Join our AMA on May 8th and ask our Community experts!
SOLVED

Webhook for External Platform

Avatar

Level 2

I am trying to connect Workfront to an external platform, Wordbee. I have the information successfully going from Workfront into Wordbee. I also have the HTTP Make a Request modules working correctly, however the ID it is generating the request id and not the order id in Wordbee. WordBee takes a few seconds/mins depending on the queue to complete order creation.

My next steps are:

  1. Create custom webhook in Workfront to watch new order events in wordbee
  2. Pass this webhook URL in the Create Order API request along with current data
  3. Once WordBee completes creation of the order, it will trigger the webhook URL configured in Workfront
  4. Build a workflow that listens to this trigger and saves this order id in the Workfront project

But my question is: Do I need to make a separate scenario for the webhook to listen to Wordbee and pass the information back into Workfront or can I have it all in my current scenario

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

I have integrated with Wordbee in the past. What I did when I created the wordbee order was store the operation ID on the triggering object in an "Operation ID" field. Then I had another scenario that periodically looked for objects that had a "Operation ID" field but not an "Order ID" field, and then then would check for order ID's and update those when it got them.

View solution in original post

4 Replies

Avatar

Community Advisor

This is less a Fusion question and more a WB question: From their docs 
https://wordbee.atlassian.net/wiki/spaces/API2/pages/2092728321/orders+create+POST#RESULTS

CreateOrder responds with the operationID. 

 

WB says "You need to poll the method and wait 2 to 5 seconds in between polls until the status is Finished or Failed"

 

So there's no callback from WB - you need to keep calling. 

That means - you COULD do that in your scenario (a repeater with N = 100 or so) and a Sleep module to pause between requests.

 

Alternately, have your first scenario store the operationID in a data store, and have your "polling" scenario grab say 10 records, ping WB and process the response.

 

Avatar

Correct answer by
Community Advisor

I have integrated with Wordbee in the past. What I did when I created the wordbee order was store the operation ID on the triggering object in an "Operation ID" field. Then I had another scenario that periodically looked for objects that had a "Operation ID" field but not an "Order ID" field, and then then would check for order ID's and update those when it got them.

Avatar

Level 2

Hi Chris - What did you use as your trigger?

Avatar

Community Advisor

It was just a scheduled run, so it would check for any tasks with an operation ID but not an order ID every X minutes (I think it was 20? but I don't recall), no webhook required.