What Is the Okta Integration Network (App Catalog)?

What Is the Okta Integration Network (App Catalog)?

A complete, plain-language guide to the catalog of ready-made app connections inside Okta: what it contains, how it works behind the scenes, how to use it safely, and how software makers get listed in it.

Imagine moving into a new house. You need electricity, water, internet and a phone line. You could dig trenches and lay your own cables to every service. Or you could use the standard sockets already built into the walls, where every plug fits the first time. Connecting a business app to your company’s sign-in system works the same way. You can build every connection by hand, or you can plug into a socket that someone already built and tested.

The Okta Integration Network, usually shortened to OIN, is that wall of ready-made sockets. Inside the Okta Admin Console you see it as the App Catalog. This guide explains what it is, what each entry really contains, what happens when you add an app from it, how to keep it secure, and how to avoid the mistakes that trip up beginners.

1The Big Picture: Why a Catalog Exists

Before details, let us see the problem the catalog solves and the simple idea behind the solution.

The problem: every app speaks a slightly different dialect

A modern company uses dozens or hundreds of apps. Each app has its own way to accept sign-ins and its own way to create or remove user accounts. One app wants a particular web address for its sign-in callback. Another wants the user’s email in a special field. A third needs a secret token. If an administrator had to learn every dialect from scratch, connecting a single app could take days of reading and testing, and mistakes would be common.

The solution: build it once, share it with everyone

Okta and the software makers who sell the apps do the hard work one time. They write down the correct settings, test them, and publish the result as a catalog entry. After that, every Okta customer can add the same app in a few clicks. The catalog is therefore a shared library of tested connection recipes.

Analogy

Think of a big phrasebook for travellers. Instead of learning a new language for every country, you open the book to the page for that country and read the exact phrases that work. The catalog is the phrasebook, each app is a country, and the sign-in settings are the phrases that are known to be understood.

Thousands
Pre-built app integrations in the catalog
3 jobs
Sign in, create accounts, and automate
1 catalog
Shared by every Okta customer
i
Two names, one thing

People say OIN, the Okta Integration Network, when they talk about the whole ecosystem of listed apps and the vendors behind them. People say App Catalog when they talk about the screen inside the Admin Console where an administrator browses and adds apps. Both point to the same collection.

2Core Concepts and Vocabulary

A few simple words are used again and again when people talk about the catalog. Learn them here once.

Idea

Integration

A working connection between the Okta org and one app. It includes how people sign in and, sometimes, how accounts are created and removed.

Idea

Catalog entry

The ready-made template for an app. It holds the correct protocol, default settings and notes. It is shared and does not belong to you.

Idea

App instance

Your own configured copy of a catalog entry inside your org. It holds your settings, your users and your policies.

Who

ISV

Independent software vendor. The company that makes the app and, often, publishes its catalog entry.

Sign-in

Single sign-on

Signing in once with your company identity and then opening many apps without typing passwords again.

Accounts

Provisioning

Creating, updating and removing user accounts inside an app automatically, usually through a standard called SCIM.

Catalog entry versus app instance

This pair of ideas is the most important one in the whole guide. A catalog entry is like a cake recipe printed in a book. An app instance is the cake you bake in your own kitchen. Many kitchens can bake from the same recipe. Each cake can have its own decorations, and eating one cake does not touch another. In the same way, thousands of organizations can add the same catalog entry, and each gets its own independent instance with its own settings.

You can even add the same catalog entry more than once in your own org. A company that has two separate accounts with the same vendor, for example one for each region, would create two instances.

Analogy

A catalog entry is a blank form from a government office. Everyone can download the same form. Your app instance is your copy, filled in with your name, your address and your stamp. Filling in your copy does not change anyone else’s copy.

3What Is Inside a Catalog Entry?

An entry is more than a logo. It tells you exactly what the app and the org can do together.

The capabilities an entry may offer

Different entries support different abilities. A good entry page shows badges or labels that tell you which abilities are included, so you can check before you start.

CapabilityWhat it meansWhy you care
SAML sign-inThe app accepts signed XML messages from the orgClassic and widely supported single sign-on for business apps
OIDC sign-inThe app uses OpenID Connect, a modern sign-in standardGood for web, mobile and newer apps
Password vaulting (SWA)The org stores the credentials and a browser add-on fills them inA fallback for apps with no modern standard
Provisioning with SCIMThe org creates and removes accounts in the appFaster onboarding and safer offboarding
Group push and importGroups and users can be sent to or read from the appKeeps access in sync with group membership
API service integrationThe vendor’s product can call Okta APIs using approved permissionsUsed by security and automation tools that read or act on the org
Workflows connectorThe app can be used as a building block in no-code automation flowsLets you automate tasks that span several apps

The provisioning abilities in more detail

When an entry supports provisioning, its page lists which lifecycle actions work. Common ones include creating users, updating user attributes, deactivating users, importing new users and profile updates, importing groups, pushing groups, and syncing passwords. Not every app supports every action, so read the list carefully. An app that can create users but cannot deactivate them will leave old accounts behind, and you need to know that before you rely on it.

!
Check your own license too

What you can use depends on both sides. The app vendor may reserve single sign-on or SCIM for a higher plan on their side, and your Okta plan may need to include the provisioning features. Check both before you promise a project date.

Analogy

Reading a catalog entry is like reading the label on a household appliance. It tells you the voltage, the plug type and which accessories are included. You would not buy a hairdryer for the wrong voltage, and you should not plan an integration without checking the label first.

4Architecture and Components

The catalog involves several players. Seeing how they fit together makes later chapters much easier.

flowchart LR
  subgraph VENDOR["Software vendor side"]
    ISV["Software vendor builds integration"]
    WIZ["Submission tool for OIN"]
  end
  subgraph OKTA["Okta side"]
    REV["Okta review and testing"]
    CAT["Shared OIN catalog"]
  end
  subgraph CUST["Your Okta org"]
    ADM["Administrator browses App Catalog"]
    INST["App instance with your settings"]
    POL["Policies and assignments"]
    DASH["End user dashboard tiles"]
  end
  APP["The application itself"]
  USERS["Employees"]
  ISV --> WIZ
  WIZ --> REV
  REV -->|"Approved"| CAT
  CAT --> ADM
  ADM --> INST
  INST --> POL
  POL --> DASH
  DASH --> USERS
  INST |"SAML or OIDC or SCIM"| APP
  USERS --> APP
Figure 1: From a vendor’s work to an employee’s dashboard tile

Read the picture from the left. A software vendor builds and tests an integration and submits it through Okta’s tool for publishing. Okta reviews it. Once approved, it appears in the shared catalog. An administrator in a customer org browses the catalog and adds the entry, which creates an app instance inside that org. The administrator then sets policies and assigns users or groups. Assigned users see a tile on their dashboard, and clicking it signs them in to the real app. Behind the scenes, the instance and the app exchange sign-in messages and, if enabled, account changes.

The main parts

Shared

The catalog

The public library of entries, searchable on Okta’s website and inside the Admin Console.

Per org

The app instance

Your configured copy, with your sign-in settings, assignments and policies.

Per user

The dashboard tile

The icon an employee clicks to open the app. It appears only for people who are assigned.

Vendor

The submission tool

The path a vendor uses to propose a new or updated entry for review.

Analogy

Picture a shopping mall. Brand owners design their shop layout and submit it to the mall management. Management inspects it and, if approved, lists it in the mall directory. A business owner picks a shop from the directory and gets a unit with their own keys. Visitors only see the shops that they are allowed into. The directory is the catalog, and the unit is the app instance.

5Finding and Choosing an App in the Catalog

Knowing where to look and what to compare saves hours of confusion.

Where you can browse

There are two places. The first is the public integrations page on Okta’s website. Anyone can read it, even before becoming a customer, which is handy when you are comparing vendors. The second is the App Catalog inside the Admin Console, where an administrator can search, filter and add an app directly into the org. Menu names change from time to time, but the entry point is found under the applications section of the console, with a button to browse the catalog.

Filtering and comparing

You can search by app name or filter by the ability you need, such as a particular sign-in method or provisioning support. This is useful when you need more than a logo. If your security rule says that every app must support automatic account removal, filter for apps that offer deactivation. If your policy bans password vaulting, filter for federated sign-in only.

1

Search for the app by name

Type the product name. If more than one entry appears, look at the differences, because a vendor may publish separate entries for different products or editions.

2

Read the capability labels

Check which sign-in methods and provisioning actions are supported.

3

Open the setup guide

Each entry usually links to the vendor’s or Okta’s setup instructions. Read the steps for the app side, since many settings must be changed there.

4

Confirm the licensing

Make sure your plan with the app vendor allows single sign-on and, if needed, SCIM.

5

Add it to a test org first

Try the integration in a preview org before real users depend on it.

i
What if the app is missing?

If you cannot find the app, it may not be listed yet, or it may be listed under a slightly different name. In that case you can build a custom integration yourself, which Chapter 12 explains.

6Integration Types in Depth

Behind every catalog entry is one of a few integration types. Understanding them tells you how strong, flexible and safe each one is.

SAML

SAML is a long-standing standard in which the org sends the app a digitally signed message that says “this person is who they claim to be”. The app checks the signature using a certificate it already trusts. Nothing secret travels in the message, and the app never sees a password. SAML is common in business software.

OpenID Connect

OIDC is a newer standard built on OAuth 2.0. It uses lightweight tokens and fits web apps, single-page apps and mobile apps well. If an app supports both SAML and OIDC, many teams choose OIDC for new work because tokens are easier for developers to handle and the standard is friendlier to modern clients.

Secure web authentication

Some older apps understand neither standard. For these, the org can store a username and password in encrypted form and use a browser add-on to fill them into the sign-in page. This is called secure web authentication, or SWA. It helps users avoid typing, but the app still holds its own password, and the sign-in does not get the benefits of federation. Treat it as a last resort.

API service integrations

This type is different. It is not about people signing in. It lets a vendor’s product, such as a security monitoring tool, act as a service and call Okta’s own APIs with permissions that the administrator approves. The administrator grants specific named scopes, so the tool gets only the access it needs.

TypeUsed forStrengthWatch out for
SAMLPeople signing in to business appsMature and widely supportedCertificates expire and must be renewed
OIDCPeople signing in to modern appsLightweight tokens, good for APIs and mobileRedirect addresses and scopes must be exact
Password vaultingOlder apps with no standardWorks almost anywhereWeaker security, needs a browser add-on
API serviceTools that call Okta APIsScoped, auditable accessOver-broad scopes grant too much power
BookmarkA simple tile that opens a web addressZero setupNo real sign-in, only a shortcut
Analogy

SAML is a sealed letter from a trusted office that the shop can verify by its stamp. OIDC is a modern digital ticket on your phone. Password vaulting is a helpful assistant who types your own password for you every time. An API service integration is a delivery company given a limited pass to enter only the loading dock. A bookmark is just a sign pointing to the shop’s door.

7Internal Working: What Happens When You Add an App

Clicking “Add” looks simple. Let us open the lid and see what the org does behind the screen.

sequenceDiagram
  participant Admin as Administrator
  participant Org as Okta org
  participant Cat as OIN catalog
  participant App as Application admin page
  Admin->>Org: Browse App Catalog and select an app
  Org->>Cat: Fetch the catalog entry
  Cat-->>Org: Template with defaults and settings
  Org->>Org: Create app instance in the org
  Admin->>Org: Fill in label and app specific values
  Org-->>Admin: Show sign on details and metadata
  Admin->>App: Paste org details into the app settings
  App-->>Admin: Save and enable single sign on
  Admin->>Org: Assign groups and set policy
  Org-->>Admin: Tiles appear for assigned users
Figure 2: Adding an app from the catalog and connecting both sides

The story in plain steps

1

The template is copied

The org takes the catalog entry and makes a private instance. The instance receives its own unique identifier that exists only inside your org.

2

Defaults are filled in

Settings that the catalog already knows, such as the protocol type and attribute names, are pre-filled. You only add what is specific to you, such as your company’s sub-address with the vendor.

3

The org generates its own details

For SAML, the org shows its signing certificate and metadata. For OIDC, it creates a client identifier and a secret. These are the facts the app needs to trust the org.

4

You configure the app side

In the vendor’s own admin screen, you paste those details and switch single sign-on on. This is a very common step to forget.

5

You decide who gets access

You assign groups or people, and pick a sign-in policy for the app. Until you do, nobody sees the tile.

6

The org records everything

Each action is written to the System Log, so you can later see who added the app, who changed its settings and who was assigned.

!
Both sides must agree

A catalog entry cannot configure the app for you. The vendor’s side has its own switch, its own sign-in address and often its own plan requirement. Most “it does not work” reports come from a setting on one side not matching the other.

Analogy

It is like pairing a new wireless speaker with your phone. The speaker model (the catalog entry) comes with known settings. But you must still switch the speaker into pairing mode and select it on the phone. If only one side is ready, the two never connect.

8Data Flow: How a User Opens the App

After setup, the catalog entry does its everyday job each time an employee opens the app. There are two ways the journey can begin.

Starting from Okta: the dashboard tile

The employee signs in to the Okta dashboard, which shows a tile for each assigned app. Clicking a tile makes the org build a signed message for that specific app and send the browser to the app with that message. The app checks the signature, finds the matching user account and lets the person in. This flow is called identity-provider-initiated, because the identity provider, Okta, starts it.

Starting from the app: the direct address

Many people never visit the dashboard. They type the app’s own address or follow an email link. The app sees an unknown visitor and redirects the browser to Okta with a request that says which app is asking. Okta signs the person in, then sends them back with the signed message. This flow is called service-provider-initiated, because the app, the service provider, starts it. Most apps support this one, and many prefer it.

QuestionIdentity-provider-initiatedService-provider-initiated
Where does the user start?On the Okta dashboardOn the app’s own address
Who sends the first request?OktaThe app
Typical useLaunch from a portal of tilesBookmarks, email links, deep links to a page
Common riskSome apps do not accept itThe app must know which org to ask
Analogy

Imagine a concert hall. In one case you get a ticket from the box office and walk to your seat, which is the identity-provider-initiated way. In the other case you walk straight to the seat door, and the usher sends you back to the box office to get a ticket before letting you in, which is the service-provider-initiated way. Both end at the same seat.

The dashboard and the browser add-on

The end-user dashboard is the home page of all tiles. Employees can also install a browser add-on that fills in credentials for password-vaulted apps and gives quick access to tiles. For federated apps, the add-on is not needed, because the signed message does the work.

i
Make deep links work

If your staff open links to specific pages inside an app, test that those links send the user through Okta and then return them to the same page rather than the app’s home page.

9Provisioning Through the Catalog

Sign-in is only half of the story. The other half is making sure the right accounts exist in the app at the right time.

Why provisioning matters

Without automation, an administrator in each app must create accounts by hand when someone joins and remove them when someone leaves. Hand work is slow and easy to forget. Forgotten removals are dangerous, because a former employee may keep access for months. With provisioning enabled, the org creates the account when a user is assigned and removes or disables it when the assignment ends.

sequenceDiagram
  participant HR as HR system or directory
  participant Org as Okta org
  participant Inst as App instance
  participant App as Application SCIM service
  HR->>Org: New employee record
  Org->>Org: Create user and add to groups
  Org->>Inst: User assigned through group rule
  Inst->>App: Create user request
  App-->>Inst: Account created with identifier
  Inst-->>Org: Store link between user and account
  HR->>Org: Employee leaves
  Org->>Inst: Assignment removed
  Inst->>App: Deactivate or delete request
  App-->>Inst: Account disabled
Figure 3: Account creation and removal through a catalog integration

The picture shows the whole life of an account. The HR system announces a new person. The org creates the user, and group rules assign the person to the app. The app instance then calls the app’s SCIM service and asks it to create an account. The app replies with its own identifier, and the org remembers the link between the two. Months later, when the person leaves, the same chain runs in the other direction and the account is disabled.

Useful provisioning abilities

Push

Create and update

New users and changes to names, titles or departments flow from the org to the app.

Pull

Import

Existing accounts in the app can be read into the org, which helps when you adopt Okta for an app that already has many users.

Groups

Group push

Okta groups can be mirrored into the app as groups, so access rules inside the app follow Okta group membership.

Exit

Deactivate

When access ends, the account is disabled or removed. Some apps offer both choices, and you should pick the one that fits your data policy.

!
First import needs care

When you first turn on import for an app that already has users, the org must match those accounts to existing Okta users. Check the matching rule, usually the email address, before you run the import. A weak match may create duplicates or attach an account to the wrong person.

Analogy

Provisioning is a security desk that hands out and takes back building badges. When a new employee arrives, a badge is printed automatically. When the employee leaves, the badge is switched off at the same moment. Without the automatic desk, someone has to remember to walk to each door and change the lock.

10Attributes, Usernames and Mappings

A sign-in message is not just “this is Maria”. It also carries facts about Maria. The mapping rules decide which facts travel.

Two profiles, one person

Every user in the org has an Okta profile with fields such as email, first name, last name and department. Every app has its own profile with its own field names. A mapping says which Okta field fills which app field. Catalog entries come with sensible default mappings. You can change them when your company stores data in unusual ways.

The application username

Each app needs a name by which it recognizes the user. Some apps use the email address. Others use a short login name or an employee number. The org lets you choose how the app username is built, for example from the email, or from a custom expression. If the app’s idea of the username does not match what the org sends, the app says the user does not exist, even though the account is there.

Extra attributes and roles

Apps often need to know a user’s role, team or country. You can send these as extra attributes in the sign-in message. Some apps even create roles automatically from a group name sent in the message, a feature often called just-in-time provisioning. Use it with care, because a wrong value can silently grant too much power.

Mapping topicGood habitRisky habit
Username formatUse a stable, unique value such as the primary emailUsing a display name that can repeat or change
Attributes sentSend only what the app needsSending every field “in case”
Role assignmentDrive roles from groups with clear namesLetting users type their own role
Source of truthDecide which system owns each fieldEditing the same field in two places
ChangesTest mapping edits in a preview orgEditing live mappings during working hours
Analogy

A mapping is a translator between two forms. One form has a box called “Surname” and the other form has a box called “Family name”. The translator copies the value across. If the two forms disagree about whether the title goes in the same box as the name, the translator needs a clear rule, or the final form will have mistakes.

i
Change of username later

Changing the username format after people already use an app can break links between existing accounts. Decide it early and change it only with a tested plan.

11How Vendors Get Listed: The Publisher’s View

The catalog is only as good as the entries inside it. Here is how software makers put theirs in.

Why vendors bother

Customers who use Okta expect to find their apps in the catalog. A vendor that is listed becomes easier to buy, since the buyer’s identity team can set it up quickly and safely. For that reason many vendors treat the listing as part of their product, in the same way that they treat a mobile app store listing.

The steps a vendor follows

1

Build and test

The vendor adds support for SAML, OIDC or SCIM to the product and tests it against a developer org of its own.

2

Prepare the submission

The vendor provides the app name, logo, a description, the protocol settings, test accounts, customer documentation and a support contact.

3

Submit through the publishing tool

Okta provides a guided tool in its admin and developer experience for this. The vendor picks the integration type and fills in the details.

4

Okta reviews and tests

Okta checks that the integration works as described, that the documentation is clear, and that the settings follow good security practice. Feedback may require changes and resubmission.

5

The entry goes live

Once approved, the entry appears in the shared catalog for all Okta customers to find.

6

Maintenance

When the product changes, for example a new sign-in address, the vendor updates the entry and its guide.

What a customer should take from this

A review by Okta is a useful quality check on the integration itself, meaning that the sign-in works as documented. It is not a guarantee that the vendor’s whole product is safe, well run or right for your business. Your own vendor risk review still matters. Treat the catalog as a way to connect faster, not as an endorsement of every vendor.

Analogy

A product that passes an electrical safety test can carry a safety mark. The mark tells you the plug and the wires meet the standard. It does not tell you whether the toaster makes good toast, or whether the company will still exist next year. The catalog review is similar. It checks the connection, not the whole company.

12Catalog App or Custom Integration?

Sometimes the app you need is not in the catalog, or it exists but does not fit. Then you have a second route.

Custom integrations

The Admin Console includes a guided builder, often called the App Integration Wizard, where an administrator can create an integration for any app that speaks a supported standard. You choose SAML, OIDC, password vaulting or a simple bookmark, and you type in the settings that a catalog entry would normally have pre-filled. The result is a private integration. It lives only in your org and does not appear in the shared catalog unless you choose to publish it.

flowchart TD
  S["Need to connect an app"] --> Q1{"Is it in the catalog?"}
  Q1 -->|"Yes"| Q2{"Does it offer the features you need?"}
  Q1 -->|"No"| C["Create a custom integration"]
  Q2 -->|"Yes"| U["Use the catalog entry"]
  Q2 -->|"Partly"| V{"Can you live without the missing feature?"}
  V -->|"Yes"| U
  V -->|"No"| C
  C --> Q3{"Does the app support SAML or OIDC?"}
  Q3 -->|"Yes"| F["Build federated custom app"]
  Q3 -->|"No"| W["Use password vaulting or a bookmark"]
