Genesys Cloud - Developer Community!

 View Only

Sign Up

Expand all | Collapse all

Genesys/BambooHR HRIS Integration - Canceled requests

  • 1.  Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-18-2025 03:27
      |   view attached

    I have implemented all the steps in the blueprint, and everything is working fine except the deny & cancel option.
    when agent requested for time off it is adding and approving but when he is cancelling the same request it is not updated in BambooHR portal but in Genesys it is cancelling.

    Is the update workflow not working? I am using the default workflow in the blueprint and made only slight changes to "HRIS update Time off workflow" (changes made is: In switch case for "cancelled" and "denied" i used another data action which is "change status" API from BambooHR API to cancel or deny).

    In the Time off request, Integration sync status i can see the status as Failed for cancel/Denied.

    For example say if I apply leave for 21st April 2025 in Genesys time off request and it gets updated in Workday for 21st April 2025 leave has been applied but when we cancel/Deny the same in Genesys we are getting sync error (as Failed)

    Can you please let me know why it is not updating the cancel/deny when approval is working as expected.


    #Architect
    #DataActions
    #Integrations

    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------


  • 2.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-18-2025 12:54

    Hello Naga,

    It sounds like a workflow error causing this sync failure but to diagnose further, we could need to track the specific request in our logs. It will need specifics like organization, agent and potentially time off request identifier and it is best to go through care to provide that information and development will be able to investigate it.

    Thanks



    ------------------------------
    Krishna Raghuraman
    Lead Software Engineer
    ------------------------------



  • 3.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-18-2025 13:14

    Hi Krishna Raghuraman,

    I already raised a case with Genesys, and they suggested to post this in Genesys Cloud Developer Forums.
    I am providing the case number for your reference Case #0003734613.
    Can you please check this case and provide solution for this issue.
    Below is the response i got in the case:
    I reached out to our Integration team to see if we can review your updated workflow and determine why it is not working but they recommended that, these types of inquiries are best accommodated in the Genesys Cloud Developer Forums (https://developer.genesys.cloud/forum/). These forums can offer valuable insights into the custom flows created by our PS/Dev team and you get direct support from our developers.

    Thanks & regards,
    Naga Praneeth.



    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------



  • 4.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-18-2025 13:38

    Hi Naga, 

    You mentioned you're trying to use a different API. With the blueprint for cancellation and updates the workflow is expecting an output of Flow.timeOffRequestId, is this being returned from the api/data action you're utilizing?



    ------------------------------
    Lonny Schwartz
    Principal PS Consultant
    ------------------------------



  • 5.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-18-2025 13:52

    Hi Lonny Schwartz,

    Flow.timeOffRequestId is returned by using the update data action mentioned in blueprint. 

    With the existing HRIS update workflow, for canceled/deny it is not working as expected.

    So i tried to modify the workflow like in switch case under canceled & denied i added another data action that is "Change status" API from BambooHR API document.

    But when i modified update HRIS workflow also it is not working for cancel/deny.

    So i raised a case with care to check this and resolve this issue.



    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------



  • 6.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-18-2025 14:38

    Hi Naga, 

    I'm assuming you're using this api: https://documentation.bamboohr.com/reference/time-off-change-a-request-status

    From a test data action for a requestId on my bamboo, if I'm sending this in the Request Body Template for example: {"status": "canceled"}

    My output is: 

    "success": true
    There is not Flow.timeOffRequestId being returned. I suppose you could just populate that from the inputTimeOffRequestID although I don't know if that scenario has been tested and what the outcome would be if you were to re-approve a denied/canceled request. 


    ------------------------------
    Lonny Schwartz
    Principal PS Consultant
    ------------------------------



  • 7.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-18-2025 22:29

    Hi Lonny Schwartz,

    Yes i am using the same api for change status. In the body we will pass status as cancelled and in the url we are passing theinputTimeOffRequestID and then if we test this data action it is working.

    Could you please confirm me whether we should use this data action in HRIS Update workflow for cancel/deny or not?

    If i use the default HRIS Update workflow without any modifications I am unable to implement cancel/deny request by agent to reflect in bambooHR portal.

    Could you please let me know how we can achieve by using the default workflow present in blueprint or any modifications needed to that flow.



    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------



  • 8.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-19-2025 09:31

    Hi Naga, 

    With the default blueprint for bamboo, this is what would typically happen and how bamboo handles it:

    New Request:

    Flow.agentId: "405"
    {"notes": [{"from": "manager", "note": "Created by WfmTimeOffService approval"}], "dates":[{"ymd": "2025-05-07", "amount": 0.5}], "status": "approved", "start": "2025-05-07", "end": "2025-05-07", "timeOffTypeId": 84, "amount": 0}
    Output: Flow.timeOffRequestId: "4850"

    Deny Previous request:

    Flow.agentId: "405"
    Flow.inputTimeOffRequestId: "4850"
    {"notes": [{"from": "manager", "note": "Updated by WfmTimeOffService approval"}], "dates":[{"ymd": "2025-05-07", "amount": 0.5}], "status": "denied", "start": "2025-05-07", "end": "2025-05-07", "timeOffTypeId": 84, "amount": 0, "previousRequest": 4850}
    Output: Flow.timeOffRequestId: "4851"

    Query agents requests via bamboo API:

    Original request is marked as superceded:

      {
        "id": "4850",
        "employeeId": "405",
        "status": {
          "lastChanged": "2025-04-19",
          "lastChangedByUserId": "2544",
          "status": "superceded"
        },

    'New' request is marked as denied:

      {
        "id": "4851",
        "employeeId": "405",
        "status": {
          "lastChanged": "2025-04-19",
          "lastChangedByUserId": "2544",
          "status": "denied"
        },

    With the api you're trying to use which updates the status of the request there is no new timeOffRequestId returned, which the workflow is expecting. I haven't tested the scenario but you might be able to set the Flow.timeOffRequestId == Flow.inputTimeOffRequestId after your status change data action in the workflow. I can't say for sure if the integration is expecting a new unique request id or happy to accept the original from input.



    ------------------------------
    Lonny Schwartz
    Principal PS Consultant
    ------------------------------



  • 9.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-19-2025 10:33

    Hi Lonny Schwartz,

     timeOffRequestId will be returned through update API.

    I am unable to attach the call flows here. Could you please provide me your email so that i can share the call flow.
    could you please check the call flow and let me know the issue with that workflows.



    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------



  • 10.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-21-2025 08:41

    Hi Naga, 

    Are you using architect debugging to capture the flow execution data? This will allow you to step thru the executed flow and see what is happening. Data being sent/returned by any data action the flow is utilizing. 

    https://help.mypurecloud.com/articles/historical-execution-data-overview/ 

    https://help.mypurecloud.com/articles/flow-execution-history/



    ------------------------------
    Lonny Schwartz
    Principal PS Consultant
    ------------------------------



  • 11.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-21-2025 09:30

    Hi Lonny Schwartz,

    when i tested my published flow with Genesys Cloud public API, i mean the default workflow (HRIS Insert timeoff) which is as per blueprint, I am getting the output error as below:

    "outputData": { "Flow.timeOffRequestId": null, "Flow.statusCode": "400", "Flow.error": null, "Flow.status": "Error", "Flow.errorMsg": "Substitution values invalid in action config. Reference ${input.employeeId} evaluated to null when attempting to render at UrlTemplate[line 1, column 64] A common reason for this error is needing to prepend the variable with 'input.' or 'credentials.', Error Code: INVALID_SUBSTITUTION, payload: {\"notes\": [{\"from\": \"manager\", \"note\": \"Added by Integration service\"}], \"dates\":[], \"status\": \"\", \"start\": \"\", \"end\": \"\", \"timeOffTypeId\": , \"amount\": 0}" },

    I guess here the flow.agentId is not passing from the "HRIS get agent" workflow to this workflow so it is giving this error.
    Is my assumption correct? Could you please tell me why these values are not passing from another workflow to this workflow.



    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------



  • 12.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-21-2025 09:46

    Hi Lonny Schwartz,

    I have exported my call flows in ".yaml" format and attached them for your reference. Could you please check this and let me know why it is failing.
    and also, one more thing when I hardcoded the values like employe id and payload details then it is working and time off request is getting approved but when i use the variables, it is failing.
    Could you please check these workflows and let me know the issue here.



    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------

    Attachment(s)



  • 13.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-21-2025 11:13

    Hi Naga, 

    Are you able to enable execution history in your org? This will give you the most insightful information into the workflow and where something might be failing. example view from my lab:



    ------------------------------
    Lonny Schwartz
    Principal PS Consultant
    ------------------------------



  • 14.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-21-2025 13:37

    Hi Lonny Schwartz,

    execution history is already enabled in our org. But here how to execute the workflows?
    in WFM when i request time off for a particular agent which is matching to that of agent in BambooHR portal and specify the dates and and save it, it is displayed in pending status first and when i reload the page it is showing the Integration sync status as Failed.
    I am really confused how to execute the workflow when it is failing here. please find the attached screenshots for your reference.
    Could you please let me know the further steps how to fix this issue.



    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------



  • 15.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-21-2025 14:58

    Are you having data returned in your flow execution history? Any of the actions your taking should be giving you output if it's properly enabled in the org. 

    i.e. every time the agent or supervisor does an action that queries the balance:

    or when submitting a timeoff request:



    ------------------------------
    Lonny Schwartz
    Principal PS Consultant
    ------------------------------



  • 16.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-22-2025 03:33

    Hi Lonny Schwartz,

    No, I am not getting any data here. This is because the workflow itself is failing which i informed you in my previous message.

    when i hardcoded the values, it is working like it is getting approved and is reflecting in BambooHR portal and for denied/cancel it is not working as i mentioned earlier.

    But when I changed it back and used the default variables in the worfkflow as per flow document initially and when i tested my published flow with Genesys Cloud public API, i mean the default workflow (HRIS Insert timeoff) which is as per blueprint, I am getting the output error as below:

    "outputData": { "Flow.timeOffRequestId": null, "Flow.statusCode": "400", "Flow.error": null, "Flow.status": "Error", "Flow.errorMsg": "Substitution values invalid in action config. Reference ${input.employeeId} evaluated to null when attempting to render at UrlTemplate[line 1, column 64] A common reason for this error is needing to prepend the variable with 'input.' or 'credentials.', Error Code: INVALID_SUBSTITUTION, payload: {\"notes\": [{\"from\": \"manager\", \"note\": \"Added by Integration service\"}], \"dates\":[], \"status\": \"\", \"start\": \"\", \"end\": \"\", \"timeOffTypeId\": , \"amount\": 0}" },

    I guess here the flow.agentId is not passing from the "HRIS get agent" workflow to this workflow so it is giving this error.
    Is my assumption correct? Could you please tell me why these values are not passing from another workflow to this workflow.



    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------



  • 17.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-22-2025 07:53

    Hi Naga, 

    From your screenshot above where there is a balance of 64.1 showing in the UI, that data is returned because the get-balance workflow is being executed. it doesn't matter if it's hardcoded in the workflow, the workflow needs to execute to return that.  If you have no data in your workflow execution history for any workflow then it's most likely a configuration/permissions issue. You might want to open a GCC case to get that resolved which will then allow you to to more easily troubleshoot your workflows. 



    ------------------------------
    Lonny Schwartz
    Principal PS Consultant
    ------------------------------



  • 18.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-23-2025 04:41

    Hi Lonny Schwartz,

    I found the issue and fixed it. It is working now.
    Thank you very much for your support.



    ------------------------------
    Naga Praneeth Mandali
    Engineer
    ------------------------------



  • 19.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 06-04-2025 00:38

    Hi Naga Praneeth,

    Can you please let me know the issue you identified and the fix that was done to get it working? We are seeing similar issue and if you had already identified the issue, it will help us.



    ------------------------------
    Sesha Reddy Kalluri Venkata
    ------------------------------



  • 20.  RE: Genesys/BambooHR HRIS Integration - Canceled requests

    Posted 04-22-2025 08:41

    It would seem like you've exhausted crowdsourcing your work and I would recommend looking into a paid PS engagement with Genesys.



    ------------------------------
    Jay Langsford
    VP, R&D
    ------------------------------