> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/pt/administracao-e-definicoes/permission/custom-roles.md).

# Funções personalizadas

## Visão geral

**Funções personalizadas** é um recurso opcional no RealmJoin Portal e permite criar funções internas adicionais do RealmJoin. Você pode atribuir permissões granulares / atômicas a essas funções e vinculá-las a grupos do Entra ou a usuários dedicados.

{% hint style="info" %}
Se forem necessárias funções personalizadas, por favor **solicite a ativação via suporte do RealmJoin**.
{% endhint %}

As Funções Personalizadas são definidas como JSON. O editor de JSON incluído no RealmJoin Portal oferece verificação de sintaxe e realce e validará sua definição em relação ao esquema JSON das Funções Personalizadas.

<figure><img src="/files/501a7df48fa8d7f253480dd5e568a7ce4a32e74d" alt=""><figcaption><p>Editor de JSON das Funções Personalizadas</p></figcaption></figure>

## Usando o editor

### Verificação de sintaxe / Erros

O editor verificará a sintaxe enquanto você digita. Se um erro de sintaxe for detectado, uma mensagem de erro **Ver x erros** e o ícone de bug aparecerão ao lado de **Salvar.**

<figure><img src="/files/83ab5feac089b457daa5c5a1dcd08ac73e834b09" alt=""><figcaption><p>Mensagem/botão de erro JSON</p></figcaption></figure>

Clique nesta mensagem para obter mais detalhes sobre o erro.

### Formatação

Você pode formatar automaticamente o JSON clicando em **Formatar** no canto superior direito da página.

<figure><img src="/files/79714aae555edf96ff3186b2bdc6709d2fcbc58f" alt=""><figcaption><p>Botão Formatar</p></figcaption></figure>

### AutoCompletar

O Editor pode oferecer AutoCompletar para palavras-chave conhecidas (como permissões) a partir do esquema.

<figure><img src="/files/c587843f45a8dcf2916e77c81531d0d685ed0b69" alt=""><figcaption><p>AutoCompletar de palavras-chave</p></figcaption></figure>

Você pode pressionar "Ctrl" + "Space" a qualquer momento para acionar o Autocompletar.

## Regras

Uma função é descrita como um par de permissões e usuários e/ou grupos aos quais essas permissões são concedidas.

As funções são listadas como parte de um array (lista) sob a palavra-chave **Regras**.

Exemplo de conjunto de regras:

```json
{
  "Rules": [
    {
      "Name": "Padrão: os apoiantes podem alterar o usuário principal [27e589a7]",
      "Description": "Regra padrão para permitir que membros de um grupo de Supporter alterem o usuário principal de dispositivos vinculados ao RealmJoin. Por favor, mantenha o ID que está incluído no nome.",
      "Groups": [
        "f31f5765-f56f-47fa-9248-ac2d77221634",
        "422e6b7c-bd99-4082-be1c-88cbc2bb2734"
      ],
      "Permissions": [
        "CanChangeRealmJoinPrimaryUser"
      ]
    },{
      "Name": "Permitir que John adicione novos Formulários de Self Service",
      "Users": [
        "b31f5765-f56f-47fa-9248-ac2d77221622"
      ],
      "Permissions": [
        "CanAddSelfServiceForms"
      ]
    }
  ]
}
```

### Nome e Descrição

**Nome** são obrigatórios, **Descrição** é opcional.

Ambos são campos de texto simples (string).

### Permissões

Uma permissão é uma string exclusiva, que identifica uma determinada ação no RealmJoin Portal. **Permissões** é uma lista (array) de permissões.

Ver [Permissões Disponíveis](/pt/administracao-e-definicoes/permission/custom-roles/available-permissions.md) para uma lista e descrição das permissões comuns.

### Grupos

Uma lista (array) de IDs de objetos de grupo do Entra. Dada [permissões](#permissions) será atribuída a todos os usuários que sejam membros desses grupos.

### Utilizadores

Uma lista (array) de IDs de objetos de usuário do Entra. Dado [permissões](#permissions) será atribuída a esses usuários.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/pt/administracao-e-definicoes/permission/custom-roles.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
