SharePoint Term Store Connector: Managed Metadata for Power Automate
January 15, 2026
Ever tried to automate managed metadata in Power Automate? The standard SharePoint connector lets you create list items, but working with the term store—the taxonomy behind those managed metadata columns—requires custom Graph API calls. And that can be a lot of HTTP actions.
This connector fixes that. The SharePoint Term Store Connector wraps the Microsoft Graph term store API into simple Power Automate actions. List term groups, create term sets, build hierarchical taxonomies—all without writing Graph queries. And for Copilot Studio users, the connector includes MCP support for natural language taxonomy management.
Why automate the term store?
Managed metadata columns are powerful, but the taxonomy behind them is locked away in the term store admin UI. Common automation scenarios include:
- Taxonomy sync: Keep term stores consistent across dev, test, and production environments
- Bulk updates: Add hundreds of terms from a spreadsheet or external system
- Dynamic classification: Look up valid terms before tagging documents in flows
- Governance workflows: Route approval requests when new terms are created
- Onboarding automation: Spin up department-specific term groups when new teams are created
The Graph API supports all of this, but building raw HTTP requests in Power Automate is tedious. This connector gives you proper actions with typed inputs and outputs.
Common use cases
Building content taxonomies
Create hierarchical term structures for document classification:
- Create a term group for “Document Types”
- Add term sets like “Contracts,” “Reports,” “Proposals”
- Build nested terms (Contracts → Legal Contracts → NDAs)
Metadata-driven search
Enable faceted search and filtering:
- Apply terms to documents and list items
- Users filter by term sets (Department, Location, Status)
- Search results grouped by taxonomy
Governance and consistency
Centrally manage organizational vocabulary:
- Define approved terms in the term store
- Prevent ad-hoc metadata creation
- Maintain consistent tagging across sites
Onboarding automation
When new projects or departments spin up:
- Agent creates appropriate term groups and sets
- Inherits from global taxonomy templates
- Site columns automatically pick up new terms
What’s in the connector
The connector exposes 12 actions for complete taxonomy management:
| Action | Purpose |
|---|---|
get_term_store |
Retrieve term store configuration and available languages |
list_term_groups |
List all taxonomy groups (Departments, Locations, etc.) |
create_term_group |
Create a new term group |
list_term_sets |
Get term sets within a group |
create_term_set |
Create a new term set with localized names |
list_terms |
List root-level terms in a set |
create_term |
Add a term with multilingual labels |
list_child_terms |
Navigate hierarchical term structures |
create_child_term |
Build nested taxonomy hierarchies |
update_term |
Modify term labels, descriptions, or properties |
delete_term |
Remove a term (cascades to children) |
get_term |
Get details of a specific term |
Each action maps directly to Graph API operations but handles authentication, URL construction, and response parsing for you.
Term store hierarchy
For those unfamiliar with SharePoint taxonomy, here’s the structure:
Term Store (site-level or tenant-level)
└── Term Groups (organizational containers)
└── Term Sets (collections of related terms)
└── Terms (the actual metadata values)
└── Child Terms (hierarchical nesting, up to 7 levels)
A practical example:
Term Store
└── Corporate Taxonomy (Term Group)
├── Departments (Term Set)
│ ├── Engineering
│ │ ├── Software Engineering
│ │ └── Hardware Engineering
│ ├── Sales
│ └── Marketing
└── Document Types (Term Set)
├── Contracts
│ ├── NDAs
│ └── Service Agreements
└── Reports
Example: Building a document taxonomy
One of the more useful capabilities is building nested taxonomies programmatically. Here’s a typical flow pattern:
Step 1: Create the parent term
Use the create_term action with:
- siteId:
root(or your specific site ID) - setId: The term set GUID from
list_term_sets - label:
Contracts - languageTag:
en-US - description:
Legal and business contracts
Step 2: Add child terms
Loop through your source data and call create_child_term for each:
- siteId:
root - setId: Same term set GUID
- termId: The parent term ID from step 1
- label:
Non-Disclosure Agreements - languageTag:
en-US
Pro tip: Store the term IDs returned from each create action—you’ll need them for nested hierarchies or to update terms later.
Multilingual support
Enterprise deployments often require terms in multiple languages. The connector supports multilingual labels through the languageTag parameter on create and update actions:
- Create the term with your default language (e.g.,
en-US) - Call
update_termwith additional language tags (fr-FR,de-DE, etc.) - Users see terms in their preferred language based on SharePoint settings
This is especially useful for global organizations syncing taxonomy from a master list that includes translations.
Copilot Studio integration
The connector also supports MCP (Model Context Protocol) for Copilot Studio agents. Add it as an action, and agents can interact with the term store using natural language:
- “List all term groups in the root site”
- “Create a new term called ‘Acquisition Documents’ under Contracts”
- “What terms are available in the Departments term set?”
The /mcp endpoint implements MCP Streamable 1.0, so Copilot Studio automatically discovers all 12 tools and their input schemas.
Application Insights telemetry
The connector includes optional Application Insights logging. Track which actions your flows use most, monitor for Graph API errors, and identify taxonomy patterns across your organization. Set the connection string in apiProperties.json during deployment.
Setup and permissions
Prerequisites
- SharePoint site with term store enabled
- Microsoft 365 account with appropriate permissions
- Azure AD app registration with Graph API permissions
Required permissions
The connector requires these Microsoft Graph permissions:
| Permission | Purpose |
|---|---|
TermStore.Read.All |
Read term store data |
TermStore.ReadWrite.All |
Create and modify terms |
Sites.Read.All |
Access SharePoint sites |
Sites.ReadWrite.All |
Full site access (for some operations) |
Deployment
- Import via Power Platform maker portal → Custom connectors → Import OpenAPI
- Upload
apiDefinition.swagger.json - Enable custom code in the “Code” tab
- Paste contents of
script.csx - Configure OAuth 2.0 security with your Azure AD app registration
- Create connection and test
Power Automate usage
- Add a new action in your flow
- Search for “SharePoint Term Store”
- Select the action you need (e.g.,
list_term_groups) - Provide the site ID and any required parameters
Known limitations
A few things to keep in mind:
- Elevated permissions: Term store operations require more permissions than typical SharePoint access
- Cascading deletes: Deleting parent terms removes all children
- Hierarchy depth: Maximum 7 levels of nested terms
- Scope boundaries: Site-scoped term groups only accessible within that site collection
- Tenant admin: Global term groups require tenant administrator permissions
Try it yourself
The complete connector is available in my SharingIsCaring repository:
apiDefinition.swagger.json— OpenAPI 2.0 with MCP endpointapiProperties.json— Connector metadata and OAuth configurationscript.csx— C# implementation with MCP protocol handlingreadme.md— Full documentation
What’s next
With the term store connector, Power Automate can finally participate in taxonomy management. Some ideas I’m exploring:
- Environment sync: Flow that exports terms from production and imports to dev/test
- Excel import: Bulk create terms from a spreadsheet with nested hierarchy columns
- Cross-system sync: Keep Dataverse option sets and SharePoint term stores aligned
- Governance dashboard: Track term usage and flag orphaned or duplicate terms
The combination of this connector with document management actions enables end-to-end classification workflows—upload a document, look up valid terms, apply metadata, all in a single flow.
Related connectors
- Graph Hashes MCP — File integrity and deduplication
Resources
- Microsoft Graph termStore API Reference
- SharePoint Taxonomy Documentation
- Model Context Protocol Specification
- Power Platform Custom Connectors
Managed metadata is the backbone of enterprise content organization, but it’s been stuck in manual admin mode for too long. This connector brings taxonomy management into Power Automate where it belongs. What would you automate first?
Connect with me on LinkedIn or check out more connectors on GitHub!