Today I had the chance to get some Flow Designer and IntegrationHub information of the next ServiceNow release in Q1 2020: Orlando!
The Orlando release is according to the motto ‘Smarter, Faster, Easier’. Some of the release notes are described below on behalf of the Safe Harbor statement:
Flow Designer Flow Designer is a Now Platform® Feature that gives you rich capabilities for automating processes in a single design environment. Flow Designer lets process owners use natural language to automate approvals, tasks, notifications, and record operations without coding.
The published new functions include:
Support IntegrationHub
Data Transformations
3rd party introspection of results
Dynamic Outputs
Dynamic Subflows
What changed trigger
Support Service Level Management
SLA Timer
Natural Language
Action title authoring
IntegrationHub IntegrationHub is ServiceNow’s possibility to integrate 3rd party systems. It enables anyone-developers, IT generalists, and process analysts-to extend flows in Flow Designer to any 3rd party service and easily create end-to-end digital workflows.
Last Wednesday, it was finally time! We, the ServiceNow team of cellent a Wipro company celebrated the ITSM and CSM go-live of our instance together with Timo Asseburg, Sales of ServiceNow in Fellbach.
ServiceNow sponsored a customized cake that has a long tradition.
We had some constructive conversations with him and are looking forward to working together with him and ServiceNow.
ServiceNow offers some Apps for mobile phones to make it easier to work everywhere and anytime you want. Currently there are four Apps offered by ServiceNow: ServiceNow Classic Now® Mobile ServiceNow® Agent ServiceNow® Onboarding
I only want to provide a quick overview of these Apps.
ServiceNow Classic
The ServiceNow Classic mobile app is similar for both Android and iOS with a few minor differences to make the experiences unique to each platform.
Using the ServiceNow Classic mobile app to:
Access lists and forms.
Save favorite lists and records to the app homescreen.
Access the Service Catalog from your mobile device.
Communicate with other users within the platform using Connect Chat for mobile.
Share your location.
The functions are stripped down a bit, but you are able to watch incidents or tasks assigned to you, create new one and so on. You have access to your favorites as well. So you are able to work on the go like you are at your workplace.
The ServiceNow Classic app is already functional out of the box and can be used directly.
Now® Mobile
Fast help, one place for approvals, global search like info, items or contacts are only a few benefits of the Now® Mobile app.
With Now® Mobile, employees can find answers and get stuff done across IT, HR, facilities, finance, legal, and other departments – all from a modern mobile app powered by the Now Platform®.
To-dos and approvals
Global search
Service catalog
Knowledge articles
Virtual Agent and live chat
Siri Shortcuts
The Now® Mobile is available with IT Service Management or HR Service Delivery and powered by the Now Platform.
ServiceNow® Agent
Mobile consumer apps enable you to connect with friends, hail a ride, or order a takeout with a few tabs or swipes. Now you can get work done on your phone as easily.
Incident and case management
Team-wide visibility
Approvals
Task-focused layouts
Device hardware integration
Offline read and write
Dynamic landing pages
Mobile Agent is available with the Now Platform®. Build digital workflow apps and extend your ServiceNow solutions with a leading platform as your foundation.
ServiceNow® Onboarding
Enable new hires to complete tasks, view content, and get help across departments – all from a single native mobile app.
Unlike the other apps, this one is optimized for new hires before their first day and the first days after.
The functions of this app are only available by the Now Platform powered Enterprise Onboarding and Transitions module.
It’s time for
customizing the ServiceNow instance. In this article I’ll explain you how to
create custom CSS themes for your ServiceNow instance.
In our company we
wanted to customize our instance with two themes. A light one and a modern
looking dark one. The most popular pros of dark themes are, they are battery
saving, good to look at and more important, they are better four your eyes 😉
but only if you are working on night-time or dimmer workspaces. When you work
in bright environments, a light theme is better for your eyes.
Both themes should
be leaned to our corporate identity. So we asked our marketing to get the color
codes. Since the color codes are in RGB we had to transform them into hex color
codes. You can find a appropriate website below under Related Lists.
Required Roles admin
UI16 The easiest way to customize the look of your instance is to edit the System Properties -> Basic Configuration UI16 module. In this module you are able to change some popular design options like the following:
Label
Description
Related System Property
Page header caption
Custom Text in the Banner Frame.
glide.product.description
Browser tab title
Title of the browser tab. Note: the browser tab title is divided into two sections: the title of the current displayed module and the defined Browser tab title. Both separated by a ‘|’ character. Knowledge is the current selected module ant ‘ITSM universe – DEV’ is the Browser tab title.
glide.product.name
System timezone for all users unless overridden in the user’s record
Select the time zone in the choice list. This is the default time zone every user has initially selected. The user is able to change this time zone in the user settings. You can click on Configure available time zones to prevent the users from selecting unnecessary time zone.
glide.sys.default.tz
Banner image for UI16
Add a custom logo.
glide.product.image.light
Date format Time format
Select the date and time formats from the choice lists
glide.sys.date_format Glide.sys.time_format
Header background color
Color for the Banner Frame background.
css.$navpage-header-bg
Banner text color
Color for the Banner Frame text.
css.$navpage-header-color
Header divider stripe color
Color for the divider between the Banner Frame and the Application Navigator.
css.$navpage-header-divider-color
Navigation header/footer
Color for the header/footer of the Application Navigator section.
css.$navpage-nav-bg
Navigation background expanded items
Background color for the expanded modules in the Application Navigator.
css.$subnav-background-color
Module text color for UI16
Color for the module text.
css.$navpage-nav-color-sub
Navigation selected tab background color
Color for the active tab in the Application Navigator.
css.$navpage-nav-selected-bg
Navigation selected tab divider bar color
Color of the divider of the active tab and the Application List in the Application Navigator. Note: This color is also used as part of the theme preview on the Themes tab under system settings.
css.$nav-highlight-bar-active
Navigation unselected tab divider bar color
Color of the divider of the inactive tab and the Application List in the Application Navigator.
css.$nav-highlight-bar-inactive
Navigationseparator color
Color for the divider of navigation separator.
css.$nav-hr-color
Background for navigator and sidebars
Background color of the navigator and sidebars.
css.$navpage-nav-bg-sub
Currently selected Navigation tab icon color for UI16
Color of the active Navigation tab icon.
css.$navpage-nav-selected-color
Unselected navigation tab icon and favorite icons color
Color of the inactive Navigation tab icon.
css.$navpage-nav-unselected-color
Border color for UI16
Select or enter the color. Also affects the border of the Filter conversations search box in the Connect Chat sidebar.
css.$navpage-nav-border
Selected base theme
Switches the main content (everything other than the application navigator and the header) between the La Jolla and Cobalt themes.
glide.ui.base_theme.selected_theme
Do not forget to Save your settings. 😉
Base Theme Maybe you are asking yourself, what the base theme is as I have done. Therefore I want to provide clarity.
The two base themes
are ‘La Jolla’ and ‘cobalt’. La Jolla is the new brand theme for ServiceNow.
Since the Upgrade from previous Versions to Madrid, the theme is automatically
upgraded to the La Jolla theme. Any customizations you have made to the system
will not be upgraded.
CSS class support With CSS variables you have more power to customize the look of the instance than with the Basic Configuration UI16 module.
CSS class
Description
How to configure
Affected area
$navpage-header-bg
Header background color
Navigate to System Properties > Basic Configuration UI16 > Header background color
$navpage-header-color
Color for header text and the global search icon
Navigate to System Properties > Basic Configuration UI16 > Banner text color
$navpage-header-button-color
Color for logged in user name text, and the global searchConnect, Help, and settings icons
Add Theme I’ll provide you two examples of themes, a dark and a light one. Maybe you’ll need to play with your color variables to get the best suited design for your instance. In some cases you could set one color to two variables and the worst could be to no longer see your text. The best is to test your custom CSS themes in your companies dev instance or your personal dev instance. 😉
To upload your
custom theme, go to System UI -> Themes
and click New.
You have to provide the following information: Name: provide a name for your theme like COMPANYNAMELight or COMPANYNAMEDark. Base Theme: Selest a base theme. As you learnd, select the La Jolla theme. Application: keep Global. Active: select if you are ready to offer the theme for your coworkers. CSS: provide the CSS variables and settings in the following format: $navpage-header-bg: #3c3c3c Device: select one of the following from the Device choice list to identify the user interface version for the theme:
Option
Description
Browser
Identifies a
Legacy: UI11 theme.
Doctype
Identifies a UI15
theme.
Concource
Identifies a UI16
theme.
To apply the theme,
go to Settings in the Banner Frame, Theme and then choose your
preferred theme.
Note: When you are already creating themes for
the prod instance, keep thinking on create one single theme with other colors
for your dev or each other instance in order to be able to distinguish them
visually quickly.
Ever
wondered how you can clone your productive environment to your development
environment to work, test and develop with real data?
That’s
what we want in our company. For now we made all changes in the productive
environment, as the initial configuration. But after the go live, we wanted to
test the changes and planned improvements for the ServiceNow experience before
we implement those in our productive instance.
Note: The cloning process in ServiceNow is
handled as a change request in the HI portal.
Clone process
In the
following image you’ll find the clone process.
The
following tasks will be performed of the ServiceNow platform:
Generates a file to preserve operational data on the target server. This file contains the data preserved by data preservers.
Copies the database schema from the source instance to the target instance.
Create tables in the target instance database using the source instance table definitions.
Copies data from the most recent nightly backup of the source instance to the target instance database. Certainly large tables are normally excluded. These include audit, log, and email tables.
Briefly disables UI traffic and requests to the target instance server.
Displays the message Clone in progress… to any user accessing the target instance.
Restores operational data preserved from the target instance.
Runs any post-clone cleanup scripts on the target instance.
Briefly suspends all email functions on the target instance.
Queues any event to regenerate text indexes.
Enables UI traffic and requests to the target instance server.
What you’ll need:
Roles: Clone_admin URL of target instance Admin username and password of target instance
Note: The target cannot be a live production
instance
Note: Ensure the target instance, whether dev,
test, stage or other, has the system property glide.db.clone.allow_clone_target
enabled.
After you
provided all information, we will prepare the cloning process.
Source instance:
Co create
a target, go to the module Administration -> Clone Targets and hit new.
Select the target instance
Now we
created a target entry, we will request the clone process. Therefore navigate
to System Clone -> Request Clone.
You are
asked to provide the target instance. Therefore select the previous created
instance.
In the
next field, you can define a schedules start time for the clone process.
Now a
form is displayed where you have to set the necessary information:
Field
Description
Target instance
Select the previous created instance as target.
Clone Schedules Start time
Note: I’d like to recommend to clone the instance outside the business hours due to performance issues of the productive, source instance.
Email upon completion
Email recipient when the clone is done or failed
Clone
options
Field
Description
Exclude tables specified in Exclusion List
Prevent cloning records from the source instance specified in the System Clone > Exclude Tables module. Use this option to create empty but usable tables on the target instance. By default, the system excludes tables for auditing, license usage, logging, and notifications. This option is selected by default. Note: This option is not supported by the legacy clone engine.
Exclude audit and log data
Prevents cloning audit and log records from the source instance. Use this option to create empty but usable audit and log tables on the target instance. This option is selected by default.
Exclude large attachment data
Prevents the cloning of large attachments such as video files, image files, and other typically large binary file types. Excludes all common binary file types, regardless of file size. When selected, the clone also excludes attachments from the Attachments [sys_attachment] and Attachment Documents [sys_attachment_doc] tables that meet all these criteria. The attachment table_name value does not indicate it is a small file. Small attachments have table name values that start with ZZ_. The attachment data type value indicates it is a large file such as application or video. The attachment table_name is not one of these system tables: sys_certificate, ecc_agent_jar, ecc_agent_mib, sys_store_app, or invisible.sys_store_app.
Amount of data copied from large tables
Select the number of days of historical data to clone from large source tables, including task, pa_scores, and metric_instance. By default, the target instance receives the latest 90 days of historical data from the source instance.
Preserve theme
Preserves the theme and CSS elements on the target clone.
Preserve users and related tables
Prevents Users and user-related tables from being overwritten on the target clone.
Clone frequency*
Specify how often this target automatically receives clone data. For more information about scheduling cloning, see Schedule cloning.
No. of occurrences*
Specify the number of automatic clonings. The maximum value is 9.
*This is not necessary in our use-case.
After you
provided all information and hit the submit button, you are asked to
authenticate with the credentials of the target instance admin.
When
everything is prepared, you’ll receive change request notifications for your
clone request. Those notifications are sent from the HI portal.
I’d like
to show you this notifications, but there are sensitive data contained, so
you’ll need to view those on your own. 😉
Cancel a clone
Required role: Admin
In some cases you have to cancel a clone process for a reason. To cancel the clone, you simply go to the module System Clone -> Live Clones -> Active Clones. You’ll find a list with the active clones. Now open the wanted clone. The option to cancel a clone, you find on the Related Links section. Be careful, the clone process is directly canceled. You won’t receive any confirmation page.
Duration and completion
The
duration of the progress depends on your amount of data and which tables you
defined for the cloning.
For
comparison, we have productive data from two months and not excluded any table.
In our case, the cloning took about 00:45h for completion. You can see the
history as well as the Clone Logs in the System Clone -> Live Clones ->
Clone History module.
Rollback
After
clone completion, you have up to contact ServiceNow Customer Support and
request a rollback of the target instance to its pre-clone state. You are
notified when the rollback is complete.
Es ist eine meiner ersten Konferenzen und die erste von ServiceNow überhaupt. Ich bin unglaublich froh, dabei zu sein!
Die Konferenz findet am 30. Okober 2019 im Congress Center Messe Frankfurt statt.
Über Now at Work – Für eine Welt, in der Arbeit
weniger Arbeit macht
Now at Work
bringt außergewöhnliche Menschen zusammen, die die Arbeitswelt verändern.
Besuchen Sie uns in Frankfurt und erleben Sie, wie digitale Workflows die
Arbeit für jeden sinnvoller und produktiver machen. Für eine Welt, in der
Arbeit weniger Arbeit macht.
Lassen Sie sich inspirieren
Experten aus
renommierten deutschen Unternehmen teilen mit Ihnen aus erster Hand, wie
vormals fragmentierte Prozesse in ihren Unternehmen durch intelligente,
digitale Workflows transformiert wurden.
Informieren Sie sich
Es erwarten
Sie spannende Vorträge und praxisnahe Trainings mit technischen Experten und
Entscheidungsträgern, die Sie dabei unterstützen, leistungsstarke digitale
Workflows auch in Ihrem Unternehmen zu entwerfen und zu implementieren.
Vernetzen Sie sich
Tauschen Sie
sich aus mit ServiceNow-Kunden, -Partnern und -Experten aus Deutschland, die
Sie bei Ihrer digitalen Transformation inspirieren und unterstützen können.
Werden Sie aktiv
Erstellen
Sie neue Enterprise Workflow Apps, oder erleben Sie einen Deep Dive zu den
neuen Funktionen der Now Platform.
In the company I’m
employed at we’re currently planning our service level agreements based on the
different contracts, wondering how we can do justice to the situation of
various public holidays of the German states.
Now I’m sitting here
and wondering, how to easily create a single data source in excel for the
public holidays in Germany and import them all at once. There should be a solution to make a bulk
import but I’m not able to find something on the world wide web.
So now I’m on my
own. To my luck there are some default schedules for the U.S. Holidays on which
I can orient myself.
The entries shown
there are very well. But what’s with the dynamic holidays like Easter Sunday? –
One solution came around in mind: Create an own schedule with all dynamic days
for this and then create an parent-child relationship. For this it should be possible
to create an excel file and then import everything all at once.
Export source data
First of all, I viewed the schedules table (cmn_schedule) where all schedules are stored. To export this table, you only need to click on one column option , select Export and then Excel (.xlsx).
To export the second
table, I had to find the name. For this, I opened an schedule entries entry and
right clicked on Show – ‘name’. After this, a small window appeard and I was
able to see the table name (cmn_schedule_span):
I searched for this
table by typing in cmn_schedule_span.list in the navigation field and hit
enter. I exported this table like the one before.
Now I have the data
of both, the schedules and the schedule entries.
From now it would be
easy – I thought.
After I viewed the
Content frame, I saw a related list which handles the parent/child
relationships. This is a requirement as well. To find this table, I had to
search a lot. But I’ve done it.
You need to klick in the table, e.g. Child Schedules on the Column Options , Configure and then select table. A new form is shown and you can see the table name cmn_other_schedule. Now I searched again in the navigation field to view the entries and export them.
Now I have all three source tables where I can orient myself:
Cmn_schedule.xlsx – all schedules are stored here
Cmn_schedule_span.xlsx – all schedule entries are stored, like the holiday “Neujahr” and it’s value, even if and when it’s repeated.
Cmn_other_schedule.xlsx – all parent child relationships are stored here
Plan the data
I have opted for a
detailed and yet simple method. For each object I make an own schedule where
either the entry is stored or at least the reference to the child schedule.
So I had to gather
all the information. You can see them in the following list:
Allerheiligen
Augsburger Friedensfest
Baden-Württemberg
Bayern
Berlin
Brandenburg
Bremen
Buß- und Bettag
Christi Himmelfahrt
Deutsche einheitliche Feiertage
erster Weihnachtstag
Fronleichnam
Hamburg
Heiligabend
Heilige drei Könige
Hessen
internationaler Frauentag
Karfreitag
Mariä Himmelfahrt
Mecklenburg Vorpommern
Neujahr
Niedersachsen
Nordrhein-Westfalen
Ostermontag
Ostersonntag
Pfingstmontag
Pfingstsonntag
Reformationstag
Rheinland-Pfalz
Saarland
Sachsen
Sachsen-Anhalt
Schleswig-Holstein
Silvester
Tag der Arbeit
Tag der deutschen Einheit
Thüringen
Weltkindertag
zweiter Weihnachtstag
In the second step I
need the relationship of the individual schedules.
Parent Schedule
Child schedule
Baden-Württemberg
Heilige
drei Könige
Baden-Württemberg
Fronleichnam
Baden-Württemberg
Allerheiligen
Bayern
Mariä
Himmelfahrt
Bayern
Allerheiligen
Bayern
Heilige
drei Könige
Bayern
Fronleichnam
Berlin
internationaler
Frauentag
Brandenburg
Reformationstag
Bremen
Reformationstag
DE
consostent Holidays
DE
consostent dynamic Holidays
Deutsche
einheitliche Feiertage
Ostermontag
Deutsche
einheitliche Feiertage
Pfingstmontag
Deutsche
einheitliche Feiertage
zweiter
Weihnachtstag
Deutsche
einheitliche Feiertage
Tag
der Arbeit
Deutsche
einheitliche Feiertage
Tag
der deutschen Einheit
Deutsche
einheitliche Feiertage
Silvester
Deutsche
einheitliche Feiertage
Karfreitag
Deutsche
einheitliche Feiertage
Christi
Himmelfahrt
Deutsche
einheitliche Feiertage
Heiligabend
Deutsche
einheitliche Feiertage
Ostersonntag
Deutsche
einheitliche Feiertage
Pfingstsonntag
Deutsche
einheitliche Feiertage
erster
Weihnachtstag
Deutsche
einheitliche Feiertage
Neujahr
Hamburg
Reformationstag
Hessen
Fronleichnam
Mecklenburg
Vorpommern
Reformationstag
Niedersachsen
Reformationstag
Nordrhein-Westfalen
Fronleichnam
Nordrhein-Westfalen
Allerheiligen
Rheinland-Pfalz
Fronleichnam
Rheinland-Pfalz
Allerheiligen
Saarland
Mariä
Himmelfahrt
Saarland
Fronleichnam
Saarland
Allerheiligen
Sachsen
Buß-
und Bettag
Sachsen
Reformationstag
Sachsen-Anhalt
Heilige
drei Könige
Sachsen-Anhalt
Reformationstag
Schleswig-Holstein
Reformationstag
Thüringen
Reformationstag
To plan the data for
the entries, I searched the web to find a list where every holiday in germany
and the corresponding states are stored. After a short time I found what I was
looking for. On the web page of excelformeln (http://www.excelformeln.de/formeln.html?welcher=3)
is a well explained forumla to identify the Ostersonntag. Based on this
holiday, it’s easy to calculate each other dynamic holiday. There is also a
file stored which already provides every holiday in each state. A nice benefit!
With this file it
was very easy for me to plan the holidays and transform them into the file.
The most important
fields for the entries are the following in a specific format:
Field name
Example
Name
Neujahr
All day
TRUE
Repeat
on
1
Start
date time
01.01.2019
00:00:00
End date
time
01.01.2019
23:59:59
Class
Schedule
Entry
Month
1
Monthly
type
Day of
the month
Repeat
every
1
Repeat
until
0
Repeats
Yearly
Schedule
Deutsche
einheitliche Feiertage
Show as
Busy
Type
Busy
Yearly
type
Day of
the year
Import the update sets
Warning: it’s
necesarry to import the files in the following order. If not, the importing
process will go wrong:
Cmn_schedule
Cmn_schedule_span
Cmn_other_schedule
To import the
updates, I first have to load the data. Go to System Import Sets -> Load
Data.
I created a new
table like displayed in the image and hit submit:
The data was
successfully loaded. Now I have to create a transform map. Therefore click on
the Next steps Create transform map.
After I provided all necessary information, I clicked on Auto Map Matching Fields.
Sometimes you have
to use the Mapping Assist to map the
source field to the correct target field. After everything has been mapped, you
can Transform.
Now you can view the
Schedules list and validate the import.
Now repeat this with
the other two tables:
Cmn_schedule_span.xlsx Load Data: – Import set table: Create table – Label: cmn_schedule_span holiday import – Source of the import: File – File: cmn_schedule_span.xlsx Create transform map: – Name: cmn_schedule_span holiday import – Target table: Schedule Entry [cmn_schedule_span] Auto Map Matching Fields Mapping Assist (optional) NOTE: check Name field Transform
Cmn_other_schedule.xlsx Load Data: – Import set table: Create table – Label: cmn_other_schedule holiday import – Source of the import: File – File: cmn_other_schedule.xlsx Create transform map: – Name: cmn_other_schedule holiday import – Target table: Other Schedule [cmn_other_schedule] Auto Map Matching Fields Mapping Assist (optional) Transform
Please validate the
new Schedules. Now you and we are able to create SLAs to provide correct
functionality based on your needs.