The Zurich release has arrived! Interested in new features and functionalities? Click here for more

Easiest way to Trigger Catalog Item Request via Inbound Email

symonflores_23
Tera Guru

I have a catalog item that triggers subsequent catalog tasks if the user selects the options.

symonflores_23_0-1744011081133.png

We’d like to add inbound email as a trigger for this catalog item. What’s the easiest way to parse the email and create an RITM?


My Email sample:

Subject: Onboarding Request for: John Doe

Body:

FirstName: John
LastName: Doe
StartDate: 04/10/2025
EmployeeNumber: 0001345

Include access to System1: Yes
Include access to System2: No or Null
Include access to System3: Yes
Include access to System4: No or Null


A flow is already created where each checkbox triggers a specific SCTASK. How can I incorporate inbound email into this catalog item, especially to handle the checkbox selections?

1 ACCEPTED SOLUTION

J Siva
Tera Sage

Hi @symonflores_23 
You can use the custom flow action to parse your email body as key / value pairs. PFA XMl of update. You can review that and use that/create one similar to that as required.
I just tested out by sending one email and it's working as expectd. PFB the output.

1. Commit the attached update set. Note: I got this from the community. Thanks to the person who created this.

JSiva_0-1744013748411.png

 

2. Create a flow with trigger type as "Inbound email"

JSiva_1-1744013890048.png

3. Use the custom action  - Parse email body text by passing the email record from the trigger.

JSiva_2-1744013940606.png

4. Set  local flow variable values with the parsed value from eamil body.

JSiva_3-1744014067977.png

Note: In this step, you need to Transform function - Get item from Name/Values.
Here the key value should be as same as the key value from the email body.

JSiva_4-1744014167903.png

5. Use Submit catalog Item Request action to submit the request by assigning the flow variable values to the catalog item variables.

JSiva_5-1744014246365.png


Result:
Sample email:

JSiva_6-1744014394466.png

Flow output:

JSiva_7-1744014478280.png

JSiva_8-1744014502825.png

 

Make sure that the email body template must be static otherwise this solution won't work.

 

Hope this helps.
Regards,
Siva

 

 

 

 

 

View solution in original post

5 REPLIES 5

Collin Romeijn
Mega Guru

Hi @symonflores_23 ,

what you could do is making the creation of all the sc tasks into a subflow. Then you can use a main flow for the catalog item and another Inbound email flow to both use the subflow for sc task creation.

For the subflow keep in mind that you need to pass trough the input values to create those sc tasks (email answers and catalog variables). The tricky part is mostly trying to catch all the answers from the email into flow variables, that can be past trough the subflow.

This was an helpfull video for me around 3:20: Launch a #ServiceNow Catalog Item from Email via Flow Designer (LIKE A BOSS)

 

With this solution the subflow is your dynamic way to always make the same sc tasks.

Good luck! Kind regards,
Collin

J Siva
Tera Sage

Hi @symonflores_23 
You can use the custom flow action to parse your email body as key / value pairs. PFA XMl of update. You can review that and use that/create one similar to that as required.
I just tested out by sending one email and it's working as expectd. PFB the output.

1. Commit the attached update set. Note: I got this from the community. Thanks to the person who created this.

JSiva_0-1744013748411.png

 

2. Create a flow with trigger type as "Inbound email"

JSiva_1-1744013890048.png

3. Use the custom action  - Parse email body text by passing the email record from the trigger.

JSiva_2-1744013940606.png

4. Set  local flow variable values with the parsed value from eamil body.

JSiva_3-1744014067977.png

Note: In this step, you need to Transform function - Get item from Name/Values.
Here the key value should be as same as the key value from the email body.

JSiva_4-1744014167903.png

5. Use Submit catalog Item Request action to submit the request by assigning the flow variable values to the catalog item variables.

JSiva_5-1744014246365.png


Result:
Sample email:

JSiva_6-1744014394466.png

Flow output:

JSiva_7-1744014478280.png

JSiva_8-1744014502825.png

 

Make sure that the email body template must be static otherwise this solution won't work.

 

Hope this helps.
Regards,
Siva

 

 

 

 

 

Hi @J Siva, any idea how to do it in checkbox? Since Name-Value pairs are not allowed.

symonflores_23_0-1744088053553.png

 

Ankur Bawiskar
Tera Patron
Tera Patron

@symonflores_23 

you can use inbound action and script and use Cart API to submit

Whenever you set the variable value you can parse the value and set the variable value for those checkboxes

Submitting a catalog item from an Inbound Action 

Submit Catalog Item Through Inbound Email Action 

another way is to use flow and check these links

Create RITM through inbound action by parsing mail body 

https://www.servicenow.com/community/itsm-forum/creating-ritm-using-inbound-action-and-cart-api/m-p/...

https://pathwayscg.com/scripting-for-the-servicenow-cart/

Submit and close a catalog item request from inbound email  -> response from Amit

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader