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.
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.
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.
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.
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.
App instance
Your own configured copy of a catalog entry inside your org. It holds your settings, your users and your policies.
ISV
Independent software vendor. The company that makes the app and, often, publishes its catalog entry.
Single sign-on
Signing in once with your company identity and then opening many apps without typing passwords again.
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.
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.
| Capability | What it means | Why you care |
|---|---|---|
| SAML sign-in | The app accepts signed XML messages from the org | Classic and widely supported single sign-on for business apps |
| OIDC sign-in | The app uses OpenID Connect, a modern sign-in standard | Good for web, mobile and newer apps |
| Password vaulting (SWA) | The org stores the credentials and a browser add-on fills them in | A fallback for apps with no modern standard |
| Provisioning with SCIM | The org creates and removes accounts in the app | Faster onboarding and safer offboarding |
| Group push and import | Groups and users can be sent to or read from the app | Keeps access in sync with group membership |
| API service integration | The vendor’s product can call Okta APIs using approved permissions | Used by security and automation tools that read or act on the org |
| Workflows connector | The app can be used as a building block in no-code automation flows | Lets 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.
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.
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
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
The catalog
The public library of entries, searchable on Okta’s website and inside the Admin Console.
The app instance
Your configured copy, with your sign-in settings, assignments and policies.
The dashboard tile
The icon an employee clicks to open the app. It appears only for people who are assigned.
The submission tool
The path a vendor uses to propose a new or updated entry for review.
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.
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.
Read the capability labels
Check which sign-in methods and provisioning actions are supported.
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.
Confirm the licensing
Make sure your plan with the app vendor allows single sign-on and, if needed, SCIM.
Add it to a test org first
Try the integration in a preview org before real users depend on it.
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.
| Type | Used for | Strength | Watch out for |
|---|---|---|---|
| SAML | People signing in to business apps | Mature and widely supported | Certificates expire and must be renewed |
| OIDC | People signing in to modern apps | Lightweight tokens, good for APIs and mobile | Redirect addresses and scopes must be exact |
| Password vaulting | Older apps with no standard | Works almost anywhere | Weaker security, needs a browser add-on |
| API service | Tools that call Okta APIs | Scoped, auditable access | Over-broad scopes grant too much power |
| Bookmark | A simple tile that opens a web address | Zero setup | No real sign-in, only a shortcut |
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
The story in plain steps
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.
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.
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.
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.
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.
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.
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.
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.
| Question | Identity-provider-initiated | Service-provider-initiated |
|---|---|---|
| Where does the user start? | On the Okta dashboard | On the app’s own address |
| Who sends the first request? | Okta | The app |
| Typical use | Launch from a portal of tiles | Bookmarks, email links, deep links to a page |
| Common risk | Some apps do not accept it | The app must know which org to ask |
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.
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
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
Create and update
New users and changes to names, titles or departments flow from the org to the app.
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.
Group push
Okta groups can be mirrored into the app as groups, so access rules inside the app follow Okta group membership.
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.
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.
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 topic | Good habit | Risky habit |
|---|---|---|
| Username format | Use a stable, unique value such as the primary email | Using a display name that can repeat or change |
| Attributes sent | Send only what the app needs | Sending every field “in case” |
| Role assignment | Drive roles from groups with clear names | Letting users type their own role |
| Source of truth | Decide which system owns each field | Editing the same field in two places |
| Changes | Test mapping edits in a preview org | Editing live mappings during working hours |
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.
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
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.
Prepare the submission
The vendor provides the app name, logo, a description, the protocol settings, test accounts, customer documentation and a support contact.
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.
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.
The entry goes live
Once approved, the entry appears in the shared catalog for all Okta customers to find.
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.
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"]
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
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"]
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.
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.
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.
| Risk | Example | What to do |
|---|---|---|
| Weak sign-in path | App set to password vaulting when SAML is available | Prefer federation, and use vaulting only as a last resort |
| Expired or stolen certificate | SAML signing certificate expires or leaks | Track expiry dates, rotate on a schedule, and replace at once after any suspicion |
| Over-broad API access | A tool granted more permission scopes than it needs | Grant only the scopes required, review them every quarter |
| Orphaned accounts | Leaver still active inside an app | Turn on deprovisioning, test it, and review accounts that are not linked to a user |
| Vendor compromise | The app vendor suffers a breach | Limit the data shared, require strong sign-in, and keep the ability to switch access off quickly |
| Open redirect or wrong address | Loose redirect settings in an OIDC app | List exact allowed addresses, never broad patterns |
| Secrets in the open | Client secret pasted into chat or code | Keep 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.
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
| Signal | What it can tell you |
|---|---|
| Spike in failed single sign-on events for one app | A setting or certificate on one side has changed |
| Provisioning errors | The app rejected a request, a token expired, or a field has the wrong format |
| New app instance created | Someone added an app, which should match an approved request |
| Assignment changes in bulk | A group rule or sync has done something large |
| Changes to API scopes on an integration | A tool is gaining more power |
| Apps with no sign-ins for a long time | Candidates for retirement |
| Certificate expiry dates approaching | An outage is coming unless someone acts |
| Rate-limit responses on provisioning | The app or the org is being asked to do too much too fast |
Simple metrics worth tracking
Share of apps using federated sign-in
A rising share means fewer stray passwords across the company.
Share of apps with automatic deprovisioning
The higher this is, the smaller your risk of leftover accounts.
Apps without an owner
This number should be zero. Each one is a future problem.
Time to fix a broken integration
Measures how quickly your team notices and solves issues.
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 see | Likely cause | What to try |
|---|---|---|
| App says the audience or entity does not match | The identifier set in the org differs from what the app expects | Copy the exact identifier from the app’s settings into the org and compare character by character |
| App rejects the sign-in message address | The callback address is wrong or has a stray slash | Use the exact address that the app shows, including the correct sub-address |
| Signature or certificate error | App holds an old certificate, or the certificate expired | Download the current certificate from the org and upload it to the app |
| User not found in the app | Username format does not match the app account | Check how the app username is built and compare with the app’s user list |
| Sign-in works for some people only | Assignment or group rule excludes the others, or accounts differ | Check assignments and the group rule, then the person’s account status |
| Provisioning says unauthorized | The token or credential for the app has expired or lost rights | Create a fresh token in the app and update the integration |
| Provisioning says conflict or duplicate | An account with the same username already exists in the app | Link the existing account by import, or clean up the duplicate |
| Changes are slow to appear | Rate limits or queueing on one side | Check the log for delays, and run bulk changes at quiet times |
| Time-related sign-in errors | Clocks on the app server differ from real time | Make sure the app server clock is synchronized |
A calm method
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.
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.
Compare the settings
Lay the org’s values next to the app’s values for identifiers, addresses and certificates.
Test with one user
Use a simple test account so that you can rule out profile or group problems.
Write down the fix
Add the cause and solution to your own notes so the next person solves it faster.
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-off | Leaning toward | Leaning away |
|---|---|---|
| Speed versus control | Catalog entry: quick, with defaults | Custom build: more control, more work |
| Federation versus vaulting | Federation: stronger and cleaner | Vaulting: works with old apps but weaker |
| Automation versus caution | Full provisioning saves time | Manual steps reduce surprises on risky apps |
| Wide access versus least privilege | Open assignments are simple | Narrow groups are safer but need upkeep |
| Many apps versus few apps | Many tools fit each team | Fewer tools are easier to secure and pay for |
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
Group-based assignment
Assign apps to groups that mirror job roles. Moving a person between groups updates all their access at once.
Test in preview first
Build and test each integration in a preview org, then repeat the same steps in production using a written checklist.
Federation by default
Require SAML or OIDC for new apps, and keep password vaulting as a documented exception.
Tiered app policies
Group apps into low, medium and high risk, and attach a matching sign-in policy to each tier.
Integration register
Keep a single list of every app with owner, protocol, certificate date, data type and review date.
Automatic leaver path
Connect HR events to deprovisioning, and test that path on a regular schedule.
Anti-patterns to avoid
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.
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.
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.
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
Inventory
List the apps in use, who owns them and how people sign in today.
Prioritize
Start with apps that hold sensitive data or have many users.
Set standards
Write naming rules, the federation-first rule and the tiered policies.
Onboard in waves
Connect a few apps at a time, pilot with small groups and learn from each wave.
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.
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.
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 area | What drives it | How to keep it low |
|---|---|---|
| App licences | Seats assigned and never used | Provision on assignment, remove on leaving, and review idle accounts |
| Vendor plan upgrades | Single sign-on or SCIM only on higher tiers | Ask before you buy, and weigh the upgrade against the manual work saved |
| Okta features | Provisioning and automation options on your plan | Match features to the apps that truly need them |
| Support effort | Many different custom setups | Prefer catalog entries and standard patterns |
| Risk cost | Orphaned accounts and unreviewed tools | Use 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.
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.
Can accounts be removed automatically?
Automatic removal protects you on the day someone leaves.
Are roles and groups supported?
Without them you will manage permissions by hand inside the app.
Is the guide recent and clear?
An old guide often means a neglected integration.
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.
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.