Contents

People

Maya wants the designer on the same homepage hero. From an agent she can see who is already on the team, send the invitation, and put the designer on Widget Access. It is the same Team Members page, and it asks for the same groups. The designer still accepts on the dashboard.

What you can do

The designer should open Maya's homepage hero. On Team Members Maya would click Add Member, type the email, and later tick Widget Access under Manage Permissions. From an agent she names the team and the email. The designer lands on the same list, as Not joined yet, and still clicks Accept Invitation on the dashboard.

The page is the better door for some jobs. The agent is better for others.

  • Use the agent when you already know the email and the group, and you are in the chat. You do not leave the conversation to find Team Settings.
  • Use Team Members when you want the list in front of you, when you are ticking several groups while looking at the person, or when you are reviewing Requests to Join one card at a time.

Groups are not a second kind of invitation. A person can be on the team and still be unable to open the hero. Widget Access is what opens the composer. The walkthrough for the clicks is on Organizations & Teams.

The same people, the same permission

The agent does not get a side door. It acts as the RuleCMS account that signed in when you connected MCP.

Team Members at View can see who is on the team and who has asked to join. Manage or Admin can send an invitation and approve a request. User Groups at View can see who is on a group. Manage can add or remove someone from a group. A teammate without those groups gets the same refusal the page would show.

Asking to join is the exception. Any signed-in person can request access to a team they are not on. They do not need to be a member first. If they already belong, nothing new is created.

Invite the designer

Maya has Manage Team Members. She wants one person, at an email that person will sign in with.

  1. Connect RuleCMS in the agent, if you have not. The steps are on MCP.
  2. Tell the agent the team, the email, and the first name. Last name is optional. If the tool also asks for a user id, send a temporary one. The invitation is matched by email. Their real id is written when they accept.
  3. Open Team Members. The row says Not joined yet. They are not an active member, and they cannot open the hero.
  4. They sign in with the same email. The dashboard lists the team under Your Teams with Accept Invitation. The agent cannot accept for them.
  5. After they accept, the row is Active. They can open the team. They still cannot compose until they are on a group.

An email that is already on the team is refused. Add Member would say the same thing. Do not send the invitation again.

Groups are a catalog

You do not invent a group called Designers. The team is created with the catalog: View Team Members, Manage Widget, Widget Access for each environment, and the rest. The page shows a readable name. The agent also sees the code on the pill, such as USER_GROUP_VIEW_TEAM_MEMBERS.

Ask for a name the way the page prints it — "view team members" — and the list can narrow to that group. The same search also matches the description. A created or updated date is optional, and the start has to be on or before the end.

If the team is missing a catalog group, the agent can import the ones RuleCMS added after the team was created. You are added to each group that import creates. A team that already has the full catalog is left unchanged. Import does not accept a name you made up.

Put her on Widget Access

She has accepted. Maya has Manage User Groups. The group she wants is Manage Widget, or the environment-specific Widget Access group if the hero lives only in Production.

  1. Ask the agent which groups this person is already on, for this team.
  2. Name the group. The agent adds her, using the user id from her active Team Members row, plus the email and first name.
  3. She refreshes, opens Production, and the Default Widget is there. Removing her from the group later takes that access away. It does not remove her from the team.

Looking up one membership can be by that membership's id, or by the id together with the group. The group path also checks that the membership belongs to the group you named.

A request to join

Invitation and request-access are different jobs. Add Member creates a pending card they accept. Request Access is for someone who opened a team they are not on. You review that on Requests to Join.

  1. They are signed in, and they are not an active member. They ask the agent to request access to that team, or they click Request Access on Team Access Required.
  2. You see the request on Requests to Join. The agent can list the active ones. A name or email narrows the list. An inactive request is not in that list.
  3. Approve it with the user id on the request. They become an active member. If they were already active, the request is closed and you are told they already belong. If there is no active request for that id, nothing changes.

They still need groups before they can compose. Approving a request does not tick Widget Access.

Your own name

The agent can read the first and last name on your membership, the same name Team Members shows. If no membership has a first name yet, that answer is empty. It does not list your teams. Teams are on MCP.

Names you may see

You do not have to type these. They are the labels in the agent's tool list, if you open it. Each one still checks the group named above.

What you asked forThe tool
Your first and last nameget_t_team_members_get_current_user_team_member_details
Who is on the teamget_t_teamId_team_members
One person on the teamget_t_teamId_team_members_userId
Invite by emailpost_t_teamId_team_members
Who has asked to joinget_t_teamId_team_requests
Approve a request to joinput_t_teamId_team_requests
Ask to join a team you are not onpost_t_teamId_request_access
The catalog of groupsget_t_teamId_user_groups
One groupget_t_teamId_user_groups_groupId
Who is on a groupget_t_teamId_user_groups_groupId_user_group_members
Which groups one person is onget_t_teamId_users_userId_user_group_memberships
Add someone to a grouppost_t_teamId_user_groups_groupId_user_group_members
One membership, also checked against the groupget_t_teamId_user_groups_groupId_user_group_members_memberId
One membership by its idget_t_teamId_user_group_members_memberId
Remove someone from a groupdelete_t_teamId_user_group_members_memberId
Remove someone, and check the group toodelete_t_teamId_user_groups_groupId_user_group_members_memberId
Fill in catalog groups the team is missingpost_t_teamId_user_groups_import_new_user_groups

When it does not land

What you seeWhat it usually means
The agent says you cannot do thatThis account is missing Team Members or User Groups at the level that job needs, or it is not a member of that team. The page would say the same thing.
A team member with this email already existsThat email is already on the team, active or still Not joined yet. Open the row instead of inviting again.
You are already an active memberA request to join was not created, or an approval found they were already active and closed the request.
No active request foundThat user id has nothing waiting on Requests to Join. Nothing was changed.
The group list did not gain a name you inventedGroups come from the catalog. Import only fills in catalog groups the team does not have yet.

What to read next

  • MCP — Connect Cursor, and the rest of what an agent can reach.
  • Organizations & Teams — Add Member, Accept Invitation, Requests to Join, and Manage Permissions.
  • Component libraries — Register a Library ID from the same agent, on the same team.