Skip to main content

Hi!

Trying to build the following flow in Freshservice:

  1. A requester enters the portal and selects a SharePoint access request.

  2. They choose a specific site and folder, for example: “Finance – Budget”.

  3. Each folder has a responsible approver — we fetch this person via a GET call.

  4. For example, we get that kevin@company.com is the approver.

  5. We now want the approval email to be sent to that dynamic email address, based on the selected folder.

❌ The issue:

The “Send approval mail to” action doesn’t let us reference a custom field or dynamic variable.
 

🎯 Question:

Is there a way to send an approval to an email address fetched dynamically from the workflow?

Or is there any workaround (API, automation, custom object, etc.) to achieve this?

 

Thanks a lot! 🙏

Hi.

You might want to consider, if your license entitlement is Pro or Enterprise, use a Custom Object for this.

As a matter of fact, yesterday I created a Workflow and I was able to choose the field from a Custom Object which contains an email address (with the help of a reader node) and use it in a Send Email To:

 

Hope this helps.

 

Regards,


Hi.

You might want to consider, if your license entitlement is Pro or Enterprise, use a Custom Object for this.

As a matter of fact, yesterday I created a Workflow and I was able to choose the field from a Custom Object which contains an email address (with the help of a reader node) and use it in a Send Email To:

 

Hope this helps.

 

Regards,

Hola ​@eeha0120 !
This wont work since all you are doing is sending an email, what i need is to send the approval email which is different sadly. 

 

Esto no funcionará ya que lo único que estás haciendo es enviar un correo electrónico, pero lo que necesito es enviar el correo de aprobación, que lamentablemente es diferente.


Hi.

You might want to consider, if your license entitlement is Pro or Enterprise, use a Custom Object for this.

As a matter of fact, yesterday I created a Workflow and I was able to choose the field from a Custom Object which contains an email address (with the help of a reader node) and use it in a Send Email To:

 

Hope this helps.

 

Regards,

Hola ​@eeha0120 !
This wont work since all you are doing is sending an email, what i need is to send the approval email which is different sadly. 

 

Esto no funcionará ya que lo único que estás haciendo es enviar un correo electrónico, pero lo que necesito es enviar el correo de aprobación, que lamentablemente es diferente.

You’re right.

I believe this currently is not feasible. but it would be worth to contact support for this.

 

Regards,


You can achieve this by calling a Web Request to Freshservice Approval API, instead of the built in Approval step. So once you have that email you need to approve to, you would then send the approval via Web Request node:


POST: https://{domain}.freshservice.com/api/v2/tickets/{{ticket.id_numeric}}/approvals

Then the body would contain the approver_id and the approval_type

 

https://api.freshservice.com/#approvals


Hi!

Trying to build the following flow in Freshservice:

  1. A requester enters the portal and selects a SharePoint access request.

  2. They choose a specific site and folder, for example: “Finance – Budget”.

  3. Each folder has a responsible approver — we fetch this person via a GET call.

  4. For example, we get that kevin@company.com is the approver.

  5. We now want the approval email to be sent to that dynamic email address, based on the selected folder.

❌ The issue:

The “Send approval mail to” action doesn’t let us reference a custom field or dynamic variable.
 

🎯 Question:

Is there a way to send an approval to an email address fetched dynamically from the workflow?

Or is there any workaround (API, automation, custom object, etc.) to achieve this?

 

Thanks a lot! 🙏

