Exciting news! Thirdera is being acquired by Cognizant.

Contact Us

Get Your App Published on the ServiceNow Store (Part 2)

In Part 1 of our blog series on developing apps for the ServiceNow Store we discussed some tips for situations where/when the Store can benefit your application, how to design your app, and tools that might help. Just catching up? Click here for a review of Part 1.

To many would-be application developers, one of the most valuable features of ServiceNow Store apps can also be one of its most intimidating: certification. Many coders and businesses might ask questions such as what types of requirements does my application need to meet in order to pass certification? Does my idea have enough merit to survive certification? Or, how can I best prepare to ensure certification doesn’t take months? These are just some of the questions we’ll seek to answer here, but rest assured that you are not alone in your concerns! Just keep this in mind – certifiers are not devilish programmers out to point out coding mistakes and question your abilities, nor is it an unresponsive robotic wall that intends to put frustration between your app and publishing. The certification team exists to help ensure ideas are well-executed and adhere to best practices on the platform.

In their App Store guidelines, Apple used to have a section regarding app certification that said, “This is not amateur hour.” At an initial glance that may appear harsh, but bear in mind the prerogative is ultimately to give customers confidence that the applications available through their Store are well-tested, highly performant, and effective solutions to real customer problems. When taking your idea from good to great, adding security, performance, and robustness are paramount, and feedback from the certification team will help you walk that path.

 

Certification Prep: Aiming for Smooth Sailing

First, before we even get into how to submit an app for certification, let’s discuss some ways that you can prepare your app. For starters, build a professional app and take advantage of many different platform features where applicable. Include reports and dashboards. Use table inheritance where possible to inherit existing features rather than recreating them. If an integration point for third-parties exists, use it rather than create a one-off solution. Ensure your code is well-documented and organised; ideally, something you’d be proud to hand to a computer science professor. And make sure you have reviewed ServiceNow best practices for development such as Community threads like this or ServiceNow Developer Site content. The better coded your app is, to begin with, the fewer interactions you’ll need with the certification team.

Another important tool to ready your application is called the “Certification Self-Test Tool”, and it is available in the platform application list. Note: This app will only be available on vendor instances obtained by those who have registered for the ServiceNow Technology Partner Program – you remembered that from Part 1, right? This importantly means you won’t be developing Store apps on your free dev instances. Open up the “System Applications” module and search for “Certification”:

MicrosoftTeams-image (5)-1

Image 1: Install the Certification Self-Test Tool

Once the “Certification Self-Test Tool” app is installed, you’ll find a new button on your applications labelled “Validate Application”. Clicking this button will trigger a set of tests very similar to the initial tests a certifier will run on your application, giving you a quick review of findings that may affect your certification. Different categories of tests will be grouped into the pass, fail, and warnings (see Image 2 below). Drill in on any issues and figure out how you can correct them before you submit. These could be simple best practices such as making sure your REST calls are asynchronous, including ACLs for your client-callable script includes, or making sure there are roles on your application modules and UI actions. The issues will include links and/or sys_ids for the records and application files affected. Make sure you address them all as it will make a large difference in how quickly you can get through certification.

Screenshot 4

Image 2: We want to see all "0" in the Fail column

Another bit of prep is combing through your application for any artifacts that you don’t want to include in the Store and ensuring it is clean and ready to download. Here are a few quick checks that you may find useful:

  • Clear out API Tokens or credentials, especially for integrations. You don’t want to leave default passwords in the app accidentally!
  • When installing through the Store, Deleted App Files are not processed, so you won’t be able to delete a file once it’s installed, only deactivate it. Before your first submission especially, take this into account and remove any files that aren’t needed.
  • If your app has any properties or settings, make sure you have them set to the default values customers will use
  • Make sure any tables, columns, client callable script includes, or UI Pages have ACLs and roles associated
  • Double check your app’s dependencies
  • Review all the lists, forms, reports, and homepages that are part of your app and remove any that are personalised for an individual user. You will find this frequently with lists as personalising a list will create an app file in your current scope. Delete any of these files belonging to users since the user won’t exist in target systems, resulting in install errors.
  • Review your Application Menu and modules, paying close attention to the roles assigned.
  • Consider making a Guided Tour walk a user through the initial setup of your app.

Finally, the certification team has three documentation templates available to help structure your efforts and communicate with the team. Before submitting the app, we want to prep this material ahead of time. These documents can be found in the TPP portal or requested through ServiceNow. Pro-tip: You’ll find advantages to being thorough with the ServiceNow documents as much of the material will help with end-user-facing user/admin guides you’ll want to write later on.

  1. Application Installation Guide – In this document, you’ll detail the dependencies, installation steps and setup, and how to work with and troubleshoot the application. This will help the certification engineer understand what your application does and how to work with it.
  2. Application Design Document – This document provides details about the architecture of your application, and what you’ve done to ensure performance and listings of the various application components that compose the entire structure. This is a good opportunity to include diagrams describing workflow, data flow, and/or integration structure.
  3. Application Test Plan – You did test your great application, right? This is a chance to document your test steps and results to give yourself and the certifiers confidence in the end results. (Another pro tip: Consider using these tests to generate Automated Test Framework (ATF) test suites. You’re likely to find the effort pays off when testing your app on future platform releases!)

All three of these documents will be required for certification submission, so preparation ahead of time will speed up the process.

 

What is next? 

Check back for the final installation (Part 3) in this series where I'll detail how to submit your app to the ServiceNow Store.

At Thirdera, we’ve built more certified ServiceNow apps than any other ServiceNow partner. Let our experience help turn your app from idea to asset on the ServiceNow Store! 

Contact Us

WRITTEN BY

Chris Bailey

Chris is a ServiceNow Certified Technical Architect with over 10 years of experience on the platform, including 8 years of experience developing custom Store applications and integrations. Most recently he has worked extensively with ServiceNow’s Security and CMDB business units to help Thirdera customers develop several class-leading integrations, and this work continues to contribute to Thirdera’s industry-best marks in ServiceNow Store application delivery.
[blog, servicenow-store] [Blog, ServiceNow Store]