Manage users
Create user
Create user
@Reset Google MFA/Password with the password scope and generatePassword set to true once they can receive a Slack DM, or send them through Google’s own recovery flow.Tool name: @Create Google UserInput fields:emailUsername(required) - the username portion of the new primary email, or the full address.firstName,lastName(required) - the user’s name.domain- the domain for the primary email. Defaults to the primary domain on your Google Workspace integration. Set it to provision on a secondary verified domain.secondaryEmail,recoveryEmail,recoveryPhone- contact and recovery details.orgUnitPath- the organizational unit, for example/Engineering. Defaults to/.department,jobTitle,managerEmail- profile details.
email- the new primary email address.userId- the user’s Ravenna ID.googleUserId- the user’s Google ID.
- Create accounts for new hires from an onboarding request
- Provision contractor accounts in a dedicated organizational unit
- Create users on a secondary domain for a brand or region
When an onboarding request comes in, use @Check Google Email Availability on firstname.lastname, then use @Create Google User with the new hire's name, department, job title, and manager. Reply with the new email address, then offer to send the hire a temporary password with @Reset Google MFA/Password.
Reset MFA or password
Reset MFA or password
@Reset Google MFA/PasswordInput fields:userEmail(required) - the user to reset.scope(required) -mfa,password, orboth.generatePassword- defaults totruefor password resets. Set it tofalsewhen the user cannot receive a Slack DM, so Google’s own recovery flow takes over instead.signUserOut- signs the user out of every active session.
generatePassword set to false.Common use cases:- Reset MFA for a user who lost or replaced their phone
- Reset a forgotten password
- Reset both and sign the user out after a suspected compromise
When someone is locked out of Google, use @Reset Google MFA/Password. Reset MFA only when they mention a new device, the password only when they forgot it, and both with signUserOut after a suspected compromise. Deliver any temporary password through a Slack DM, never in the ticket.
Suspend user
Suspend user
@Suspend Google UserInput fields:userEmail(required) - the user to suspend.
- Lock an account at the end of an employee’s last day
- Disable a compromised account during a security incident
- Lock an account during extended leave
When the security team reports a compromised Google account, use @Suspend Google User on it immediately, then confirm in the reply that the account is suspended and tag the security team.
Restore user
Restore user
@Restore Google UserInput fields:userEmail(required) - the suspended user to restore.
- Restore access when someone returns from leave
- Reactivate an account after a security review clears it
- Re-enable a returning contractor
When a manager confirms someone has returned from leave, use @Restore Google User on their account and tell them they can sign in again.
Manage email addresses
Check email availability
Check email availability
@Check Google Email AvailabilityInput fields:email(required) - the address to check.
isAvailable-truewhen the address is free.reason- why the address is taken, when it is unavailable.
- Confirm a new hire’s address is free before creating their account
- Check that a requested alias is not already claimed
- Suggest an alternative address when the first choice is taken
Before creating a Google account or email alias, use @Check Google Email Availability on the requested address. If it is taken, tell the requester why and suggest an alternative, such as adding a middle initial.
Create email alias
Create email alias
@Create Email AliasInput fields:userEmail(required) - the user who receives mail sent to the alias.aliasEmail(required) - the alias to add. Pass the full address, or just the username and the domain is appended.
- Add role-based addresses such as support@ or sales@ to one person
- Add a brand-specific address for a customer-facing employee
- Keep an old address working after a name change
When someone asks for an email alias, use @Check Google Email Availability on the alias first. If it is free, use @Create Email Alias to add it to their account and confirm the new address. If it is taken, explain why and ask for a different alias.
Manage groups
Every tool that acts on an existing group identifies it by the group’sname or email, not a member’s email.
List groups
List groups
@List Google GroupsInput fields:filter- text matched against group names and emails.
groups- each group’sname,email, anddescription.totalCount- how many groups matched.truncated-truewhen more than 50 groups matched and only the first 50 came back. Pass a narrowerfilterto see the rest.
- Resolve a loosely named group (“the design list”) to its exact address
- Show a requester which groups they can ask to join
- Audit groups that match a naming convention
When someone asks to join a Google group but does not give its exact address, use @List Google Groups with a filter from their request. If more than one group matches, ask which one they mean before making any change.
Get group info
Get group info
@List Google Groups first.Tool name: @Get Google Group InfoInput fields:nameoremail- the group to look up.
found-falsewhen no group matches.name,email,description- the group’s details.
- Confirm a group exists before changing it
- Explain what a group is for from its description
- Check a group’s address before sharing it
When someone asks what a Google group is for, use @Get Google Group Info and reply with its description and email address. If the group is not found, use @List Google Groups to suggest close matches.
Create group
Create group
name is required.Tool name: @Create Google GroupInput fields:name(required) - the group’s display name.description- what the group is for.email- the group’s address. Derived from the name and your integration’s domain when omitted.ownerEmail- one user to add as owner. Defaults to the person making the request.managerEmails- users to add as managers. Managers can moderate members and messages but cannot delete the group.requesterRole-owner,manager, ornone. Sets the requester’s own role. Defaults toownerwhenownerEmailis omitted, and tononewhen it names someone else.accessLevel- who can join, view, and post:public- anyone on the internet. Also requires external members.open- anyone in your domain.restricted- invite only, members can view and post.closed- invite only, only managers can view and post.
allowExternalMembers- lets people outside your domain be members without making the group public.enableConversationHistory- archives messages so they can be read later. Off by default.
groupName,groupEmail,groupId- the new group’s details.
- Create a group for a new team or project with its lead as owner
- Set up an invite-only group for a sensitive project
- Create a group that accepts external collaborators
When someone requests a new Google group, ask for its name, purpose, and who should own it. Use @Create Google Group with accessLevel restricted unless they ask for something broader, then reply with the group's email address.
Update group
Update group
@Update Google GroupInput fields:nameoremail- the group to update.change(required) - which attribute to change, paired with one more field:
- Add a new owner when a group’s lead changes roles
- Add a manager to help moderate a busy group
- Open a group to your whole domain, or lock it down to invite only
- Allow external members for a partner collaboration
When a group owner asks to change who can join their Google group, confirm which access level they mean (open, restricted, or closed), then use @Update Google Group with change set_access_level. Confirm the new setting in the reply.
Check group membership
Check group membership
@Check Google Group MembershipInput fields:userEmail(required) - the user to check.nameoremail- the group.
isMember-truewhen the user is in the group.role-OWNER,MANAGER, orMEMBERwhen the user is in the group.
- Explain why someone is or is not receiving a group’s email
- Confirm membership before adding or removing someone
- Check who has owner rights before approving a group change
When someone says they are not receiving emails sent to a Google group, use @Check Google Group Membership for them and that group. If they are not a member, offer to add them with @Add Google Group Member.
Add group member
Add group member
@Add Google Group MemberInput fields:userEmail(required) - the address to add.nameoremail- the group.
- Add a new hire to their team’s groups
- Grant access to a shared drive or calendar controlled by a group
- Add an external contractor to a project group
When someone asks to join a Google group, use @Add Google Group Member to add them and confirm in the reply. If the group is ambiguous, use @List Google Groups first and ask which one they mean.
Remove group member
Remove group member
@Remove Google Group MemberInput fields:userEmail(required) - the user to remove.nameoremail- the group.
- Remove someone from a team’s groups when they change roles
- Revoke access controlled by a group during offboarding
- Honor a request to leave a mailing list
When someone asks to leave a Google group, use @Remove Google Group Member to remove them and confirm in the reply. To remove someone else, first use @Check Google Group Membership to confirm the requester is an owner or manager of that group.
Delete group
Delete group
@Delete Google GroupInput fields:nameoremail- the group to delete.
- Remove a group after a project ends
- Clean up unused distribution lists
- Delete a team’s groups when the team is dissolved
When a group owner asks to delete a Google group, use @Get Google Group Info to confirm the group and repeat its name and email back to them. Only run @Delete Google Group after they confirm.
Offboard users
Transfer user files
Transfer user files
admin.datatransfer scope on domain-wide delegation. See the setup guide.@Transfer Google User FilesInput fields:sourceUserEmail,destinationUserEmail(required) - who the data moves from and to.driveTransferScope-ALL(default),PRIVATE,SHARED, orNONE.transferCalendarEvents- defaults totrue.releaseCalendarResources- releases rooms and equipment on future events. Only applies when calendar transfer is enabled.
transferId- the Google Data Transfer ID for tracking.
- Hand a departing employee’s files to their manager during offboarding
- Move project files to a new owner when someone changes teams
- Transfer calendar ownership when responsibilities change
When a manager reports someone is leaving, ask for the source and destination user, then run @Transfer Google User Files with driveTransferScope ALL and transferCalendarEvents true. After the transfer ID comes back, run @Suspend Google User on the source account and confirm both steps in the reply.
Setup
Install Google Workspace integration
Enable data transfer (optional)
admin.datatransfer scope on domain-wide delegation before writing rules that use @Transfer Google User Files.Configure agent
Create rules
Test tools
Best practices
- Check before you create. Pair
@Check Google Email Availabilitywith@Create Google Userand@Create Email Aliasso the agent catches conflicts before it writes. - Find the group first. When a request names a group loosely, have the agent run
@List Google Groupswith afilterbefore it adds, removes, or updates anything. - Transfer, then suspend. Run
@Transfer Google User Filesbefore@Suspend Google Userduring offboarding. Suspended users cannot start a transfer. - Deliver temporary passwords privately. When you use
@Reset Google MFA/PasswordingeneratePasswordmode, have the rule send the password through a private Slack DM instead of putting it in the ticket. - Gate the destructive tools. Put
@Delete Google Group,@Remove Google Group Member,@Suspend Google User, and any reset ingeneratePasswordmode behind Requires approval in rules an agent can reach on its own.