What this engagement covers
This is app delivery for the place your staff already are. Teams is not just a chat client; it is a container that hosts tabs, personal apps, bots and cards, and the Power Platform publishes into all four. A canvas app can be added to a channel as a tab straight from the maker portal — Microsoft's guide to embedding a Power App in Teams (opens in new tab) covers the mechanics, including the context variables that let one app know which team and channel it was opened from. The judgement we bring is which of those surfaces your process actually wants, and what has to be true in your tenant before any of it survives contact with users.
Deliverables are the app, agent or flow itself, the data source behind it, the Teams packaging and installation, the admin policy work that makes it installable and pinnable, a test pass run with real users on desktop and mobile, and documentation for whoever owns it after us. Work is performed remotely by senior US-based engineers from our Orange County, CA base, serving every US state, at one fixed price agreed before work starts after your free consultation.
Where this sits next to our Power Apps work
The nearest neighbour is worth naming plainly, because the two pages sell different halves of the same outcome. Our Power Apps consulting engagement sells the application: the process mapping, the data model, the screens, the security roles, the release management. It does not care very much where the app is opened. This page sells the delivery surface — the decision to put that app inside Teams as a tab or a personal app, the packaging and admin policy that makes it installable, and the two neighbouring shapes that only make sense inside Teams: a Copilot Studio agent living in a channel, and a Power Automate approval arriving as a card in a chat.
Practically, most clients buy both halves in one scope, and that is fine — it is one written price either way. The distinction matters when only one half is the problem. If you have no app yet and the hard part is the process and the data, start on the Power Apps page. If you already have an app that works and nobody opens it, the problem is distance, and this is the engagement. And if the Teams estate underneath is itself the problem — hundreds of teams, no naming standard, no owner — then Teams governance consulting comes first, because publishing a polished app into a junk drawer does not make the junk drawer easier to search.
Which surface a process should land on
Four delivery shapes cover almost every request we take, plus two that involve no building at all. Each answers a different kind of work, and each carries a precondition that is cheaper to check now than to discover in week three. The table below is the pattern library we scope from; your written scope is a filled-in version of it.
| Delivery shape |
What it is built on |
Reach for it when |
What has to be true first |
| Channel tab app |
A Power Apps canvas app added as a tab in a team channel |
A team works one shared queue together and talks about it in that channel |
A real data source behind it, and licensing that covers the connectors the app uses |
| Personal app in the app bar |
The same canvas app installed personally and pinned by policy |
Each person does their own instance of the task — timesheet, expense, request |
An app setup policy assigned to those users; configurable tabs cannot be pinned this way |
| Channel or chat agent |
A Copilot Studio agent published to the Teams channel |
The same questions are asked repeatedly and the answers are already written down |
Current sources, plus the channel limitation below on knowledge that needs a user sign-in |
| Adaptive-card approval |
A Power Automate flow posting a card to a chat or channel |
A decision must happen quickly and be recorded without anyone opening another system |
A wait-for-a-response action, since cards posted without one cannot collect input |
| Pinned SharePoint page |
An existing page or library added as a tab |
The content already exists and only needs to be closer to the conversation |
The page is current and its permissions already match who should read it |
| Report tab |
A published Power BI report added to the channel |
Numbers get discussed in a channel and currently arrive as a screenshot |
A published report the team can access, in a workspace someone owns |
Two of those rows deserve their footnote up front. Power Automate's adaptive cards for Teams (opens in new tab) only collect a response when the flow uses one of the wait-for-a-response actions; a card posted with an ordinary action renders fine and then errors when somebody presses the button, which is a demoralising way for a new tool to introduce itself. And Microsoft's guidance on connecting a Copilot Studio agent to Teams (opens in new tab) states that in group chats and channels an agent cannot use knowledge sources requiring end-user authentication, such as SharePoint — deliberate protection against unintended data exposure, and a hard design constraint rather than a bug to work around. An agent that must answer from a permissioned library belongs in one-to-one chat.
The admin settings that decide whether it ships
The most common way a Teams app project fails is not technical. It is finished, demonstrated, approved, and then cannot be installed because nobody asked the Teams administrator anything. An app built for your organization and not listed in the public store is a custom app, and Microsoft's documentation on custom app policies and settings (opens in new tab) describes three separate controls that combine to decide who may upload one: an organization-wide setting, a per-team setting owned by team owners, and a user-level app setup policy. Any one of them being off changes the answer.
Getting the app in front of people is a second decision again. App setup policies (opens in new tab) are what pin an app to the Teams app bar for an assigned group of users, which is the difference between a tool people have and a tool people see. There are real limits worth knowing before you design: apps with configurable tabs cannot be pinned through a setup policy, admin pins take precedence over user pins, the in-meeting bar shows only two apps, and changes take a few hours to reach clients. Organization-wide availability is managed separately again through the Manage apps page in the Teams admin center (opens in new tab). We read all of this in your tenant during scoping and write the required changes into the scope, so the approval conversation happens in week one rather than the day before go-live.
What we do not build, and why we say so
Much of this market sells coded Teams extensibility — SharePoint Framework tabs, Bot Framework bots, message extensions, a hosted service behind a custom manifest. That is legitimate work and it is not our bench. We deliver low-code: Power Apps, Power Automate, Copilot Studio, SharePoint and Power BI, published into Teams. Naming the boundary costs us the occasional lead and saves both sides a bad project, which is the trade we would make every time.
In practice the low-code set covers more than people expect, because the requirement behind "we need a custom Teams app" is usually a form, a queue, an approval, a lookup, or a report — not a novel interaction model. Where it genuinely does not fit, the honest signals are a consumer-facing audience, sub-second interaction requirements, an interface Teams does not expose to low-code, or a scale of concurrent use that argues for a purpose-built service. If the audience is the real mismatch — customers or the public rather than your own licensed staff — then Teams is the wrong container entirely and a portal is the right one; that is our Power Pages development services engagement instead.
Who this fits
The usual fit is an organization of roughly 20 to 500 people that runs on Microsoft 365, works day-to-day in Teams, and has one process still living in a spreadsheet, an email chain, or a browser tab somebody keeps forgetting. The trigger is generally one of three things: a tool was built, works, and nobody opens it; approvals are stuck because the approver is always in a meeting and never in the approval system; or the same question gets asked in a channel a dozen times a week.
It fits poorly in two cases and we will say so during the consultation. If there is no agreed process yet — if the answer to "what happens next" is different depending on who you ask — then no amount of packaging helps, and the process work on the Power Apps consulting side has to come first. And if you are still assembling a budget rather than choosing a surface, our guide to Power Apps development cost walks through the scope drivers behind a build quote and what continues to cost money after launch.
Delivery in three phases
The table shows scope and typical timeline rather than prices, because an honest number needs to see how many surfaces are in play, what state the data behind them is in, and what your tenant's app policies currently allow. For how the fee is set and what is fixed before anything starts, our fixed-fee process spells it out.
| Phase |
Scope |
Typical timeline |
Fee |
| Phase 1 — surface and scope |
Watch the process in its own channel, decide which delivery shape it wants, design the data source behind it, and read the tenant's app upload, availability and setup policies so the installation path is known before anything is built |
About the first week |
Fixed fee — scoped after your free consultation |
| Phase 2 — build and package |
The app, agent or flow built against the real data source, then packaged for Teams: added as a tab or personal app, connected as a channel agent, or wired to post cards, with a review pass by the people who will use it on both desktop and mobile |
Weeks 2–3 |
Fixed fee — scoped after your free consultation |
| Phase 3 — publish and hand over |
Published and pinned for the teams or people in scope, with the admin steps documented, a walkthrough for the owning team, written handover of the solution and its connections, and 30 days of hypercare while real use finds the edges |
Week 4 and close-out |
Fixed fee — scoped after your free consultation |
Everything produced is yours from the first day: the app, the flow, the agent, the solution and its connection references all live in your own Microsoft tenant, never in ours. Nothing gets published to a wider audience than the one you approved, and the documentation is written so the next person to change it does not need us.