Figure 4: Choosing between a catalog entry and a custom integration

Follow the diagram from the top. Start by checking for a catalog entry. If one exists and gives you the features you need, use it. If it exists but lacks something, ask whether you can live without it. If you cannot, or if no entry exists, build a custom integration. For a custom build, prefer SAML or OIDC. Fall back to password vaulting or a bookmark only when the app supports neither.

Why catalog entries win

  • Faster setup with defaults already filled in
  • Settings tested by the vendor and reviewed by Okta
  • Maintained when the vendor changes something
  • Setup guides available

When custom is needed

  • An in-house app that no catalog would list
  • A vendor not yet in the catalog
  • A special attribute or sign-in rule the entry cannot express
  • You carry the setup and maintenance work yourself
!
Custom means you own the care

With a custom integration there is nobody updating the settings for you. When the app’s certificate or address changes, you must notice and fix it. Document each custom integration and give it an owner.

13The Life of an App Inside Your Org

Adding an app is not the end. A well-run org manages each app through a full life, from request to retirement.

flowchart LR
  R["Request from a team"] --> RV["Risk and licence review"]
  RV --> T["Add to preview org and test"]
  T --> P["Pilot with a small group"]
  P --> G["Go live in production"]
  G --> M["Monitor and maintain"]
  M --> AR["Periodic access review"]
  AR --> M
  AR --> RT["Retire and remove"]
Figure 5: A simple life cycle for every app integration

Why a life cycle helps

Without a process, apps pile up. Nobody remembers who asked for them, whether anyone still uses them, or what data they hold. Each leftover app is a possible entry point for an attacker, and each unused tile adds confusion for users. A life cycle gives every app a clear path and an owner.

Step by step

  • Request. A team explains what the app is for and who will use it.
  • Review. Security and legal check the vendor, the data involved and the licence. The review also decides which sign-in strength is needed.
  • Test. The integration is built in a preview org and tested with sample users, including the leaver case.
  • Pilot. A small, friendly group uses it in production and reports problems.
  • Go live. Assignments are widened, with a clear message to staff.
  • Maintain. Certificates, tokens and mappings are checked on a calendar.
  • Review. Owners confirm every quarter or half-year that the app and its assignments are still needed.
  • Retire. When an app is no longer used, provisioning is turned off, accounts are removed, and the instance is deactivated and later deleted.
Analogy

Think of a library lending books. A new book is selected, checked, put on a shelf, borrowed, repaired when worn, and finally removed when no one reads it. A library that never removes anything ends up with shelves of torn books that nobody can find. An org that never retires apps ends up the same way.

i
Give every app two owners

One owner from the business who understands why the app exists, and one technical owner who knows how the integration works. If either leaves, assign a replacement at once.

14Security Considerations

Every connected app is a door into your company’s identity system. A few careful habits keep those doors safe.

RiskExampleWhat to do
Weak sign-in pathApp set to password vaulting when SAML is availablePrefer federation, and use vaulting only as a last resort
Expired or stolen certificateSAML signing certificate expires or leaksTrack expiry dates, rotate on a schedule, and replace at once after any suspicion
Over-broad API accessA tool granted more permission scopes than it needsGrant only the scopes required, review them every quarter
Orphaned accountsLeaver still active inside an appTurn on deprovisioning, test it, and review accounts that are not linked to a user
Vendor compromiseThe app vendor suffers a breachLimit the data shared, require strong sign-in, and keep the ability to switch access off quickly
Open redirect or wrong addressLoose redirect settings in an OIDC appList exact allowed addresses, never broad patterns
Secrets in the openClient secret pasted into chat or codeKeep secrets in a vault and rotate on exposure

Protect the strongest doors the most

Not every app deserves the same treatment. A cafeteria menu is low risk. A payroll system or a code repository is high risk. Use the app sign-in policy on each instance to ask for stronger proof, such as a phishing-resistant authenticator, for the sensitive ones. You can also limit access to managed devices or known networks.

Be careful with API service integrations

These integrations act as machines, not people. When you approve one, you grant it named scopes that let it read or change data in your org. A monitoring tool may only need to read logs. A tool that can also change users or policies is much more powerful. Read each requested scope, ask the vendor why it is needed, and keep the list as short as possible.

Analogy

Giving an app access to your org is like giving a contractor a key. A good manager asks which rooms the contractor needs, issues a key that opens only those rooms, notes the date and takes the key back when the job ends. A careless manager hands over the master key and forgets about it.

15Monitoring, Logging and Metrics

An integration that works today may break next month. Good watching turns surprises into small, early warnings.

The System Log as your diary

The org writes an event to its System Log whenever something important happens with an app. Examples include an app instance being created, settings being changed, a user being assigned, a user signing in through single sign-on, and a provisioning action succeeding or failing. Each event shows who did it, which app it concerned, when it happened and whether it worked. You can search the log by app name, by user or by event type.

The default retention is limited, commonly around ninety days. If your audit rules require longer, send the logs to your own storage or security tool as they are written.

What to watch for each app

