Can I Approve each Registrant manually?
Answer
Yes, you can set the registration system to "Admin Approval Required", and you'll receive an email whenever someone registers so that you can approve the mem...
Where to Learn More
- FAQ — frequently asked questions about APG vNext
- Knowledge Base — in-depth articles and tutorials
- Installation Guide — getting started step by step
- Support Forum — ask the community
- Features Overview — what APG vNext can do
Manual Registrant Approval in APG vNext — Complete Guide
Yes — APG vNext fully supports manual approval of every new registrant. When enabled, new accounts are placed in a pending queue and cannot post or access member-only content until an administrator or designated approver explicitly approves them. This is the recommended configuration for private communities, corporate intranets, or any forum where membership should be curated.
Enabling Manual Approval
<!-- web.config -->
<add key="APG.Registration.ApprovalMode" value="Manual" />
<!-- Options: Automatic, EmailVerification, Manual -->
Or via Admin Panel → Settings → Registration → Approval Mode → select "Manual Approval".
The Approval Workflow
- New member submits registration form
- APG vNext sends a confirmation email: "Your account is pending approval. You'll be notified when approved."
- Admin receives an email notification with a direct link to the approval queue
- Admin reviews the pending account (registration answers, email domain, IP) and clicks Approve or Reject
- APG vNext sends an approval confirmation email to the member with a login link
Delegating Approval to Non-Admin Moderators
<add key="APG.Registration.ApprovalRole" value="MemberApprover" />
Members of the "MemberApprover" group can access the approval queue without full admin rights. Assign this group in Admin Panel → Users → Groups.
Custom Rejection Messages
<!-- APGLang.en.xml -->
<string name="RegistrationRejected">
We're sorry, your registration for {ForumName} was not approved at this time.
If you believe this is an error, please contact {ContactEmail}.
</string>
Automating Partial Approval Rules
Full manual approval isn't always necessary. APG vNext supports rule-based auto-approval that handles clearly-legitimate registrations automatically while flagging suspicious ones for manual review:
<!-- Auto-approve if email domain is from a trusted corporate domain -->
<add key="APG.Registration.AutoApprove.TrustedDomains"
value="yourcompany.com,partner.org,university.edu" />
<!-- Auto-reject disposable email services (prevents throwaway registrations) -->
<add key="APG.Registration.Block.DisposableEmails" value="true" />
<!-- Flag for manual review if IP is from a high-risk country -->
<add key="APG.Registration.Review.HighRiskCountries" value="true" />
<add key="APG.Registration.HighRiskCountryCodes" value="" />
Using IP Reputation for Approval Routing
APG vNext 5.x integrates with IP reputation databases to automatically route registrations:
- Clean IP + trusted email domain → auto-approved
- VPN/proxy IP + new email domain → placed in manual review queue
- Known spam IP → rejected at registration with CAPTCHA challenge
Approval Queue Performance at Scale
For high-traffic communities with hundreds of pending registrations per day, the manual approval queue can become a bottleneck. APG vNext provides batch approval to handle high volumes efficiently:
-- Bulk-approve all registrations from verified corporate domains:
UPDATE apg_Members
SET Status = 'Active', ApprovedDate = GETUTCDATE(), ApprovedBy = 1 -- AdminID
WHERE Status = 'PendingApproval'
AND Email LIKE '%@yourcompany.com'
AND RegisteredDate >= DATEADD(day, -7, GETUTCDATE());
-- Send approval email to newly activated members:
-- (Trigger handled by APG vNext's email queue service after status update)
Notifying Rejected Applicants
When you reject a registrant, APG vNext sends a rejection notification email. The default message is generic; customise it for your community context to provide a professional, respectful response that protects your community's reputation:
<!-- APGLang.en.xml — custom rejection message -->
<string name="RegistrationRejected">
Thank you for your interest in {ForumName}.
After reviewing your registration, we're unable to approve your account at this time.
If you believe this is in error, please contact us at {ContactEmail} with your
registered email address and we'll be happy to review your application.
The {ForumName} Team
</string>
Tracking Approval Metrics
-- Monthly approval/rejection rates:
SELECT FORMAT(RegisteredDate, 'yyyy-MM') AS Month,
COUNT(*) AS TotalApplications,
SUM(CASE WHEN Status = 'Active' THEN 1 ELSE 0 END) AS Approved,
SUM(CASE WHEN Status = 'Rejected' THEN 1 ELSE 0 END) AS Rejected,
SUM(CASE WHEN Status = 'Pending' THEN 1 ELSE 0 END) AS Pending
FROM apg_Members
WHERE RegisteredDate >= DATEADD(month, -6, GETUTCDATE())
GROUP BY FORMAT(RegisteredDate, 'yyyy-MM')
ORDER BY Month DESC;
Approval Queue Email Digest for Admins
Configure APG vNext to send a daily digest to administrators showing pending approval queue size, so that no registrant waits more than 24 hours for a decision:
<add key="APG.Registration.AdminDigest.Enabled" value="true" />
<add key="APG.Registration.AdminDigest.ScheduleHour" value="9" />
<!-- Send digest at 9:00 AM server time daily -->
Related Resources
- Approving Users from User Management
- Custom Registration Form Fields
- Forum Customisation FAQ
- Knowledge Base
Notifying Rejected Applicants
When you reject a registrant, APG vNext sends a rejection notification email. The default message is generic; customise it for your community context to provide a professional, respectful response that protects your community's reputation:
<!-- APGLang.en.xml — custom rejection message -->
<string name="RegistrationRejected">
Thank you for your interest in {ForumName}.
After reviewing your registration, we're unable to approve your account at this time.
If you believe this is in error, please contact us at {ContactEmail} with your
registered email address and we'll be happy to review your application.
The {ForumName} Team
</string>
Tracking Approval Metrics
-- Monthly approval/rejection rates:
SELECT FORMAT(RegisteredDate, 'yyyy-MM') AS Month,
COUNT(*) AS TotalApplications,
SUM(CASE WHEN Status = 'Active' THEN 1 ELSE 0 END) AS Approved,
SUM(CASE WHEN Status = 'Rejected' THEN 1 ELSE 0 END) AS Rejected,
SUM(CASE WHEN Status = 'Pending' THEN 1 ELSE 0 END) AS Pending
FROM apg_Members
WHERE RegisteredDate >= DATEADD(month, -6, GETUTCDATE())
GROUP BY FORMAT(RegisteredDate, 'yyyy-MM')
ORDER BY Month DESC;
Approval Queue Email Digest for Admins
Configure APG vNext to send a daily digest to administrators showing pending approval queue size, so that no registrant waits more than 24 hours for a decision:
<add key="APG.Registration.AdminDigest.Enabled" value="true" />
<add key="APG.Registration.AdminDigest.ScheduleHour" value="9" />
<!-- Send digest at 9:00 AM server time daily -->
Looking for more help? Browse the support forum or check the Knowledge Base.