<h2>Set up Microsoft Entra ID spoke</h2><br/><div style="overflow-x:auto"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta content="text/html; charset=UTF-8" /><meta name="copyright" content="(C) Copyright 2025" /><meta name="DC.rights.owner" content="(C) Copyright 2025" /><meta name="generator" content="DITA-OT" /><meta name="DC.type" content="task" /><meta name="DC.title" content="Set up Microsoft Entra ID spoke" /><meta name="abstract" content="Integrate the ServiceNow instance and your Microsoft Entra account by creating a custom OAuth application in Microsoft Entra ID to authenticate ServiceNow requests." /><meta name="description" content="Integrate the ServiceNow instance and your Microsoft Entra account by creating a custom OAuth application in Microsoft Entra ID to authenticate ServiceNow requests." /><meta name="DC.creator" content="ServiceNow" /><meta name="DC.date.created" content="2023-08-03" /><meta name="DC.date.modified" content="2025-01-29" /><meta name="page-type" content="automation-engine" /><meta name="DC.format" content="XHTML" /><meta name="DC.identifier" content="set-up-azure" /><link rel="stylesheet" type="text/css" href="../../../CSS/commonltr.css" /><title>Set up Microsoft Entra ID spoke</title></head><body> <div class="nested0" id="set-up-azure"> <h1 class="title topictitle1" id="ariaid-title1">Set up <span class="ph">Microsoft</span> Entra ID spoke</h1> <div class="body taskbody"><p class="shortdesc">Integrate the <span class="ph">ServiceNow</span> instance and your <span class="ph">Microsoft</span> Entra account by creating a custom OAuth application in <span class="ph">Microsoft</span> Entra ID to authenticate <span class="ph">ServiceNow</span> requests.</p> <div class="section" id="set-up-azure__section_vmt_kry_31c"><span>Demonstrates how to set up the <span class="ph">Microsoft</span> Entra ID spoke (formerly known as Microsoft Azure Active Directory spoke).</span> <div class="p"> <div class="note"><span class="notetitle">Note:</span> This video is made using <span class="ph">ServiceNow</span> instance of the <span class="ph">Utah</span> version and Flow Designer UI is shown. If you are using <span class="ph">ServiceNow</span> instance of the <span class="ph">Washington DC</span> version or later, perform the same steps and navigate to <span class="ph">Workflow Studio</span> instead of Flow Designer.</div> </div> </div> <div class="section prereq p" id="set-up-azure__prereq_xzz_hbr_qfb"> <ul class="ul" id="set-up-azure__ul_k2k_mph_gfa"><li class="li">Request an <span class="ph">Integration Hub</span> subscription.</li><li class="li">Activate the <span class="ph">Microsoft</span> Entra ID spoke.</li><li class="li">Role required: admin.</li></ul> </div> </div> <div class="topic task nested1" id="configure-azure-ad-account"> <h2 class="title topictitle2" id="ariaid-title2">Create an <span class="ph">Microsoft</span> Entra ID application</h2> <div class="body taskbody"><p class="shortdesc">Create a custom app using your Azure portal to enable OAuth 2.0 authentication with the <span class="ph">Microsoft</span> Entra ID spoke.</p> <div class="section prereq p" id="configure-azure-ad-account__prereq_us3_4wl_blb"> <div class="p"><ul class="ul" id="configure-azure-ad-account__ul_l2l_mph_gfb"><li class="li">Request <span class="ph">Integration Hub</span> subscription.</li><li class="li">Activate the <span class="ph">Microsoft</span> Entra ID spoke.</li><li class="li"><span class="ph">Microsoft</span> Entra ID spoke requirements:<ul class="ul" id="configure-azure-ad-account__ul_v15_5vl_blb"><li class="li"><span class="ph">Microsoft</span> Entra ID account</li><li class="li"><span class="ph">Microsoft</span> Entra ID administrator credentials</li></ul> </li><li class="li">Role required: admin</li></ul> </div> </div> <div class="section context" id="configure-azure-ad-account__context_e55_tz4_qfb">Complete these steps from your Azure portal. See the <a class="xref" href="https://learn.microsoft.com/en-us/entra/identity-platform/" target="_blank" rel="noopener noreferrer">Microsoft identity platform documentation</a> documentation for instructions on creating and configuring custom applications.</div> <ol class="ol steps" id="configure-azure-ad-account__steps_vs3_4wl_blb"><li class="li step stepexpand"> <span class="ph cmd">From your Azure portal, access <span class="ph">Microsoft</span> Entra ID.</span> </li><li class="li step stepexpand"> <span class="ph cmd">Create an <span class="ph">Microsoft</span> Entra ID application.</span> <div class="itemgroup info">Alternatively, you can use an existing application. Ensure that you configure the existing application as outlined here.</div> </li><li class="li step stepexpand"> <span class="ph cmd">Navigate to <span class="ph uicontrol">App registrations</span> and click <span class="ph uicontrol">New registration</span>.</span> </li><li class="li step stepexpand"> <span class="ph cmd">On the form, fill the values.</span> </li><li class="li step stepexpand"> <span class="ph cmd">In <span class="ph uicontrol">Redirect URI</span>, enter your <span class="ph">ServiceNow</span> instance URL in this format: https://<Instance-Name>.service-now.com/oauth_redirect.do.</span> <div class="itemgroup info">See <a class="xref" href="https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal" target="_blank" rel="noopener noreferrer">Create a Microsoft Entra application and service principal that can access resources</a> for instructions on registering and configuring an application.<div class="p"><div class="fig fignone" id="configure-azure-ad-account__fig_xgl_3sd_cvb"> <img class="image" id="configure-azure-ad-account__image_b2h_ksd_cvb" src="../../integrationhub/images/ms-azure-ad-create-app.png" alt="Create an application." /> </div> </div> </div> </li><li class="li step stepexpand"> <span class="ph cmd">Click <span class="ph uicontrol">Register</span>.</span> <div class="itemgroup stepresult">The application is created and the required details are displayed.</div> </li><li class="li step stepexpand"> <span class="ph cmd">Copy and record the value of Directory ID.</span> <div class="itemgroup info">This value is required to register the app as a third-party OAuth provider on your <span class="ph">ServiceNow</span> instance.<div class="p"><div class="fig fignone" id="configure-azure-ad-account__fig_ijc_nsd_cvb"> <img class="image" id="configure-azure-ad-account__image_tqp_nsd_cvb" src="../../integrationhub/images/ms-azure-ad-copy-dir-id.png" alt="Copy Directory ID." /> </div> </div> </div> </li><li class="li step stepexpand"> <span class="ph cmd">Click <span class="ph uicontrol">Certificates & secrets</span>.</span> </li><li class="li step stepexpand"> <span class="ph cmd">Click <span class="ph uicontrol">New client secret</span>.</span> <div class="itemgroup stepresult">Secret is generated and displayed.</div> </li><li class="li step stepexpand"> <span class="ph cmd">Copy and record the value.</span> <div class="itemgroup info">This value is required to register the app as a third-party OAuth provider on your <span class="ph">ServiceNow</span> instance.<div class="p"><div class="fig fignone" id="configure-azure-ad-account__fig_s3c_qsd_cvb"> <img class="image" id="configure-azure-ad-account__image_vc5_qsd_cvb" src="../../integrationhub/images/ms-azure-ad-copy-sec.png" alt="Copy value of client secret." /> </div> </div> </div> </li><li class="li step stepexpand"> <span class="ph cmd">Click <span class="ph uicontrol">API permissions</span>.</span> </li><li class="li step stepexpand"> <span class="ph cmd">Click <span class="ph uicontrol">Add a permission</span> to add the required permissions to access the APIs. For information about permissions needed to perform the required actions, see the Spoke actions section here: <a class="xref" href="../../integrationhub/concept/microsoft-azure-ad-spoke.html" title="Manage users, applications, groups, devices, tenants, service principals, and passwords. Apply licenses and provision users in Office 365.">Microsoft Entra ID Spoke (formerly Microsoft Azure Active Directory spoke)</a>.</span> <div class="itemgroup info"> <div class="note"><span class="notetitle">Note:</span> The signed-in Entra ID user must have the <a class="xref" href="https://learn.microsoft.com/en-us/graph/api/group-post-members?view=graph-rest-1.0&tabs=http" target="_blank" rel="noopener noreferrer">roles</a> that are required to perform the specific actions in the <span class="ph">Microsoft</span> Entra ID spoke, for example, the Group owners role.</div> <div class="fig fignone" id="configure-azure-ad-account__fig_b3m_tsd_cvb"> <img class="image" id="configure-azure-ad-account__image_b4k_5sd_cvb" src="../../integrationhub/images/ms-azure-ad-api-perm.png" alt="Add API permissions." /> </div> </div> </li><li class="li step stepexpand"> <span class="ph cmd">Grant admin consent to your application.</span> <div class="itemgroup info">See <a class="xref" href="https://learn.microsoft.com/en-us/entra/identity-platform/quickstart-configure-app-access-web-apis#understanding-api-permissions-and-admin-consent-ui" target="_blank" rel="noopener noreferrer">Quickstart: Configure a client application to access a web API</a> for more information.</div> </li></ol> </div> </div> <div class="topic task nested1" id="ms-azure-ad-temp"> <h2 class="title topictitle2" id="ariaid-title3">Configure a connection for the <span class="ph">Microsoft</span> Entra ID spoke</h2> <div class="body taskbody"><p class="shortdesc">Configure a connection to your <span class="ph">Microsoft</span> Entra ID account. The <span class="ph">Microsoft</span> Entra ID spoke connection and credential aliases use these connections to perform actions in the <span class="ph">Microsoft</span> Entra ID.</p> <div class="section prereq p" id="ms-azure-ad-temp__prereq_ejs_3ls_ncc">Role required: admin.</div> <ol class="ol steps" id="ms-azure-ad-temp__steps_fjs_3ls_ncc"><li class="li step stepexpand"> <span class="ph cmd">Navigate to <span class="ph menucascade"><span class="ph uicontrol">All</span> > <span class="ph uicontrol">Process Automation</span> > <span class="ph uicontrol">Workflow Studio</span></span>.</span> </li><li class="li step stepexpand"> <span class="ph cmd">Click the <span class="ph uicontrol">Integrations</span> tab.</span> </li><li class="li step stepexpand"> <span class="ph cmd">Under <span class="ph uicontrol">Connections</span>, toggle and enable the <span class="ph uicontrol">Outbound</span> connections.</span> </li><li class="li step stepexpand"> <span class="ph cmd">Locate the alias for <span class="ph uicontrol">AzureAD</span> and click <span class="ph uicontrol">View Details</span>.</span> <div class="itemgroup info"> <ul class="ul" id="ms-azure-ad-temp__ul_gjs_3ls_ncc"><li class="li">To configure the default connection and credential alias record that is shipped along with the Entra ID spoke, click <span class="ph uicontrol">View Details</span>.<p class="p"><img class="image" id="ms-azure-ad-temp__image_hjs_3ls_ncc" src="../../integrationhub-store-spokes/image/entra-id-connection.png" alt="Connection for the Entra ID spoke" /></p> </li><li class="li">To manage more than one Entra ID spoke connection records, you should create a new child alias record by clicking <span class="ph uicontrol">Add Connection</span>. For more information about using multiple connections, see <a class="xref" href="../../integrationhub/concept/support-multiple-connections.html" title="Support several connections to a single integration provider. Select connections for flows, subflows, and actions directly from a flow.">Supporting multiple connections</a>.</li></ul> <p class="p">If you are configuring the spoke for the first time, click <span class="ph uicontrol">Configure</span>. Otherwise, click <span class="ph uicontrol">Edit</span>.</p> <p class="p"><img class="image" id="ms-azure-ad-temp__image_ijs_3ls_ncc" src="../../integrationhub-store-spokes/image/entra-id-connection-conf.png" alt="Initial connection configuration." /></p> </div> </li><li class="li step stepexpand"> <span class="ph cmd">On the form, fill in these fields:</span> <div class="itemgroup info"> <div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="ms-azure-ad-temp__table_jjs_3ls_ncc" class="table" frame="border" border="1" rules="all"><colgroup><col /><col /></colgroup><thead class="thead" style="text-align:left;"><tr class="row"><th class="entry cellrowborder" style="vertical-align:top;" id="d744404e594">Field</th><th class="entry cellrowborder" style="vertical-align:top;" id="d744404e597">Value required</th></tr></thead><tbody class="tbody"><tr class="row"><td class="entry cellrowborder" colspan="2" style="vertical-align:top;" headers="d744404e594 d744404e597 ">Connection Information</td></tr><tr class="row"><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e594 ">Name</td><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e597 ">Auto-generated name to identify the connection record.</td></tr><tr class="row"><td class="entry cellrowborder" colspan="2" style="vertical-align:top;" headers="d744404e594 d744404e597 ">Credential Information</td></tr><tr class="row"><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e594 ">Auth URL</td><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e597 ">Authorization URL in this format: https://login.microsoftonline.com/<Directory ID>/oauth2/v2.0/authorize. Replace <Directory ID> with the directory ID in your Entra ID configuration.</td></tr><tr class="row"><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e594 ">Token URL</td><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e597 ">Token URL in this format: https://login.microsoftonline.com/<Directory ID>/oauth2/v2.0/token. Replace <Directory ID> with the directory ID in your <span class="ph">Microsoft</span> Entra ID configuration properties.</td></tr><tr class="row"><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e594 ">Revoke token URL</td><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e597 ">Revoke token URL in this format: https://login.microsoftonline.com/<Directory ID>/oauth2/v2.0/revoke. Replace <Directory ID> with the directory ID in your Entra ID configuration properties.</td></tr><tr class="row"><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e594 ">OAuth Client ID</td><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e597 ">Client ID you created during the Entra ID application registration.</td></tr><tr class="row"><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e594 ">OAuth Client Secret</td><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e597 ">Key value you created during the Entra ID application registration.</td></tr><tr class="row"><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e594 ">OAuth Redirect URL</td><td class="entry cellrowborder" style="vertical-align:top;" headers="d744404e597 ">Redirect URL of your <span class="ph">ServiceNow</span> instance in this format: https://<instance-name>.service-now.com/oauth_redirect.do.</td></tr></tbody></table> </div> <p class="p"><img class="image" id="ms-azure-ad-temp__image_kjs_3ls_ncc" src="../../integrationhub-store-spokes/image/entra-id-conf-temp.png" alt="Configure a connection for the Entra ID spoke." /></p> </div> </li><li class="li step stepexpand"> <span class="ph cmd">Click <span class="ph uicontrol">Configure and Get OAuth Token</span>.</span> </li></ol> <div class="section result" id="ms-azure-ad-temp__result_ojs_3ls_ncc">The <span class="ph">Microsoft</span> Entra ID spoke is set up and integrated with the <span class="ph">ServiceNow</span> instance.<div class="note"><span class="notetitle">Note:</span> By default, the grant type of the application registry record is set to <span class="ph uicontrol">Authorization Code</span>.<ul class="ul" id="ms-azure-ad-temp__ul_pjs_3ls_ncc"><li class="li">If you want to use credentials of an Azure user to obtain the OAuth token and run all flows with that user delegation, use <span class="ph uicontrol">Authorization Code</span>. Currently, delegation of permission to each logged in ServiceNow user isn't supported.</li><li class="li">If you want to grant permission to an app instead of an individual user, change the grant type to <span class="ph uicontrol">Client Credentials</span>. This ensures that all flows, either interactive or background, will use the app permissions to execute the flows. For more information on how to use Client Credentials, see <a class="xref" href="https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0993701" target="_blank" rel="noopener noreferrer">KB0993701</a>.</li><li class="li">In situations where you can't use one grant type but require both the <span class="ph uicontrol">Authorization Code</span> and <span class="ph uicontrol">Client Credentials</span> grant types to perform the actions, create a child alias.</li></ul> </div> </div> </div> </div> <div class="topic task nested1" id="regenerate-azure-ad-oauth-token"> <h2 class="title topictitle2" id="ariaid-title4">Regenerate Entra ID OAuth token</h2> <div class="body taskbody"><p class="shortdesc"><span class="ph">Regenerate the Entra ID OAuth token when it expires.</span></p> <div class="section prereq p" id="regenerate-azure-ad-oauth-token__prereq_h2s_n33_nsb"> <p class="p">Role required: admin.</p> </div> <ol class="ol steps" id="regenerate-azure-ad-oauth-token__steps_o4n_2qw_qfb"><li class="li step stepexpand"> <span class="ph cmd">Navigate to <span class="ph menucascade"><span class="ph uicontrol">All</span> > <span class="ph uicontrol">Connections & Credentials</span> > <span class="ph uicontrol">Credentials</span></span>.</span> </li><li class="li step stepexpand"> <span class="ph cmd">Select the Entra ID spoke OAuth Credential record.</span> <div class="itemgroup stepxmp">For example, select <span class="ph uicontrol">Azure AD Credentials</span>.</div> </li><li class="li step stepexpand"> <span class="ph cmd">From Related Links, click <span class="ph uicontrol">Get OAuth Token</span>.</span> </li></ol> </div> </div> </div> </body></html></div>