Saltar para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.twenty.com/llms.txt

Use this file to discover all available pages before exploring further.

Todo app deve ter exatamente uma chamada a 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
import { defineApplication } from 'twenty-sdk/define';
import { DEFAULT_ROLE_UNIVERSAL_IDENTIFIER } from 'src/roles/default-role';

export default defineApplication({
  universalIdentifier: '39783023-bcac-41e3-b0d2-ff1944d8465d',
  displayName: 'My Twenty App',
  description: 'My first Twenty app',
  applicationVariables: {
    DEFAULT_RECIPIENT_NAME: {
      universalIdentifier: '19e94e59-d4fe-4251-8981-b96d0a9f74de',
      description: 'Default recipient name for postcards',
      value: 'Jane Doe',
      isSecret: false,
    },
  },
  defaultRoleUniversalIdentifier: DEFAULT_ROLE_UNIVERSAL_IDENTIFIER,
});
Notas:
  • Os campos universalIdentifier são IDs determinísticos que você controla. Gere-os uma vez e mantenha-os estáveis entre sincronizações.
  • applicationVariables tornam-se variáveis de ambiente para suas funções e componentes de front-end (por exemplo, DEFAULT_RECIPIENT_NAME fica disponível como process.env.DEFAULT_RECIPIENT_NAME).
  • defaultRoleUniversalIdentifier deve fazer referência a um papel definido com defineRole().
  • 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

O defaultRoleUniversalIdentifier 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.
Ao criar um novo app com o scaffold, a CLI cria um arquivo de papel inicial em 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:
CampoDescrição
authorNome do autor ou da empresa
categoryCategoria do app para filtragem no marketplace
logoUrlCaminho para o logo do seu app (por exemplo, public/logo.png)
screenshotsArray de caminhos de capturas de tela (por exemplo, public/screenshot-1.png)
aboutDescriptionDescrição em markdown mais longa para a aba “Sobre”. Se omitido, o marketplace usa o README.md do pacote no npm
websiteUrlLink para seu site
termsUrlLink para os Termos de Serviço
emailSupportEndereço de e-mail de suporte
issueReportUrlLink para o rastreador de problemas