Todo app deve ter exatamente uma chamada aDocumentation Index
Fetch the complete documentation index at: https://docs.twenty.com/llms.txt
Use this file to discover all available pages before exploring further.
defineApplication. Ela declara:
- Identidade — identificador universal, nome de exibição, descrição.
- Permissões — qual papel é usado pelas suas funções de lógica e pelos componentes de front-end.
- Variáveis (opcional) — pares chave–valor expostos ao seu código como variáveis de ambiente.
- Hooks de pré-instalação/pós-instalação (opcional) — consulte Funções de lógica.
src/application-config.ts
- Os campos
universalIdentifiersão IDs determinísticos que você controla. Gere-os uma vez e mantenha-os estáveis entre sincronizações. applicationVariablestornam-se variáveis de ambiente para suas funções e componentes de front-end (por exemplo,DEFAULT_RECIPIENT_NAMEfica disponível comoprocess.env.DEFAULT_RECIPIENT_NAME).defaultRoleUniversalIdentifierdeve fazer referência a um papel definido comdefineRole().- As funções de pré-instalação e pós-instalação são detectadas automaticamente durante a construção do manifesto — você não precisa referenciá-las em
defineApplication().
Papel de função padrão
OdefaultRoleUniversalIdentifier controla o que as funções de lógica e os componentes de front-end do app podem acessar:
- O token em tempo de execução injetado como
TWENTY_APP_ACCESS_TOKENé derivado desse papel. - O cliente de API tipado é restrito às permissões concedidas a esse papel.
- Siga o princípio do menor privilégio: declare apenas as permissões de que suas funções precisam.
src/roles/default-role.ts. Consulte Papéis e permissões para a referência completa.
Metadados do Marketplace
Se você planeja publicar seu app, estes campos opcionais controlam como seu app aparece no marketplace:| Campo | Descrição |
|---|---|
author | Nome do autor ou da empresa |
category | Categoria do app para filtragem no marketplace |
logoUrl | Caminho para o logo do seu app (por exemplo, public/logo.png) |
screenshots | Array de caminhos de capturas de tela (por exemplo, public/screenshot-1.png) |
aboutDescription | Descrição em markdown mais longa para a aba “Sobre”. Se omitido, o marketplace usa o README.md do pacote no npm |
websiteUrl | Link para seu site |
termsUrl | Link para os Termos de Serviço |
emailSupport | Endereço de e-mail de suporte |
issueReportUrl | Link para o rastreador de problemas |