# Differences Between Roles and Contacts

## Display in Conversations

### Contact

MaiAgent creates a contact ID in the synchronized user information storage to identify user conversation information.

Users do not need to log in or have a MaiAgent account to be created.

{% hint style="info" %}
To learn more about contacts, please refer to [🌐Contact](/maiagent-user-guide/maiagent-user-guide-en/org/contact.md)
{% endhint %}

<figure><img src="/files/it70QaBvh98JhE7kjBx1" alt=""><figcaption><p>Contact name not set: Users default to anonymous</p></figcaption></figure>

### Role

To assign a role to a user, that user must have a MaiAgent account and be part of the organization. Enterprises can predefine roles internally, such as: customer service representative, administrative staff, intern, etc. Within the organization, roles can be created in advance with usable permissions and reference databases. Organization members can select roles according to their needs and directly apply the settings.

<figure><img src="/files/hOC17s24O69NeWeRf9cC" alt=""><figcaption><p>Role user basic information display</p></figcaption></figure>

{% hint style="info" %}
To learn more about contacts, please refer to 🌐[Role Permission Management](https://github.com/Playma-Co-Ltd/maiagent-user-guide-gitbook/blob/main/rolepermission.md)
{% endhint %}

## Permission Method Comparison

<figure><img src="/files/sQqfrxmentDqiAv8VSrD" alt=""><figcaption><p>AI assistant embedded view</p></figcaption></figure>

|        Comparison Item       |                       Contact                       |                                    Role                                    |
| :--------------------------: | :-------------------------------------------------: | :------------------------------------------------------------------------: |
|        🎯 **Use Case**       |          External users, system integration         |                  Internal users, organizational management                 |
| 👤 **MaiAgent Registration** |              ❌ No registration required             |             ✅ Registration and organization membership required            |
|    📋 **Creation Method**    | Automatically created by system or manually created |                          Predefined role templates                         |
|    🔄 **Update Mechanism**   |       Dynamic user information synchronization      |                       Static role permission settings                      |
|        🎯 **Purpose**        |        Identify user conversation information       | Apply default permission settings, manage AI assistant backend permissions |
|      👥 **Target Users**     |              External visitors, members             |                  Internal employees, organization members                  |
|   ⚙️ **Management Method**   |           Managed through API integration           |                   Managed through backend role management                  |
|   📊 **Permission Control**  |         Dynamic control based on Contact ID         |                        Static control based on Role                        |

## Typical Application Scenarios

**Contact Use Cases: Suitable for scenarios requiring clear role division and permission definition**

* **Corporate Website**: Visitors receive different product information based on their identity
* **Member Center**: Access corresponding service content based on membership level
* **Customer Service Center**: Provide differentiated support based on customer type

**Role Use Cases**

* **Internal Operations**: Employees handle work according to departmental roles
* **Customer Service Team**: Query knowledge base according to scope of responsibility
* **Management Level**: Conduct content review and maintenance according to permissions

## Comprehensive Usage Strategy

Contact management is suitable for external business (where explicit user identity is not required)

Role management is suitable for internal business (where clear permission division is needed / multiple members can use the same permissions)

<figure><img src="/files/CdVpb3gA3pg9hvvi6Mvw" alt=""><figcaption><p>Contact and role authorization usage recommendations</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.maiagent.ai/maiagent-user-guide/maiagent-user-guide-en/org/contact-role-comparison.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
