## Steps to Reproduce
### Prerequisites
1. A Copilot Studio agent with Git integration enabled
2. A topic (e.g., `ValueCaseMain`) that calls one or more Power Automate flows via `InvokeFlowAction`
3. The flows work correctly when edited via the GUI canvas
### Reproduction Steps
1. In Copilot Studio, open the agent and confirm the topic works:
- Open the topic that calls flows (e.g., `ValueCaseMain`)
- Test in the Test pane — verify flows are invoked (check run history in Power Automate)
2. Use **Get** (pull) to sync the topic YAML to your local Git repo
3. Make a minor change to the topic YAML file locally (e.g., edit a `SendActivity` text string)
4. **Push** the modified YAML back to Copilot Studio via Git sync
5. Test the topic again in the Test pane
### Expected Result
- Flows should still be invoked after the push
- `InvokeFlowAction` nodes should retain their connection references and auth bindings
### Actual Result
- Flows are **silently skipped** — no error, no run history entry in Power Automate
- The `InvokeFlowAction` node appears to exist in the YAML, but the connection reference binding is lost
- The only way to restore functionality is to **manually re-add the flow call via the GUI canvas**
## Impact
- **Severity**: High — blocks Git-based development workflow for any agent using Power Automate flows
- **Workaround**: Never push topic files containing `InvokeFlowAction`. Instead, make changes via the GUI and use **Get** (pull) only. This defeats the purpose of source control for the core topic.
- **Scope**: Affects all topics with flow references, not just a specific topic
## Additional Context
### What we verified
- The YAML structure of `InvokeFlowAction` is identical before Get and after Push
- Connection references exist in `connectionreferences.mcs.yml` and are not modified
- Flows themselves are functional (can be triggered manually from Power Automate)
- Adding the same flow call via the GUI canvas immediately restores functionality
- This confirms the issue is in how Push processes `InvokeFlowAction` — it does not re-establish the connection reference binding that the GUI creates
### Affected YAML structure (example)
```yaml
- kind: InvokeFlowAction
input:
binding:
flowId: <your-flow-guid> # YourFlowName
userId: =System.User.Id
output:
binding:
resultVar: Topic.yourVariable
```
### Files involved
- Topic file: `topics/<YourTopic>.mcs.yml`
- Connection references: `connectionreferences.mcs.yml`
- Affected flows: Any flow referenced via `InvokeFlowAction`
### Workaround currently in use
We maintain a strict rule: **never push topic files that contain `InvokeFlowAction`**. All edits to those topics are done manually in the GUI, then synced to Git via Get (pull). This is documented but fragile and blocks proper CI/CD workflows.
## Request
Please fix the Git Push mechanism to correctly preserve `InvokeFlowAction` connection reference bindings, so that topics with flow calls can be safely round-tripped through source control