Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Synchronous Outbound Calls from Business Rule – Can I Add "Won’t Fix" for certification of app?

HaridasP
Tera Contributor

Hi everyone,

I have a question related to App Certification and synchronous outbound REST API calls.

In my scoped application, I have a Business Rule that calls a function from a Script Include. Inside that Script Include, I am using synchronous outbound REST calls (execute()) — first to generate an access token, and then to make 3–4 more API calls in sequence using that token.

I understand that ServiceNow recommends using executeAsync() to avoid synchronous behavior for performance and scalability (as per the KB article).

However, in my case:

  • The logic needs to run sequentially
  • The API calls are dependent on each other
  • This flow is triggered from a Business Rule and I am using async business rule already.

Given this requirement, can I mark this as "Won’t Fix" in the review comments during the Certification process and explain the reasoning (that async isn't suitable here due to functional dependencies)?

Would that be acceptable as long as I clearly document it in the review notes?

Thanks in advance for any clarification or guidance!

1 ACCEPTED SOLUTION

@HaridasP Ideally it shouldn't impact but we never now what's going in the reviewers mind when they are reviewing your application. 

 

Also, please consider marking my responses helpful and accepted solution if they address your question.

View solution in original post

9 REPLIES 9

KrithikaV
Tera Expert

Hi @HaridasP - I am also facing a similar situation. How did you handle this situation? Did 'Won't Fix' review comment affect the certification? 

Hi @KrithikaV,
Use synchronous calls only if your app does not supports MID Server. Otherwise, you must use asynchronous calls — this is mandatory, as the certification team asks change all synchronous calls to asynchronous ones.

Thanks. @HaridasP . Our application does not support MID Server. So, I guess we are ok with making synchronous call

KrithikaV
Tera Expert

Hi @HaridasP , @Sandeep Rajput ,

 

I have been asked to change synchronous calls to asynchronous calls with an exception for a few. Do they allow executeAsync calls with waitForResponse? Or is using ecc_queue the only way out?
I have a doubt in the ecc_queue processing. If a Rest api call has to be made with a specific user action - say Add button click. The  user adds two rows resulting in two API calls with the same topic name (as the same code got executed twice). I see two entries in the ecc_queue with the same topic and source value. How do I distinguish which record corresponds to which API call?

Thanks,

Krithika

 

Hi @KrithikaV,


First of all, don't use executeAsync() with waitForResponse() because it blocks threads and the certification team does not allow this combination. The recommended way is to use the ecc_queue  approach.

For your doubt: You can create a Business Rule on the ecc_queue table with multiple conditions that match your requirements. These conditions can include fields such as source, queue, state, agent, and name (e.g., POST, PUT).

The Business Rule will then execute your script for each entry in the ecc_queue table associated with your API calls.

Also, please consider marking my responses helpful and accepted solution if they address your question.