Can use API or using custom object. 
The list of folders the user can select is defined in the custom object with it’s corresponded approver.( (field type Lookup all user).
In your WFA you use the read node to match the folder in the custom object and you can use the approval action to send out to the output of the custom object read node. 
 


You can achieve this by calling a Web Request to Freshservice Approval API, instead of the built in Approval step. So once you have that email you need to approve to, you would then send the approval via Web Request node:


POST: https://{domain}.freshservice.com/api/v2/tickets/{{ticket.id_numeric}}/approvals

Then the body would contain the approver_id and the approval_type

 

https://api.freshservice.com/#approvals

acoording to the api docs approvals does not have a post. Or are you seeing something I’m not? 😅


Hi!

Trying to build the following flow in Freshservice:

  1. A requester enters the portal and selects a SharePoint access request.

  2. They choose a specific site and folder, for example: “Finance – Budget”.

  3. Each folder has a responsible approver — we fetch this person via a GET call.

  4. For example, we get that kevin@company.com is the approver.

  5. We now want the approval email to be sent to that dynamic email address, based on the selected folder.

❌ The issue:

The “Send approval mail to” action doesn’t let us reference a custom field or dynamic variable.
 

🎯 Question:

Is there a way to send an approval to an email address fetched dynamically from the workflow?

Or is there any workaround (API, automation, custom object, etc.) to achieve this?

 

Thanks a lot! 🙏

Can use API or using custom object. 
The list of folders the user can select is defined in the custom object with it’s corresponded approver.( (field type Lookup all user).
In your WFA you use the read node to match the folder in the custom object and you can use the approval action to send out to the output of the custom object read node. 
 

Thanks so much for the suggestion! 🙏

We actually explored using a Custom Object with a user lookup field, and it does work well if the approvers are existing Freshservice users. Really nice for keeping everything inside the platform.

That said, it still felt a bit static — someone would need to manually update the approver field in the object if it changes, which doesn’t scale super well in our case.

We needed more flexibility: our approvers are Entra ID group owners fetched dynamically via Microsoft Graph API, and they’re not always registered in Freshservice. So instead, we built a small external API that handles the lookup, fetches the right owner, and sends a custom approval link.

Once approved, it adds the user to the correct Entra group via Graph — giving us dynamic control, support for external users, and a clear audit trail.

Appreciate the help though — your approach definitely makes sense for more static/internal setups!


Hi!

Trying to build the following flow in Freshservice:

  1. A requester enters the portal and selects a SharePoint access request.

  2. They choose a specific site and folder, for example: “Finance – Budget”.

  3. Each folder has a responsible approver — we fetch this person via a GET call.

  4. For example, we get that kevin@company.com is the approver.

  5. We now want the approval email to be sent to that dynamic email address, based on the selected folder.

❌ The issue:

The “Send approval mail to” action doesn’t let us reference a custom field or dynamic variable.
 

🎯 Question:

Is there a way to send an approval to an email address fetched dynamically from the workflow?

Or is there any workaround (API, automation, custom object, etc.) to achieve this?

 

Thanks a lot! 🙏

Can use API or using custom object. 
The list of folders the user can select is defined in the custom object with it’s corresponded approver.( (field type Lookup all user).
In your WFA you use the read node to match the folder in the custom object and you can use the approval action to send out to the output of the custom object read node. 
 

Thanks so much for the suggestion! 🙏

We actually explored using a Custom Object with a user lookup field, and it does work well if the approvers are existing Freshservice users. Really nice for keeping everything inside the platform.

That said, it still felt a bit static — someone would need to manually update the approver field in the object if it changes, which doesn’t scale super well in our case.

We needed more flexibility: our approvers are Entra ID group owners fetched dynamically via Microsoft Graph API, and they’re not always registered in Freshservice. So instead, we built a small external API that handles the lookup, fetches the right owner, and sends a custom approval link.

Once approved, it adds the user to the correct Entra group via Graph — giving us dynamic control, support for external users, and a clear audit trail.

Appreciate the help though — your approach definitely makes sense for more static/internal setups!

An Approver need to be in Freshservice, need to be able to login to approve. If you want to use the approval function that is. 

Ya, CO gets static so API is more flexible but still need the ID of the aprover and not just an e-mail.
So you can’t get around they need to be in FS. 

So to make it dynamic you need to fetch the e-mail from entra, fetch the FS ID with API and then using that ID to send out approval using API as well. 

You could do you own “approval” via sending normal e-mail and when that person reply you say it’s “approved” or “rejected” 
Can use WR node to get the entra group owner I guess(Store the e-mail into a custom field so you so you don’t need to check with entra each time).
Send an e-mail to that person. Each time you get a reply on the ticket you use API to check the sender of the last note in the ticket. When it match check the text and if it has word approve or reject you add  the group or close the ticket according to your process. 
 


You can achieve this by calling a Web Request to Freshservice Approval API, instead of the built in Approval step. So once you have that email you need to approve to, you would then send the approval via Web Request node:


POST: https://{domain}.freshservice.com/api/v2/tickets/{{ticket.id_numeric}}/approvals

Then the body would contain the approver_id and the approval_type

 

https://api.freshservice.com/#approvals

acoording to the api docs approvals does not have a post. Or are you seeing something I’m not? 😅

Martin.J is correct

They actually do have one but you need a bit more information about the approval to send off. 

https://api.freshservice.com/#create_ticket_approval

Their example shows:
/api/v2/tickets//ticket_id]/approvals
curl -v -u api_key:X -H "Content-Type: application/json" -d '{"approver_id":39479, "approval_type": 2,"email_content": "Your approval email body goes here."}' -X POST

You can find out the approval type listed above the section the URL I provided brings you to. If you don’t provide a email_content it will be blank as I don’t think it uses the default approval email. Also, You have to submit one to each of the approvers you find in your GET request and Freshservice can’t handle loops so you would need something else to create an approvals.

Don’t forget that doing web requests like this internally in a Web request node will eat up an API Call on your limit as well as counting as a web request transaction according to your new rules. 

It would be best to use a custom object and just make a process that can update that custom object on a schedule. You can script something that can systematically update a custom object based off another table if need be. Our current object holds up to 7 approvers for each service. It is a pain in the butt to deal with but it is the best you can really do in this system.

 


Well I just tried to post something again but it was eaten by the system to be reviewed by moderators.
 

 


Well I just tried to post something again but it was eaten by the system to be reviewed by moderators.
 

 

Hey ​@rawilkins 

Guess your post is live already. If there’s anything else that didn’t go through, feel free to DM me. Happy to help!


You can achieve this by calling Web Request to Freshservice Approval API


Reply