SignalWhat it can tell you
Spike in failed single sign-on events for one appA setting or certificate on one side has changed
Provisioning errorsThe app rejected a request, a token expired, or a field has the wrong format
New app instance createdSomeone added an app, which should match an approved request
Assignment changes in bulkA group rule or sync has done something large
Changes to API scopes on an integrationA tool is gaining more power
Apps with no sign-ins for a long timeCandidates for retirement
Certificate expiry dates approachingAn outage is coming unless someone acts
Rate-limit responses on provisioningThe app or the org is being asked to do too much too fast

Simple metrics worth tracking

Coverage

Share of apps using federated sign-in

A rising share means fewer stray passwords across the company.

Automation

Share of apps with automatic deprovisioning

The higher this is, the smaller your risk of leftover accounts.

Hygiene

Apps without an owner

This number should be zero. Each one is a future problem.

Reliability

Time to fix a broken integration

Measures how quickly your team notices and solves issues.

Analogy

Monitoring apps is like checking the oil, tyres and lights of a fleet of delivery vans. Each van usually runs fine. But a short weekly check catches the van with a slow leak before it breaks down on the road.

16Troubleshooting Common Problems

Almost every integration problem falls into a small set of families. Learning them gives you a head start.

What you seeLikely causeWhat to try
App says the audience or entity does not matchThe identifier set in the org differs from what the app expectsCopy the exact identifier from the app’s settings into the org and compare character by character
App rejects the sign-in message addressThe callback address is wrong or has a stray slashUse the exact address that the app shows, including the correct sub-address
Signature or certificate errorApp holds an old certificate, or the certificate expiredDownload the current certificate from the org and upload it to the app
User not found in the appUsername format does not match the app accountCheck how the app username is built and compare with the app’s user list
Sign-in works for some people onlyAssignment or group rule excludes the others, or accounts differCheck assignments and the group rule, then the person’s account status
Provisioning says unauthorizedThe token or credential for the app has expired or lost rightsCreate a fresh token in the app and update the integration
Provisioning says conflict or duplicateAn account with the same username already exists in the appLink the existing account by import, or clean up the duplicate
Changes are slow to appearRate limits or queueing on one sideCheck the log for delays, and run bulk changes at quiet times
Time-related sign-in errorsClocks on the app server differ from real timeMake sure the app server clock is synchronized

A calm method

1

Find the event

Search the System Log for the user and app at the time of the failure. The message often names the exact problem.

2

Decide which side is failing

If the org shows a successful sign-in and the app still refuses it, the problem is on the app side. If the org shows an error, start there.

3

Compare the settings

Lay the org’s values next to the app’s values for identifiers, addresses and certificates.

4

Test with one user

Use a simple test account so that you can rule out profile or group problems.

5

Write down the fix

Add the cause and solution to your own notes so the next person solves it faster.

i
A reminder

Resist the urge to change many things at once. Change one setting, test, and note the result. Otherwise you will not know which change fixed the problem or which one made it worse.

17Advantages, Disadvantages and Trade-offs

The catalog is a great helper, but it is not magic. Seeing both sides helps you set the right expectations.

Advantages

  • Much faster setup than building from scratch
  • Tested settings reduce mistakes
  • Consistent sign-in and policy across apps
  • Automatic account creation and removal where supported
  • Vendors keep entries and guides up to date
  • Large choice of apps reduces lock-in to any one tool

Disadvantages

  • Entries may not support every feature you want
  • Vendor plans and Okta plans may limit what you can use
  • An entry may lag behind a vendor’s latest change
  • Review of the connection does not equal review of the vendor
  • Too many apps can become hard to govern
  • A catalog entry can hide details that you still need to understand
Trade-offLeaning towardLeaning away
Speed versus controlCatalog entry: quick, with defaultsCustom build: more control, more work
Federation versus vaultingFederation: stronger and cleanerVaulting: works with old apps but weaker
Automation versus cautionFull provisioning saves timeManual steps reduce surprises on risky apps
Wide access versus least privilegeOpen assignments are simpleNarrow groups are safer but need upkeep
Many apps versus few appsMany tools fit each teamFewer tools are easier to secure and pay for
Analogy

Buying a ready-made suit is quick and usually fits well enough. A tailor-made suit fits exactly but takes time and costs more. The catalog is the ready-made rack, and a custom integration is the tailor. Most people buy ready-made, and visit the tailor only for the odd occasion.

18Design Patterns and Anti-patterns

Teams that manage many integrations discover arrangements that work well and arrangements that cause pain.

Patterns that work

Pattern

Group-based assignment

Assign apps to groups that mirror job roles. Moving a person between groups updates all their access at once.

Pattern

Test in preview first

Build and test each integration in a preview org, then repeat the same steps in production using a written checklist.

Pattern

Federation by default

Require SAML or OIDC for new apps, and keep password vaulting as a documented exception.

Pattern

Tiered app policies

Group apps into low, medium and high risk, and attach a matching sign-in policy to each tier.

Pattern

Integration register

Keep a single list of every app with owner, protocol, certificate date, data type and review date.

Pattern

Automatic leaver path

Connect HR events to deprovisioning, and test that path on a regular schedule.

Anti-patterns to avoid

ANTI-PATTERN 01Avoid
What it looks like

Adding apps straight into production because “it is only a small tool”.

Why it hurts

A wrong setting can lock out real users or leak data. Nobody has tested the leaver path, and nobody knows who owns the app.

Better approach

