da-
Declarative agent
Include a Teams/M365 app package and a declarative agent manifest.
Use templateContributing
Help someone else get started with a complete, documented Copilot sample. Share only code and assets you have permission to publish.
Read the contribution guideStart from the latest main branch. Use one branch and one pull request per sample.
Copy the matching project template. Include source, documentation, metadata, and a real screenshot.
Test your setup instructions, complete the PR template, and sign the Contributor License Agreement when prompted.
Required structure
samples/
└── <prefix>-<sample-name>/
├── assets/
│ ├── sample.json
│ └── screenshot.png
├── README.md
├── .gitignore
└── <source and app package>Use lowercase names with hyphens, not periods. Complete the template's README and metadata, replace every placeholder, and store screenshots in the sample's assets folder.
Add your sample to the root README samples table. Avoid unrelated changes outside your sample.
End the sample-root README with its view tracker, replacing the folder name:
<img src="https://m365-visitor-stats.azurewebsites.net/copilot-pro-dev-samples/samples/<sample-folder>" />Submission checklist
pnp-copilot-pro-dev:<sample-folder> and omit projectId.Start with the right structure
da-
Include a Teams/M365 app package and a declarative agent manifest.
Use templateplugin-
Use this prefix when manifest.json contains agentSkills or agentConnectors, even if copilotAgents is also present.
Use templatecea-
Include the agent source and a Teams/M365 app package.
Use templatemcs-
Include exported or cloned Copilot Studio source in src/.
Use templateFor msgext- message extension samples, follow the full contribution guide and a high-quality sample of the same type; there is no dedicated template.
Sharing is caring
You do not need a new sample to help. Improve a README, replace a screenshot, review a contribution, or share your experience on a community call. First-time contributors and presenters are welcome.