New Time Tracker for Azure DevOps- track developer hours directly inside work items. No ghosted hours. Learn More
logo

Multi-step Approval Workflows for Nonprofits: A Step-by-Step Guide

Nonprofit approval workflow automation cuts approval cycle time from days to hours by replacing manual email chains with structured digital routing. It uses tools like Microsoft Power Automate to automatically route requests, send reminders, and maintain audit trails, so Executive Directors and Operations staff spend less time chasing responses across Asana and Bloomerang. Browse our full workflow automation resource library for related guides.

What this workflow looks like before automation

Here is the five-step process most nonprofit teams run today, with realistic time estimates at each stage.

  1. Request submitted (15-30 minutes). A program manager writes up a grant expenditure request, vendor payment, or budget transfer and sends it via email to the Executive Director or Director of Operations. Some teams log requests as Asana tasks, but approvals still happen over email. Donor fund tracking happens in Bloomerang or Salesforce NPSP, but the approval itself lives outside those systems entirely.
  2. Routed via email (30 minutes to 2 days). The right approver needs to be identified and copied. If the Executive Director is unavailable, the request sits. If the request involves restricted grant funds, someone manually checks Salesforce NPSP or Raisers Edge to verify balances and restrictions before forwarding to the right person.
  3. Approvers chase responses (1-3 days). The requestor follows up by email or Slack. The approver may need additional documentation, which starts another round of back-and-forth. Grant compliance requirements mean approvers often verify whether a spend is permissible under specific grant terms, checking manually in Raisers Edge or Bloomerang.
  4. Approved or rejected (variable). The decision arrives in an email reply. If rejected, the reason may be informal or missing entirely. No structured record is created at this point.
  5. Communicated back and logged (30-60 minutes). Someone manually relays the outcome to the requestor and finance staff. The audit trail required for IRS Form 990 reporting and grant compliance audits must then be reconstructed from email threads, adding time and introducing gaps.

Grant reporting eats program manager time not because it is inherently complex, but because approval data is never captured cleanly the first time.

What the automated version looks like

The automated version replaces email routing with structured rules, captures decisions as they happen, and keeps humans in the loop at the points where judgment actually matters.

  1. Structured intake via Power Apps. The program manager submits a request through a Power Apps form. Required fields, including fund source, amount, purpose, and supporting documentation, are enforced before submission. Incomplete requests cannot go through, eliminating the back-and-forth over missing information. The form connects to Salesforce NPSP to pull current fund balances before routing begins.
  2. Automated routing via Power Automate. Power Automate reads the submitted request and applies routing rules your team defines: requests under $500 go to the Operations Director, requests tied to restricted grants route to the Development Director, requests over $5,000 route to the Executive Director. No manual forwarding, no copy lists to maintain.
  3. Approval notification in Microsoft Teams. The assigned approver receives a structured notification in Microsoft Teams Approvals showing the full request, the current fund balance from Salesforce NPSP, and one-click Approve or Reject buttons. Approvers act without leaving Teams or logging into another system.
  4. HITL checkpoint: Exception escalation. When a request involves restricted grant funds with complex conditions, such as specific vendor eligibility requirements under a community development grant, Power Automate flags the request and routes it to a human reviewer before recording any decision. The workflow pauses until a person reviews the grant language and gives explicit approval to proceed. This is not an automated check.
  5. HITL checkpoint: Policy interpretation. When an approver selects Reject, the system requires them to classify the reason, whether a budget constraint, policy conflict, or missing documentation, before the decision is logged. A human must make this classification. It prevents rejections from disappearing into email and ensures the audit trail reflects what happened and why.
  6. Automated reminders and escalation. If an approver has not responded in 24 hours, Power Automate sends a reminder. At 48 hours, a second reminder goes out. At 72 hours, the request escalates automatically to the next level. No one tracks this manually.
  7. Audit trail written automatically. Every action, including submission, routing, approval, rejection, and escalation, is timestamped and written to a SharePoint list and back into Salesforce NPSP. When grant audit season arrives, the full approval history is a report, not an email reconstruction project.

What nonprofits typically save

Approval cycle time drops from 3-5 business days to 4-8 hours for standard requests. Here is where that time actually comes from.

For a nonprofit processing 50 approval requests per month, that is roughly 100-200 staff hours per year recovered from administrative overhead. Those are hours that program managers and Operations Directors can redirect to program delivery and grant reporting.

On a related project, QServices built a standardized intake and staging workflow for Charity Booster, a nonprofit e-commerce organization. The core problem was structurally similar: varying inputs arriving by email, no central tracking, and a manual reconciliation step before each deployment. Standardizing the intake form and adding staging validation before deployment eliminated the reconciliation step. The same principle holds in approval workflows: when intake is structured, downstream processing becomes predictable.

The tools we use to build this

Microsoft Power Automate manages routing logic, reminder scheduling, and escalation rules. For nonprofits subject to IRS Form 990 reporting and state charity registration requirements, Power Automate's built-in action logging captures every step with a timestamp and user identity. The compliance trail exists from the moment the workflow runs, not assembled afterward from email folders.

Power Apps provides the structured intake form. Enforcing required fields at intake prevents the incomplete submissions that currently cause 30-60 minutes of back-and-forth per request. If your team uses Salesforce NPSP, the form connects through a standard connector and pulls live fund data before the approver sees the request.

Microsoft Teams Approvals is where decisions happen. Approvers act inside Teams without learning a new system. For organizations already on Microsoft 365, this adds no new licenses and requires minimal onboarding.

