## Visão geral

Os **Custom Scripts** permitem injetar JavaScript/CSS em superfícies específicas da plataforma — o
**dashboard**, o **portal** da Central de Ajuda e o **widget** de chat. Eles são úteis para pequenas
personalizações de comportamento e estilo sem alterar o código-base.

## Pré-requisitos

- Permissão de administrador para gerenciar Custom Scripts.
- Conhecimento de JavaScript/CSS.

## Passo a passo

1. Acesse o módulo de **Custom Scripts**.
2. Crie um script e escolha a **superfície** (dashboard, portal ou widget).
3. Defina o **tipo** (JS ou CSS) e quando ele deve rodar.
4. Use o contexto **ctx** fornecido pelo runtime para interagir com a superfície de forma segura.
5. Implemente o teardown para limpar o que o script criou, quando aplicável.

## Configurações & opções

- **Superfície**: dashboard / portal / widget.
- **Tipo**: JS ou CSS.
- **Execução**: regras de quando o script roda.
- **Configurações (`ctx.settings`)**: são a configuração definida pelo operador e servem apenas para
  leitura. Cada execução do script recebe uma cópia própria, que vale somente durante aquela
  execução. Uma alteração feita pelo script nessa cópia não é mantida na execução seguinte nem
  modifica a configuração salva. Para guardar estado, use `ctx.storage` nas superfícies que o
  oferecem: o dashboard, o portal e o widget. As páginas públicas de login, cadastro e redefinição
  de senha não oferecem `ctx.storage`.

## Casos de uso

- Adicionar um botão ou aviso em uma tela específica.
- Ajustar estilos pontuais de uma superfície.
- Registrar eventos de uso para análise interna.

## Dicas, limites e boas práticas

- Escreva scripts idempotentes e com teardown para evitar duplicação.
- Evite dependências pesadas; prefira código enxuto.
- Teste em ambiente controlado antes de publicar.

## Solução de problemas

- **Script não executa**: confirme a superfície e as regras de execução.
- **Comportamento duplicado**: verifique o teardown e a idempotência.

## Veja também

- [Visão geral de API & Desenvolvedores](/hc/ajuda/articles/api-developers-overview-pt-br)
- [Custom Scripts (Administração)](/hc/ajuda/articles/administration-custom-scripts-pt-br)