- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-11-2025 05:24 AM - edited 04-11-2025 05:28 AM
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!
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-13-2025 09:56 AM
@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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-28-2025 06:51 PM
Hi @HaridasP - I am also facing a similar situation. How did you handle this situation? Did 'Won't Fix' review comment affect the certification?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-29-2025 01:28 AM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-30-2025 07:10 AM
Thanks. @HaridasP . Our application does not support MID Server. So, I guess we are ok with making synchronous call
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-28-2025 05:30 PM
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2025 01:49 AM
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.