Follow the same short life cycle for every app, even small ones, and test in the preview org first.

ANTI-PATTERN 02Avoid
What it looks like

Assigning apps to “Everyone” because it is easier than choosing groups.

Why it hurts

Every employee gets access to every app, including tools with sensitive data. Licence costs rise and audits fail.

Better approach

Create role groups, assign apps to those groups, and review membership regularly.

ANTI-PATTERN 03Avoid
What it looks like

Approving an API service integration without reading the scopes it requests.

Why it hurts

The tool may be able to read or change far more of your org than it needs, and an attacker who breaks into the vendor inherits that power.

Better approach

Grant only the scopes that are clearly justified, and review them every quarter.

ANTI-PATTERN 04Avoid
What it looks like

Never retiring apps, and leaving old instances active “just in case”.

Why it hurts

Old integrations keep tokens, certificates and accounts alive with no owner. They become silent back doors.

Better approach

Review usage twice a year, and retire an app by turning off provisioning, removing accounts and deactivating the instance.

19Best Practices and Common Mistakes

When time is short, work through this checklist.

Best practices

  • Read the entry before you start. Check the protocol, the provisioning abilities and the licence needs on both sides.
  • Prefer federation. Choose SAML or OIDC over password vaulting whenever the app allows it.
  • Automate account creation and removal for apps that hold important data, and test the removal path.
  • Name clearly. Use a naming scheme for instances, such as the app name plus the environment, so that nobody mixes up test and live copies.
  • Track certificates. Put expiry dates in a shared calendar and renew with plenty of time.
  • Send only needed attributes. Fewer fields mean less risk and simpler mappings.
  • Keep a register. Every app has an owner, a purpose, a protocol and a review date.
  • Review scopes and assignments on a fixed schedule.
  • Document custom work. Anything you built yourself needs notes that another person can follow.

Common mistakes beginners make

Do this

  • Configure both the org side and the app side
  • Test with a normal user, not only an administrator
  • Check the leaver case before going live
  • Use exact addresses and identifiers
  • Record who owns each integration

Not this

  • Assuming the catalog entry sets up the app for you
  • Testing only with a super administrator account
  • Ignoring certificate expiry dates
  • Assigning to everyone for convenience
  • Leaving unused integrations running

20Real-World Scenarios

Here are everyday situations that show the catalog at work.

Onboarding a collaboration tool

A company adopts a popular chat and file-sharing tool. The identity team finds it in the catalog, sets up federated sign-in and automatic provisioning in a test org, then pilots with one department. New employees get an account the minute HR confirms their start date, and leavers lose access automatically.

Adopting Okta for apps that already have users

A growing firm already has several hundred accounts spread across a customer-management tool. The team adds the catalog entry, turns on import, checks the matching rule on email, and links existing accounts to Okta users. Only then does it enable provisioning, so no duplicates are created.

Connecting an in-house tool

A finance team has an internal web app that no catalog would list. The engineers use the app integration builder to create a private OIDC integration, register exact redirect addresses, define a small set of scopes and assign it to the finance group.

Granting a security tool limited access

A company adds a security monitoring product that reads logs. It uses an API service integration and approves only the read scopes the product needs. The security team reviews the scope list each quarter and removes any that are no longer used.

Retiring old software

After a merger, two overlapping project tools exist. The team picks one, moves users, turns off provisioning for the other, removes its accounts and deactivates its instance, so no forgotten door is left open.

A sensible rollout plan

1

Inventory

List the apps in use, who owns them and how people sign in today.

2

Prioritize

Start with apps that hold sensitive data or have many users.

3

Set standards

Write naming rules, the federation-first rule and the tiered policies.

4

Onboard in waves

Connect a few apps at a time, pilot with small groups and learn from each wave.

5

Operate and review

Watch logs, renew certificates, review assignments and retire unused apps.

21Beyond Sign-In: Automation, Security Partners and Cost

The catalog is not only a list of business apps. It also holds connections that automate work, share security information and affect what your company spends.

Automation connectors

Okta offers a no-code automation tool called Workflows. Its building blocks are connectors, and many of them are listed in the same catalog. A connector for an app lets a flow read from it or act inside it. For example, a flow can wait for HR to mark a person as leaving, then disable the Okta account, post a message to the security team, and open a ticket to collect the person’s laptop. Each step uses a connector, and the catalog tells you which apps have one.

The advantage is that your team writes the logic once, in a visual builder, instead of maintaining a pile of scripts. The risk is that a flow acts with real power, so treat each flow like code. Give it an owner, review it and test it in a preview org.

Analogy

Connectors are like the different attachments of a kitchen mixer: a whisk, a dough hook and a blender jar. Each does one thing. A flow is the recipe that says which attachment to use and in what order. Without the attachments the recipe cannot be cooked, and without the recipe the attachments just sit in the drawer.

Security partner integrations

Many security products are listed too, such as tools that watch devices, networks or suspicious behavior. They connect to the org in two common ways. Some read the System Log through an approved API service integration, so that they can spot attacks. Others exchange risk signals with the org, so that a device flagged as unhealthy can cause a sign-in policy to ask for stronger proof or to block access. This turns the org into part of a wider security picture instead of a lone gatekeeper.

!
Powerful tools need careful scopes

A tool that can only read logs is low risk. A tool that can also suspend users or change policies is high risk, because a mistake or a breach on the vendor side could lock out your staff. Match each tool’s permissions to its real job.

