Non-profit organizations that provide food, shelter, and other services to people in need, rely on volunteers to deliver their services. Unlike paid labor, non-profit organizations have less control over unpaid volunteers’ schedules, efforts, and reliability. However, these organizations can invest in volunteer engagement activities to ensure a steady and adequate supply of volunteer labor. We study a key operational question of how a non-profit organization can manage its volunteer workforce capacity to ensure consistent provision of services. In particular, we formulate a multiclass closed queueing network model to characterize the optimal engagement activities for the non-profit organization to minimize the costs of enhancing volunteer engagement and reducing abandonments, while maximizing productive work done by volunteers. Because this problem appears intractable, we formulate an approximating Browning control problem in the heavy traffic limit and study the dynamic control of that system. Our solution is a nested threshold policy with explicit congestion thresholds that indicate when the non-profit should optimally pursue various types of volunteer engagement activities. A numerical example calibrated using data from a large food bank shows that our dynamic policy for deploying engagement activities can reduce the food bank's total annual cost of its volunteer operations by 31%, while lowering its throughput by only 0.01%. This improvement in performance does not require any additional resources -- it only requires that the food bank strategically deploy its engagement activities based on the number of volunteers signed up to work volunteer shifts.