how to use soap step in flow designer correctly

Lior grinberg1
Tera Contributor

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?WSDL
  • Authentication type: Basic

  • SOAP Message Functions auto-generated:

    • get

    • getRecords

    • insert

    • update

    • delete, etc.

then in the flow I created a soap step

 

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

 

 

 

 

 

1 REPLY 1

sagnicdas
Kilo Guru

HI @Lior grinberg1 ,

I am adding the step by step solution for you.

Step-by-Step Solution
 
1. Configure the Connection Record (The "Shared" Part)
  • 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. 
 
2. Configure Action 1: Get Incident
  1. In Flow Designer, open your Action and add a SOAP Step.
  2. Connection: Select "Use Connection Alias" and pick your ServiceNow_SOAP_Alias.
  3. Build Request: Select Manually (this is the key to unlocking the path override).
  4. 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.
  5. SOAP Action: Set to www.service-now.com.
  6. Envelope: Paste the XML envelope for the get operation. Use data pills from your Action Inputs to map variables like the sys_id.
 
3. Configure Action 2: Get Problem
  1. Create a second Action (or another SOAP step in the same action).
  2. Connection: Use the same ServiceNow_SOAP_Alias.
  3. Build Request: Select Manually.
  4. Endpoint: Type: /problem.do?SOAP.
  5. SOAP Action: Set to www.service-now.com.
  6. Envelope: Paste the XML envelope for the Problem get operation.
 
Summary Checklist for Success
  • 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