Keeping partner connections healthy

Partner tools change over time. A vendor may rename a permission, retire an old connection method or ask for a new approval. Subscribe to the vendor’s release notes, assign a named contact for each partner tool, and test the connection after every major update. When a partner is dropped from your toolset, remove its integration, revoke its permissions and delete its stored secrets, so that no forgotten connection keeps reading your logs.

Thinking about cost

Every app in the catalog may add cost in three places. The first is the licence of the app itself. The second is any higher plan the vendor needs for single sign-on or provisioning. The third is the cost of your own time to set it up, watch it and review it. A tidy catalog of apps keeps all three under control.

Cost areaWhat drives itHow to keep it low
App licencesSeats assigned and never usedProvision on assignment, remove on leaving, and review idle accounts
Vendor plan upgradesSingle sign-on or SCIM only on higher tiersAsk before you buy, and weigh the upgrade against the manual work saved
Okta featuresProvisioning and automation options on your planMatch features to the apps that truly need them
Support effortMany different custom setupsPrefer catalog entries and standard patterns
Risk costOrphaned accounts and unreviewed toolsUse the life cycle and review schedule from Chapter 13

Documenting why you chose each integration

Months after an app goes live, nobody remembers why a certain sign-in type, attribute list or provisioning option was picked. Keep a short decision note beside each integration in your register. Record the alternatives considered, the licence limits discovered, the scopes granted and the person who approved the choice. When a new teammate or an auditor asks questions, the note answers them quickly, and when the app is replaced the note shows exactly which settings must be rebuilt.

Choosing between similar apps

Teams often ask which of two similar products to buy. The catalog gives you an extra way to compare. Look at which one supports federated sign-in without a special plan, which one supports automatic removal, which one lets you send roles and groups cleanly, and which one has clear, current setup guides. A product that is hard to connect will also be hard to secure, and that hidden cost often outweighs a small difference in price.

Ask

Does it support SAML or OIDC without an expensive add-on?

Some vendors charge much more for single sign-on. Find out before you commit.

Ask

Can accounts be removed automatically?

Automatic removal protects you on the day someone leaves.

Ask

Are roles and groups supported?

Without them you will manage permissions by hand inside the app.

Ask

Is the guide recent and clear?

An old guide often means a neglected integration.

i
Add integration to your buying checklist

Put “supports standard sign-in and automatic removal” on the checklist that every team uses before purchase. Fixing a missing feature after the contract is signed is far harder than asking before.

22Frequently Asked Questions

Short answers to questions that come up again and again.

Q1Is the Okta Integration Network the same as the App Catalog?
They are closely linked. The Okta Integration Network is the whole ecosystem of listed integrations and the vendors behind them. The App Catalog is the screen in the Admin Console where you browse and add those integrations.
Q2Does adding an app from the catalog configure the app too?
No. It prepares the Okta side. You must still enable and configure single sign-on, and any provisioning, inside the app itself.
Q3What is the difference between a catalog entry and an app instance?
The entry is the shared template. The instance is your own configured copy in your org. You can create several instances from one entry.
Q4What if my app is not in the catalog?
Build a custom integration with SAML or OIDC if the app supports them. If it supports neither, use password vaulting or a bookmark. You can also ask the vendor to publish an entry.
Q5Is an app in the catalog automatically safe?
The catalog review checks the integration itself. It does not replace your own review of the vendor’s security, data handling and contract.
Q6Do I need to pay extra for provisioning?
It depends on your Okta plan and on the app vendor’s plan. Both sides may reserve single sign-on or SCIM for higher tiers, so check before you plan the work.
Q7Should I choose SAML or OIDC when both are offered?
Either is acceptable. Many teams pick OIDC for newer apps because its tokens are lighter and friendlier to modern clients. Choose the one the app supports best and your team can maintain.
Q8Can I use the same app twice in one org?
Yes. Each addition creates a separate instance, which is useful if you have two accounts with the same vendor.
Q9How do vendors get listed?
They build and test the integration, submit it through Okta’s publishing tool with documentation and test details, pass Okta’s review, and then keep the entry up to date.
Q10Why does sign-in fail after months of working?
The most common reason is an expired certificate or token. Next most common is a changed address or setting on the app side. Check the System Log first.
Q11How do I stop forgotten apps from piling up?
Give each app an owner and a review date, track usage, and retire apps that nobody uses.

23Summary and Key Takeaways

You started with a wall of sockets. You now know how each one is made, how to plug into it, and how to keep the whole wall safe.

Key Takeaways

  • The OIN is a shared library of tested connection recipes. The App Catalog is the Admin Console view of it, where you browse and add integrations.
  • Entry and instance are different. A catalog entry is the shared template, and an app instance is your own configured copy with your settings and users.
  • Entries differ in what they offer. Check the sign-in type and the provisioning abilities, and confirm your licences on both sides.
  • Both sides need setup. The org prepares its half, but you must still configure single sign-on and provisioning inside the app.
  • Prefer federation and automation. Use SAML or OIDC where possible, automate account creation and removal, and treat password vaulting as a last resort.
  • Manage the life cycle. Test in a preview org, give every app owners, track certificates, review access, and retire what is unused.
  • Review what you grant. A catalog listing checks the connection, not the vendor, so keep your own risk review and grant API scopes sparingly.