how to use soap step in flow designer correctly
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi Friends,
I’m trying to call the ServiceNow Table SOAP API (incident / problem) from Flow Designer using the SOAP step, and I’m stuck.
What I’m trying to do
Use Flow Designer → SOAP step
Call incident.do SOAP API (get operation)
Then call problem.do SOAP API using the same credentials/instance
So, what I did is I first created a soap message
Created SOAP Message from WSDL named soap_incident:
https://<instance>.service-now.com/incident.do?WSDLAuthentication type: Basic
SOAP Message Functions auto-generated:
get
getRecords
insert
update
delete, etc.
then in the flow I created a soap step
Connection: Use Connection Alias
Connection Alias endpoint:
https://<instance>.service-now.com
Build Envelope: From WSDL
Selected WSDL: soap_incident (from the first step)
Operation: get
SOAP Action: http://www.service-now.com/incident.do?SOAP
and the problem is:
The SOAP step returns HTTP 200
But the response body is HTML, not SOAP
The HTML looks like the ServiceNow UI / Guest page
If I'm changing the "Connection Alias" to this URL https://<instance>.service-now.com/incident.do?SOAP
it is working, but then I cannot call to another soap step with https://<instance>.service-now.com/problem.do?SOAP.
because I cannot create another Connection Alias with the same domain.
So, my question is what is the correct setup?
Thanks for anyone that tries to answer 🙂
Lior Grinberg
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
HI @Lior grinberg1 ,
I am adding the step by step solution for you.
- Connection Alias: Keep your existing alias (e.g., ServiceNow_SOAP_Alias).
- Connection Record: Edit the Connection record linked to this alias.
- Connection URL: Set this to the Base URL only: https://<instance>.service-now.com.
- Credential: Ensure your Basic Auth credentials are attached here.
- In Flow Designer, open your Action and add a SOAP Step.
- Connection: Select "Use Connection Alias" and pick your ServiceNow_SOAP_Alias.
- Build Request: Select Manually (this is the key to unlocking the path override).
- Endpoint: This field will now be editable. Type: /incident.do?SOAP.
- Note: Because the Connection Alias provides the base domain, this path is appended to it at runtime.
- SOAP Action: Set to www.service-now.com.
- Envelope: Paste the XML envelope for the get operation. Use data pills from your Action Inputs to map variables like the sys_id.
- Create a second Action (or another SOAP step in the same action).
- Connection: Use the same ServiceNow_SOAP_Alias.
- Build Request: Select Manually.
- Endpoint: Type: /problem.do?SOAP.
- SOAP Action: Set to www.service-now.com.
- Envelope: Paste the XML envelope for the Problem get operation.
- WSDL Loading: You can still use the "From WSDL" option initially to generate your XML envelopes, but once generated, switching to Manually allows you to explicitly define the /table.do?SOAP path.
- Authentication: Ensure the user in your Credentials has the soap_query or itil role to access the Incident/Problem tables via SOAP.
- HTTP Header: If you still see HTML, manually add an HTTP Header in the SOAP step: Content-Type: text/xml.
If the solution is helpful for you please mark it as helpful.
Regards,
Sagnic
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
HI,
Thanks for the details answer.
I have a problem in step 2 I don't have a field to change the endpoint.
here is a screen shot:
Please help me with what is missing.
Thanks,
Lior Grinberg
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @Lior grinberg1 ,
You need to chnage the value in Request Details part ...
Connection Details will come based on connection.
so try the steps below.
- Change the "Build Request" Method:
- In your screenshot, locate the Build Request field under the Request Details heading.
- Change the value from From WSDL to Manually.
- The "Endpoint" Field Will Appear:
- Once you select Manually, a new field named Endpoint will appear, and the SOAP Action and SOAP Envelope fields will become editable.
- Set Your Custom Endpoint:
- Enter the specific path of your desired endpoint in the new Endpoint field.
- Note: The URL you set in the Connection URL field of the Connection Alias (e.g., https://<instance>.service-now.com in your image) is the base URL. The value you enter here is appended to that base URL.
- Example: To connect to the Incident SOAP API on your instance, you would type /incident.do?SOAP in this new Endpoint field.
- Manually Configure Request Details:
- You will now also need to manually enter the correct SOAP Action and paste the necessary SOAP Envelope XML payload for your specific operation (e.g., get, insert, update).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
HI Sagnicdas,
In the screenshot you can see that the build envelope is set to Manually.
Thanks,
Lior Grinberg
