How-To: Automated NS1 Provisioning with Okta Workflows
While Okta and NS1 support SAML Authentication, Provisioning and de-provisioning users still requires manual work. We hate manual work, so here’s a way to automate the entire process, end-to-end, using Okta Workflows.
Still unfamiliar with Workflows? Start here.
Setting the Scene
- On NS1’s portal, Create an API Key for Okta Workflows.
2. On Okta Workflows Dashboard, Click “Connections” and “New Connection” with type “API Connector”
3. Select Custom Auth Type, Header name is X-NSONE-Key and value is your api key
Now that we have our API connection ready, we can build our new workflow. In our case, the event that triggers the workflow is “User Added to Group”, where we continue if the group ID is relevant for NS1. Then it reads the user and formats his user name as okta_firstname_lastname, and creates the user in a specific team.
Building the Workflow
- Create a workflow and check if the user was added to the right group.
2. Read the users name and Display name, and compose your user ID based on the logic you’ve decided on.
3. Construct the JSON object (Function -> Object -> Construct) with the following names and values:
username -> Output from Compose
email -> Okta’s Username
name -> Okta’s Display name
Teams (type: list of text)-> team ID in NS1 you want to assign it to
Tip: If you don’t know your team ID, run curl -X GET -H “X-NSONE-Key: $API_KEY” https://api.nsone.net/v1/account/teams
4. Create a new API Connector action and select “Put”. Select your NS1-API connector that we created on the first stage.
5. Populate the following values:
Body: the output of the Object we’ve constructed
Once done, feel free to test this around.
Closing the Loop
To make this extra-perfect, I also suggest editing the okta username format in the NS1 SAML app in Okta:
- Navigate to the SAML Application you use for NS1
- On the sign on tab, Edit the sign on methods and scroll down to “Credentials Details”
- Select “Custom” as the Application username format and enter your selected logic (in our example we used okta_firstname_lastname which translates to “”okta_”+user.firstName+”_”+user.lastName”
- Preview your mapping to make sure everything works, and save the change.
- The change will not affect existing users, but new users will be able to sign in with their username once they’re assigned to the application.
There are many more cool, time-saving hacks now possible with Okta.
Contact us to get the full suite up & running from day-1.