Skip to main content
Level 2
Apr 2, 2025 3:12 PM UTC
Solved

Webhook for External Platform

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

ChrisStephens
ChrisStephensAccepted solution
Community Advisor
Apr 4, 2025 3:31 PM UTC

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.

4 replies

Sven-iX
Community Advisor
Community Advisor
Apr 2, 2025 4:43 PM UTC

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.

 

Translate
ChrisStephens
Community Advisor
ChrisStephensCommunity AdvisorAccepted solution
Community Advisor
Apr 4, 2025 3:31 PM UTC

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.

Translate
JSanto16Author
Level 2
Apr 4, 2025 6:01 PM UTC

Hi Chris - What did you use as your trigger?

Translate
ChrisStephens
Community Advisor
Community Advisor
Apr 4, 2025 7:28 PM UTC

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.

Translate