If a Copilot Studio generative answer loses its citations in Teams after you customise the response, check the output configuration first. Microsoft documents that Teams automatically adds citations to standard generative answers, but customised responses require explicit citation rendering. Capture the complete response and send its citation metadata alongside the answer text.

That diagnosis applies to the documented generative answers node on Copilot Studio’s standard harness. It does not explain every uncited answer or every agent architecture. Establish whether the response contains citation metadata before rebuilding retrieval or changing the model.

Does the citation disappear before or after the answer is sent?

Consider an internal policy assistant. Its original answer includes a source link. A maker then stores the answer in a variable, formats the text and sends a branded response. The words still look right, but the link has gone.

This is an illustrative scenario, not a reported Model Operator deployment. Compare the stored response with the outgoing message. If the stored object contains references and the message contains only prose, the employee has lost the route to check the answer even though source metadata reached the topic.

Microsoft’s generative answers documentation describes storing a generated answer rather than immediately sending it. The same instructions flag the Teams citation limitation for customised answers. If the topic sends only the answer string, inspecting the knowledge connector first sends the investigation upstream without establishing that retrieval failed.

Use one non-sensitive question with a known source. Keep the source and test account unchanged while comparing the standard response with the customised path.

What you observeWhat to inspect nextDecision
Standard response has a citation; customised response does notFull captured response and outgoing activityRepair the citation hand-off before changing retrieval
Captured response has text but no citation metadataKnowledge source, node settings and custom-data fieldsEstablish whether source references entered this response
A citation appears but opens the wrong documentCitation URL against the evidence usedCorrect the source mapping; a visible link alone is insufficient
Correct link opens for the maker but not the employeeDestination access using the employee’s accountResolve legitimate access requirements without widening sharing to pass the test

For failures beyond this response path, the broader AI agent troubleshooting guide separates context defects from tool and authority failures.

What should the customised Teams response include?

Microsoft’s Teams channel guidance gives a specific repair for this limitation:

  1. Open the generative answers node’s properties and expand Advanced.
  2. Set Save LLM response to Complete (Recommended) so the captured response includes citation metadata.
  3. Add a SendActivity node after the generative answers node in the topic’s code editor.
  4. Under its activity, include both text and citationEntities, pointing to the corresponding fields in the captured response.

In Microsoft’s example, the stored response is Topic.Answer. The outgoing text references Topic.Answer.Text.Content, while citationEntities references Topic.Answer.Text.CitationSources. Use the actual variable name in your topic; the example name is not a platform requirement.

Follow the current Microsoft example for the topic syntax rather than pasting an isolated property into an unrelated card definition. A response rendered through an Adaptive Card still requires a channel-specific check: displaying formatted text does not establish that source references survived the customisation.

After editing, publish the agent and start a fresh Teams conversation. Microsoft’s channel documentation states that newly published content does not appear in ongoing conversations; Start over starts a new conversation using the updates. Record the published version and test time so an older conversation cannot obscure the result.

Custom retrieval introduces another place to lose references. Microsoft’s custom-data documentation defines a table containing required Content, optional ContentLocation and optional Title. The URL in ContentLocation supplies the source link; Title supplies its citation label.

Inspect the table passed to the generative answers node. Returning a passage of policy text from an HTTP request does not establish that the transformation also retained its URL. Adding a citation-rendering field downstream cannot recover a source location that the input omitted.

The same documentation states that only the first three records are used to generate an answer. Keep that limit scoped to this custom-data route. A relevant fourth record in an upstream search response is not evidence that the node received it for answer generation. Check the records actually used before attributing a missing reference to Teams.

If this topic should answer only from the supplied variable, Microsoft’s node guidance describes selecting Search only selected sources with no knowledge sources selected, configuring Custom data under Classic data, and turning off web search and general knowledge. Confirm that configuration against your intended source boundary; do not change it merely to make citations appear.

Will the same repair work in a Teams group chat?

The conversation surface changes what is supported. Microsoft’s current Teams limitations state that Copilot Studio agents cannot use knowledge sources requiring end-user authentication, such as SharePoint, in Teams group chats and channels. Those sources are supported only in 1:1 chats in this documented context.

Record whether the failing conversation is a personal chat or a shared channel before comparing results. Moving the test between them changes the source-access conditions. A citation-output repair cannot make an unsupported knowledge-source configuration supported.

Do not work around that boundary by copying restricted material into a public source or disabling authentication. Keep the supported 1:1 route or redesign the deployment with the appropriate administrator and source owner.

What evidence is enough to accept the repair?

Treat the following as a proposed acceptance check, not a test run reported here. Use a harmless test document and an authorised employee account in the intended Teams surface.

First, capture the standard answer and its source reference. Run the same question through the customised topic and inspect the complete response before it is sent. When citation metadata is present, confirm that the outgoing activity carries it and that Teams displays the expected reference.

Then open the link as the employee. Verify that it reaches the document supporting the answer, rather than a generic homepage or an inaccessible maker-only location. Finally, ask a question the test source cannot answer. Review the reply for unsupported claims or references; a repair that adds a link to every message conceals a different defect.

Save the question, source URL, captured citation fields and screenshots of the rendered response. Include the agent version and chat surface. These artefacts let a second operator distinguish a successful presentation repair from an unrelated change in the generated wording.

Add the case to your Copilot Studio evaluation process, retaining a separate rendered-channel check. An answer-quality score does not by itself verify that a Teams user can inspect the evidence.

Once the captured response contains valid references, the next implementation hour belongs in the output step. Rebuilding retrieval at that point leaves the confirmed defect untouched.

Model Operator is a Dubai-based AI product studio led by Alexander Chrisostomou. Its Company Brain + Slack / Teams Bots engagement covers scoped source-aware assistants and their adoption. If this failure is blocking a rollout, bring the affected topic and a non-sensitive example to a Model Operator build conversation; use them to identify the repair boundary before agreeing wider implementation scope.