Before
An operator likely had to read each request, interpret the requested action and email address, and search the account system manually. They then had to decide whether to create, update, or delete the user, verify duplicate or missing-user conditions, perform the change, and compose a separate status notification.
How it works
- Parse the incoming request and route it according to the requested create, update, or delete action.
- Search for the user by email and automatically branch based on whether a matching account is found.
- Perform the configured account operation or status handling, then send the result to the requested Slack channel.
Workflow details
- Request parsing: The workflow starts from an emailhook request containing an action, a user email, and a destination channel identifier. It separates the action from the email address so the request can be routed automatically.
- Action routing: The request is directed to a create, update, or delete path. Each path uses a configured tenant and account-management service to perform the relevant user operation.
- Existence validation: Before changing the account, the workflow searches for the user by email. Creation requests avoid creating a duplicate when a match is found, while deletion requests avoid attempting to remove a user who is not present.
- User administration: For a new user, the workflow creates an account for the configured root tenant. For an update request, it applies the configured contact-data update to the located user; for a deletion request, it removes the located user.
- Status delivery: After the operation or validation result, the workflow prepares a success, already-created, already-deleted, or updated status and posts it to the specified Slack channel.
What changed
User lifecycle requests now move from intake to account lookup, existence-based branching, and status notification in one automated path. The workflow performs the create, update, or delete action without a separate operator handoff and sends the resulting status directly to the requested channel.
Work removed
Reading and splitting each request into an action and email, searching for the user, checking duplicate or missing-user conditions, entering the account operation, preparing the status message, and manually posting the result to a Slack channel.
Expected outcome
At least one manual user lookup and one existence-based decision are removed per request, with a consistent completion or status message delivered to the requested Slack channel; this is an estimate based on the defined workflow steps, not a measured customer result.
