FME Transformers: 2026.3
MicrosoftCopilotConnector
Connects to Microsoft 365 Copilot to chat with the Copilot agent and retrieve text content.
Typical Uses
- Chatting with the Copilot agent, with responses grounded in enterprise data and web search
- Retrieving text content from SharePoint, OneDrive, and connected resources for use as agent context
How does it work?
The MicrosoftCopilotConnector uses your Microsoft 365 credentials to perform various tasks:
| Action | Task |
|---|---|
|
Chat |
Send a message to Microsoft Copilot and receive its answer. |
|
Retrieve |
Search Microsoft 365 content and return the text extracts that match a query. |
Optional Input Port
This transformer has two modes, depending on whether a connector is attached to the Input port or not:
- Input-driven: When input features are connected, the transformer runs once for each feature it receives in the Input port.
- Run Once: When no input features are connected, the transformer runs one time.
When the Input port is in use, the Initiator output port is also enabled.
Usage Notes
- Requires FME 2026.1 or newer.
- Requires a work or school Microsoft 365 account. Personal Microsoft accounts are not supported.
- Supported in the Microsoft 365 worldwide cloud only.
- Chat requires a Microsoft 365 Copilot license, the paid add-on for Microsoft 365. Consumer Copilot Pro is not supported.
- Retrieve requires a Microsoft 365 Copilot license, or pay-as-you-go billing enabled by an administrator. Pay-as-you-go is in preview, and supports tenant-level data sources only: SharePoint and Copilot Connector, but not OneDrive.
- Your Entra ID tenant must register an application and grant admin consent for the Microsoft Graph permissions that the web service requests.
- Chat uses the Microsoft 365 Copilot Chat API, which is in public preview. Its behavior and its response format are subject to change.
- Retrieve uses the Microsoft 365 Copilot Retrieval API, which is generally available.
- Prompts, queries, and results are processed inside the Microsoft 365 trust boundary, under your tenant's permissions, sensitivity labels, and compliance policies. When Enable Web Search Grounding is Yes, Copilot also sends a search query to Bing.
- Use of these APIs is subject to the Microsoft 365 Copilot APIs Terms of Use.
Configuration
Input Ports
This transformer accepts any feature. Coordinate systems are not supported.
Output Ports
Features with added attributes, as specified in parameters and according to Action:
|
Action |
Output - Input-Driven |
Output - Run Once |
|---|---|---|
|
Chat |
Input feature with Copilot's answer. |
New feature with Copilot's answer. |
|
Retrieve |
Input feature(s), one copy for each matching text extract. |
New feature(s), one for each matching text extract. |
When the optional Input port is used, input features are output here unmodified, in addition to any other output locations (Output or <Rejected>).
Features that cause the operation to fail are output through this port. An fme_rejection_code attribute describing the category of the error will be added, along with a more descriptive fme_rejection_message which contains more specific details as to the reason for the failure.
If an Input feature already has a value for fme_rejection_code, this value will be removed.
Rejected Feature Handling: can be set to either terminate the translation or continue running when it encounters a rejected feature. This setting is available both as a default FME option and as a workspace parameter.
Parameters
|
Account |
Select or create a Web Connection connecting to an Microsoft 365 Copilot Web Service. |
|
Action |
Select an operation to perform. Choices include:
|
Chat Options
|
User Prompt |
Provide the message to send to the model. |
|
Context File URLs (Newline Delimited) |
(Optional) Provide the SharePoint and OneDrive documents to ground the answer on, one URL per line. URLs must be canonical file URLs, not sharing links. A canonical URL is the one shown in the browser address bar with the file open. The server may silently ignore invalid or inaccessible URLs. This includes sharing links, 1drv.ms shortlinks, and links with permission errors. |
|
Additional Context |
(Optional) Provide grounding text. This can be used such that User Prompt is a fixed value, while additional context is set from an attribute value. This context only applies to the same request where it is provided, and does not persist across turns in the conversation. |
|
Enable Web Search Grounding |
Select an option:
Grounding on your organization's Microsoft 365 content is always on and cannot be disabled. |
|
Conversation State |
Select whether to start a new conversation or continue an existing one:
|
|
Conversation ID |
When Conversation State is Continue, provide the conversation to continue. Use a _conversation_id value returned by an earlier turn. |
|
Time Zone |
Provide the IANA time zone representing the user's location. Defaults to <System Time Zone>, the time zone of the machine running FME. |
Advanced
|
Timeout (seconds) |
Specify the maximum time to wait for a response before timing out. Default is 300, since responses are not streamed and the request blocks until Copilot has finished grounding and composing the entire answer. The minimum is 5. |
Output Attributes
|
Attributes to Add |
Select any available attributes to be included on the output features:
|
Retrieve Options
|
Query |
Provide a query to search, as a string of up to 1,500 characters. Longer queries are rejected. |
|
Data Source |
Select where to search. Only one source may be searched per request.
Copilot connectors, previously called Microsoft Graph connectors, are set up by an administrator in the Microsoft 365 admin center. |
|
Connection IDs (Newline Delimited) |
When Data Source is Copilot Connector, specify which Copilot connectors to search, one connection ID per line. A connection ID is not the connector's display name. It is 3 to 32 alphanumeric characters. A connector deployed from the gallery is given an ID based on its name, such as IntranetSites2608271853; a connector built with the Microsoft Graph API uses an ID chosen by its developer, such as ContosoITServiceNowKB. Connection IDs are listed in the Microsoft 365 admin center, under Copilot > Connectors > Your Connections. |
|
Filter Expression |
(Optional) Provide a Keyword Query Language (KQL) filter that scopes the results, for example by file type, author, date, path, or sensitivity label. Combine clauses with AND, OR, and NOT, and compare with :, =, <, >, <=, and >=. The filter is sent as written. Malformed KQL, such as unbalanced quotes or parentheses, is rejected by the service. A property or value the data source does not recognize is not an error: it simply returns no results, so check the filter if results are unexpectedly empty. SharePoint and OneDrive support a fixed set of queryable properties: Author, FileExtension, Filename, FileType, InformationProtectionLabelId, LastModifiedTime, ModifiedBy, Path, SiteID, and Title. A Copilot Connector defines its own queryable properties. They are listed in its search schema in the Microsoft 365 admin center, or, for a custom-built connector, in its Graph connection schema. When filtering on Path, use a canonical site or folder URL, not a sharing link. Examples:
|
Advanced
|
Timeout (seconds) |
Specify the maximum time to wait for a response before timing out. Default is 300, since responses are not streamed and the request blocks until Copilot has finished grounding and composing the entire answer. The minimum is 5. |
|
Max Results |
(Optional) Specify the maximum number of grounding data results to retrieve, between 1 and 25. Leave empty to use the default set by the service. Results are not ranked before this limit is applied, so lowering it discards relevant material as readily as irrelevant material. |
Output Attributes
|
Attributes to Add |
Select any available attributes to be included on the output features:
|
||||||||||||||||
|
Resource Metadata |
Specify the document properties to return for each result, whitespace delimited. Every property is collected into the _resource_metadata output attribute as a JSON object; use a downstream JSONExtractor or JSONFlattener to read individual values. If a property is not found for a document, it is omitted from the output. Defaults to a basic set of properties for the selected Data Source. Edit the list to add or remove properties, or clear it to return none. The available property names depend on the Data Source:
|
Editing Transformer Parameters
Transformer parameters can be set by directly entering values, using expressions, or referencing other elements in the workspace such as attribute values or user parameters. Various editors and context menus are available to assist. To see what is available, click
beside the applicable parameter.
Defining Values
There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters.
Using the Text Editor
The Text Editor provides a convenient way to construct text strings (including regular expressions) from various data sources, such as attributes, parameters, and constants, where the result is used directly inside a parameter.
Using the Arithmetic Editor
The Arithmetic Editor provides a convenient way to construct math expressions from various data sources, such as attributes, parameters, and feature functions, where the result is used directly inside a parameter.
Conditional Values
Set values depending on one or more test conditions that either pass or fail.
Parameter Condition Definition Dialog
Content
Expressions and strings can include a number of functions, characters, parameters, and more.
When setting values - whether entered directly in a parameter or constructed using one of the editors - strings and expressions containing String, Math, Date/Time or FME Feature Functions will have those functions evaluated. Therefore, the names of these functions (in the form @<function_name>) should not be used as literal string values.
| These functions manipulate and format strings. | |
|
Special Characters |
A set of control characters is available in the Text Editor. |
| Math functions are available in both editors. | |
| Date/Time Functions | Date and time functions are available in the Text Editor. |
| These operators are available in the Arithmetic Editor. | |
| These return primarily feature-specific values. | |
| FME and workspace-specific parameters may be used. | |
| Creating and Modifying User Parameters | Create your own editable parameters. |
Table Tools
Transformers with table-style parameters have additional tools for populating and manipulating values.
|
Row Reordering
|
Enabled once you have clicked on a row item. Choices include:
|
|
Cut, Copy, and Paste
|
Enabled once you have clicked on a row item. Choices include:
Cut, copy, and paste may be used within a transformer, or between transformers. |
|
Filter
|
Start typing a string, and the matrix will only display rows matching those characters. Searches all columns. This only affects the display of attributes within the transformer - it does not alter which attributes are output. |
|
Import
|
Import populates the table with a set of new attributes read from a dataset. Specific application varies between transformers. |
|
Reset/Refresh
|
Generally resets the table to its initial state, and may provide additional options to remove invalid entries. Behavior varies between transformers. |
Note: Not all tools are available in all transformers.
For more information, see Transformer Parameter Menu Options.
Reference
|
Processing Behavior |
|
|
Feature Holding |
No |
| Dependencies | See Usage Notes |
| Aliases | |
| History |
FME Online Resources
The FME Community and Support Center Knowledge Base have a wealth of information, including active forums with 35,000+ members and thousands of articles.
Search for all results about the MicrosoftCopilotConnector on the FME Community.
Examples may contain information licensed under the Open Government Licence – Vancouver, Open Government Licence - British Columbia, and/or Open Government Licence – Canada.