Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallExternal custom properties let a system you already run, such as a software catalog, keep ownership, criticality, lifecycle, and compliance values for each repository and push them into GitHub. GitHub stores those values as read-only repository properties, so GitHub never becomes the place where they are edited. As of October 7, 2026, GitHub’s own documentation describes the feature as public preview.
The decision that matters most is ownership. If people should edit repository context inside GitHub, use ordinary custom properties. If another system is already the authority for that context, use external custom properties and let a GitHub App keep the values current.
Choose who owns the values
GitHub announced the feature in a changelog post dated September 29, 2026. The examples it gives for repository context are ownership, service tier, lifecycle stage, and compliance status. Those are the kinds of fields that often already exist in a catalog, a CMDB, or an internal developer portal, and re-keying them by hand into GitHub tends to drift.
The two property types differ in where authority sits and how values change:
#1 Best Overall
| Question | Ordinary custom properties | External custom properties |
|---|---|---|
| Source of truth | GitHub | An external system that the organization designates |
| Who edits values | People with permission in GitHub | The external system, read-only in GitHub |
| How values reach a repository | Set directly in GitHub | Written by an integration through GitHub API endpoints |
| Use in repository views, filtering, and ruleset targeting | Supported | Supported, according to the GitHub changelog |
| Returned by the repository-values endpoint | Yes | Yes, returned alongside traditional property values |
| Returned by custom-property schema endpoints | Yes | No |
If a value needs to be changed by a repository maintainer in the GitHub interface, an external property is the wrong choice, because the value cannot be edited there.
How the sync works
The integration is an ordinary GitHub App plus automation that you run. GitHub does not provide a hosted sync service of its own. The App registers a display name that becomes the prefix for the properties it creates. In the setup guide’s example, that prefix is port.environment.
Rank #2
The display name
- It is 1 to 15 alphanumeric characters.
- It is scoped to the app installation.
- It can be registered only once per installation.
- It cannot be changed later, so choose it deliberately before the first run.
Permissions
The organization-level permission is named External custom properties for repositories. The level you grant depends on who registers the display name.
| Access level | When to use it |
|---|---|
| Admin | The app registers its own display name using its installation token. |
| Read and write | An organization administrator registers the display name. This is the suitable choice when a person handles registration. |
| Read-only | Not sufficient. It cannot perform the write task. |
Sync triggers
The guide allows a scheduled job. It also describes webhook-driven patterns: a first sync when the app is installed, or populating metadata when a repository is created. An integration can also respond to changes in the source system. Choose a trigger based on how quickly stale values would cause a governance problem. A nightly schedule is simpler to operate, while webhooks reduce lag.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Set up the integration
- Confirm that the source system holds one value per repository for each field you plan to sync, and decide which fields become external properties.
- Register a GitHub App for the integration. Use the external custom properties permission described above and pick a display name within the 1 to 15 character limit.
- Install the app on the organization. Installation is what makes the display name and its properties available to that organization.
- Have your automation obtain an installation access token for the app.
- Register the display name if it has not been registered for this installation. If the app performs this step, it needs Admin access; if an administrator performs it, Read and write is enough.
- Create or update property values for each repository through the external-property API endpoints.
- Check the synced values in the organization or repository settings. GitHub’s guide recommends this validation before you rely on the data.
- Keep the app installed and the automation running. Removing either stops synchronization.
The guide also refers to a transfer validation step. Check the current guide for its exact form before you build it, because it is part of the setup and not an optional extra.
Choose a path: partner or self-built
GitHub’s changelog says that Port is the first partner integration, and it adds that “You aren’t limited to partner integrations.” The changelog attributes that sentence to GitHub’s September 29, 2026 post.
Port as the first partner
Port’s own announcement, originally dated September 22, 2026 and since updated, describes using its context catalog to sync properties such as ownership and criticality into GitHub. Port’s claims about its product and its availability are Port’s statements and should be checked against Port’s current materials. The GitHub documentation also notes that GitHub plans to add more providers, so the list of partners is expected to change.
Building your own integration
GitHub’s setup guide names software catalogs and internal developer portals as possible sources. An enterprise with its own system of record can therefore build the App and automation itself, following the steps above. The cost is that you own registration, token handling, scheduling or webhook handling, and maintenance of the integration after the preview changes.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Best Value
Limits and lifecycle
- Preview status. GitHub’s documentation states: “External custom properties are in public preview and subject to change.” Plan for API and behavior changes during the preview.
- Definition limit. Each organization can have up to 100 custom-property definitions. Standard and external definitions count together. The GitHub Docs page does not state its publication date; it was accessed on October 7, 2026.
- Uninstalling the app. Uninstalling deregisters the app’s installation and display name, and removes the external properties the app created. Treat uninstallation as a data-deletion event, not a pause.
Where to start
Begin with one property that already has a clear owner in another system, such as service ownership, and sync it for a small set of repositories. Confirm that the values appear in repository settings and that your ruleset or filter targets return the expected repositories. Once that works, add more fields. Stay within the 100-definition limit by counting the properties you already use before you add external ones.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




