The Contractor Registration and Approval flow in EG Zynergy Partners enables external contractors to onboard through the Partner Portal and be approved by the correct Grid Company.
The solution ensures:
Grid Companies are created and controlled by EG Admins
Contractors are reviewed and approved/rejected by Grid Company Admins
Access is restricted based on role and user state
Invitations and user management are handled via Microsoft Graph
The flow begins with a Super Admin (EG Admin) setting up the business partner structure.
EG Admin creates a Grid Company
EG Admin invites one or more Grid Company Admins
Grid Company Admins review and approve contractors
Contractors gain access after approval
Before contractors can register, a Grid Company must exist in the system.
The EG Admin is responsible for:
Creating the Grid Company
Inviting Grid Company Admins
EG Admin navigates to /admin (Assigned by EG)
EG Admin creates a Grid Company
EG Admin invites a Grid Company Admin
Invitation is sent using Microsoft Graph
System creates:
User through graph api invite
GridCompanyContactPerson
Group and role assignments
📸 Grid company creation

Note; the first step is database creation, second step is the sonwin communication step. (Saved in azure keyvault securely)
📸 EGAdmin page - Grid Company management
![]()
📸 EGAdmin page - Grid Company management action buttons

Note; Here you can:
1 - Invite the first ( or more ) gridadmin to start the flow
2 - Update the client creds (sonwin comminication)
3 - Edit gridcompany
![]()
Once a Grid Company exists, external contractors can register their company.
Registration is denied if the user is:
Grid Admin
Grid User
Application Admin
Reason; One user can only have one role.
Contractor loads https://partners.egzynergy.com/ for the first time
Contractor clicks "Don't have an account? Create one"
Contractor selects a Grid Company
Contractor submits the registration
If no contractor exists:
A new Contractor is created
If a contractor already exists for the user:
The existing record is updated
A ContractorContactPerson is created
Contractor status is set to Pending
Screenshots


📸 Entra - Registration
![]()
📸 EG Zynergy partners - Contractor Registration
![]()
Note; This is the company creation page.
📸 EG Zynergy partners - Aftermatch of registering (Approval needed)

Note; The button at the top right is the contractor management page. The contractor can now (with or without approval) invite his users ( workers )
📸 EG Zynergy partners - Grid admin approval page. 
📸 EG Zynergy partners - Post approval.
Note; You can now see that the contractor has access to the system.
Grid Company Admins are responsible for approving or rejecting contractors linked to their Grid Company.
Grid Admin navigates to /GridAdministrator
Pending contractors are displayed
Grid Admin selects a contractor
Grid Admin chooses to:
Approve, or
Reject
Contractor status is updated
Email notification is sent to the contractor:
Approval email
Rejection email
Email notifications are sent when:
A contractor is approved
A contractor is rejected
Templates are localized (depending on which language youre on)
Email content is managed by the email service
Triggered from the ApiService