For nonprofits whose grant records live in Raisers Edge or Bloomerang, we build custom connectors or scheduled sync steps to provide the data Power Automate needs. See how we structure Microsoft 365 solutions for nonprofits for more on integration patterns with these systems.

Where this breaks down

Approval workflow automation works well when routing rules are clear and intake data is consistent. It struggles in three situations, and you should know about them before committing to a build.

Ambiguous grant restrictions. Some grants have conditions that require genuine interpretation: whether a vendor qualifies as local under a community development grant, or whether a capital expense falls within an operational budget line. Power Automate can flag these cases and route them to a human reviewer through the HITL exception checkpoint, but it cannot read grant documents and make eligibility determinations. Organizations with a high proportion of restricted grants with complex conditions will have more manual exceptions than a straightforward budget approval workflow generates.

Incomplete intake data. The Power Apps form enforces required fields, but it cannot verify that attached documentation is correct. If a program manager attaches the wrong invoice or omits a grant restriction note, a human reviewer still needs to catch it. The automation surfaces the gap faster than email does, but the verification step itself remains manual.

Legacy systems without API access. If your grant data lives in an older version of Raisers Edge or in a spreadsheet-based system, automated lookups require an export step. This adds build complexity and introduces a data freshness lag. It is solvable, but it adds time and cost to the project and is worth discussing during scoping.

How long to build and what it costs

A standard build covering intake form, routing logic, Teams notifications, automated reminders, and SharePoint audit logging takes 6-10 weeks. That includes a requirements session with your Operations or Development Director, configuration, testing with real approval scenarios, and a handoff session with your team.

For nonprofits, typical project investment runs between $10,000 and $60,000 depending on the number of approval types covered, how many systems need to connect (Salesforce NPSP, Raisers Edge, Bloomerang), and how many HITL checkpoints the workflow requires. Most teams start with their highest-volume approval type and add coverage in subsequent phases.

For a full breakdown of what drives cost, see our workflow automation cost guide.

Related work we have done

Two projects from our nonprofit work:

Case Study

E-Commerce Platform for Non-Profit Organizations (Charity Booster)

Non-profit e-commerce organization

Standardized product upload workflow from varying designer PDF formats with staging validation before deployment

VPN-controlled deployment preventing site disruptions during product updates

Salesforce CRMPDF Data ExtractionCMS ToolsVPN
Case Study

Cloud-Based CRM and Association Management Software (Trilix)

Associations and membership organizations platform

All-in-one AMS combining member database, billing, prospect pipeline, board management, and online community in one cloud platform

Customizable interfaces with smart search and layered security architecture for scalable cloud infrastructure

AngularASP.NET CoreC#MySQLEntity Framework Core

Does approval workflow automation require replacing existing systems like Salesforce NPSP?

No. Power Automate connects to Salesforce NPSP and Bloomerang through standard connectors, pulling fund and donor data for routing and validation without replacing either system. Your team continues working in the same tools. The automation adds a structured intake and routing layer on top and writes decisions back into your existing records when each workflow completes. If your systems have API limitations, we build custom connectors to bridge the gap without requiring a platform replacement.

Ready to discuss your project?

Share your requirements with QServices. Our engineers will give you a straight answer on fit, timeline, and cost — no sales scripts.

Book a Free Consultation
Frequently Asked Questions
Does this require replacing Salesforce NPSP or Bloomerang? +
No. Power Automate connects to both Salesforce NPSP and Bloomerang through standard connectors for data lookups and decision logging. Your team keeps working in the same systems. The automation adds structured intake and routing on top. If API limitations exist in older versions of those tools, we build custom connectors to fill the gap without a platform replacement.
What happens when the automation routes a request incorrectly? +
Routing mistakes happen when a request type was not anticipated during the build. Every workflow includes an exception path: requests that do not match any routing rule go to a human reviewer instead of routing automatically. We test routing rules during build using real historical requests from your team, which catches most gaps before go-live. Admins can update rules after launch without developer involvement.
How long before we see ROI on this? +
For nonprofits processing 20 or more approval requests per month, most teams see measurable time savings within the first 30 days. The larger return shows up at grant reporting time, when audit trail reconstruction time drops to near zero. Full cost recovery against the build investment typically happens within 6-18 months depending on request volume and how manual your current process is.
Do we need a developer on staff to run this after it is built? +
No. Power Automate flows run without developer involvement once deployed. Your Operations Director or a designated admin can update routing rules and approval thresholds through a no-code interface. We document all flows and run a handoff session with whoever will own the system. Microsoft's support documentation covers routine adjustments your team may need over time.
Can this integrate with Asana for task tracking? +
Yes. Power Automate has a standard Asana connector. If your team logs program work in Asana, approved requests can automatically create or update Asana tasks, and Asana task completions can trigger follow-on approval requests. The integration is configured during the build and requires no manual export steps once active.
Book Appointment
Sahil kataria (1)
Sahil Kataria

Founder and CEO

amit Kumar
Amit Kumar

Chief Sales Officer

Talk To Sales

USA

+1 270-550-1166

flag

+1 270-550-1166

Phil J.
Phil J.Head of Engineering & Technology​
QServices Inc. undertakes every project with a high degree of professionalism. Their communication style is unmatched and they are always available to resolve issues or just discuss the project.​

Get Your Free
Technical Estimate

Share your project details and
receive a detailed roadmap, timeline, and
infrastructure plan within 10-15 mins.

Thank You

Your details has been submitted successfully. We will Contact you soon!