
Add Datasource
Connect a Power Apps code app to the right Microsoft or external data source by describing the app goal, not connector jargon.
Overview
Add Data Source is an agent skill for the Build phase that discovers what your Power Apps code app must do with data and routes you to the correct connector skill.
Install
npx skills add https://github.com/microsoft/power-platform-skills --skill add-datasourceWhat is this skill?
- Goal-first questioning: what data the app needs, not which connector name to pick
- Checks memory-bank.md per shared Power Platform plugin instructions
- Skips re-asking when $ARGUMENTS or caller already specified the need
- Recommends approach with plain-language why before invoking a specialized skill
- Allowed-tools workflow: Read, Edit, Write, Grep, Glob, Bash, LSP, tasks, AskUserQuestion, Skill
Adoption & trust: 74 installs on skills.sh; 349 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You know what your app should accomplish but do not know which Power Platform connector or data store fits—or what it is called.
Who is it for?
Solo builders mid-build on Power Apps code apps who need guided connector selection and automated routing to the right implementation skill.
Skip if: Greenfield projects with no code app yet, or admins only configuring environment-wide ALM without an app repo.
When should I use this skill?
User wants to add a data source or connector to a Power Apps code app and needs goal-based routing (user-invocable: true).
What do I get? / Deliverables
You get a recommended data approach in plain language and a handoff to the specialized skill that implements that connector in your code app.
- Connector recommendation with rationale
- Invocation of the specialized datasource implementation skill
Recommended Skills
Journey fit
Data binding happens after site scaffold and before feature-complete UI—core Build integrations work on Power Platform. The skill routes to connector-specific flows (Dataverse, SharePoint, etc.) rather than visual design or launch distribution.
How it compares
Use as a conversational router over specialized Power Platform connector skills, not as a standalone CRUD code generator.
Common Questions / FAQ
Who is add-datasource for?
Power Platform solo builders using agent plugins to attach data to code apps when they understand features but not connector names.
When should I use add-datasource?
During Build integrations after your site exists and before you implement screens that read or write external or Dataverse data.
Is add-datasource safe to install?
It can edit files and run shell commands; review the Security Audits panel on this Prism page and shared-instructions for your tenant policies before use.
SKILL.md
READMESKILL.md - Add Datasource
**📋 Shared Instructions: [shared-instructions.md](${CLAUDE_PLUGIN_ROOT}/shared/shared-instructions.md)** - Cross-cutting concerns. # Add Data Source Router skill that understands the user's goal and connects them to the right data source -- without requiring them to know Power Platform terminology. ## Workflow ### Check Memory Bank Check for `memory-bank.md` per [shared-instructions.md](${CLAUDE_PLUGIN_ROOT}/shared/shared-instructions.md). ### Understand the Goal 1. **If `$ARGUMENTS` is provided or the caller already specified what's needed**, use it directly and skip the question below. 2. Otherwise, ask the user **what they want their app to do** -- not which connector to use. Focus on the end goal. Example questions: - "What kind of data does your app need to work with?" - "What should your app be able to do? (e.g., search company info, manage tasks, send messages)" 3. Based on their answer, **recommend the best approach** and explain *why* it's the right fit. The user shouldn't need to know the difference between Dataverse, SharePoint, or other connectors -- that's our job. ### Route to the Right Skill Map the user's goal to the appropriate skill: | User's goal | Best approach | Invoke | |-------------|---------------|--------| | Store and manage structured business data (custom tables, forms, CRUD) | Dataverse is the platform's native database | `/add-dataverse` | | Track work items, bugs, builds, or pipelines | Azure DevOps connector | `/add-azuredevops` | | Send or read Teams messages, post to channels | Teams connector | `/add-teams` | | Read/write Excel spreadsheet data | Excel Online (Business) connector | `/add-excel` | | Upload, download, or manage files | OneDrive for Business connector | `/add-onedrive` | | Work with SharePoint lists or document libraries | SharePoint Online connector | `/add-sharepoint` | | Send emails, read inbox, manage calendar events | Office 365 Outlook connector | `/add-office365` | | Invoke an AI agent or copilot built in Copilot Studio | Copilot Studio connector | `/add-mcscopilot` | | Something else or not sure | Generic connector (we'll figure it out) | `/add-connector` | **Important routing rules:** - When the user wants to **perform actions** (send an email, post a message, create a file), use the specific connector for that action (e.g., `/add-office365` for sending email, `/add-teams` for posting messages). 4. If the user wants multiple capabilities, invoke each skill in sequence. ### When the User Isn't Sure If the user describes a vague goal (e.g., "I need data for my app"), guide them: 1. Ask what their app does and who uses it 2. Ask what data they need to display or interact with 3. Recommend the simplest approach that meets their needs 4. Explain the recommendation in plain language (avoid jargon like "connector", "Dataverse", "tabular data source" unless the user uses those terms first)