snapshot of https://github.com/twentyhq/twenty.git (main, 2026-09-17; blobs > 131072B omitted)
Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s

This commit is contained in:
upstream-mirror
2026-09-17 23:28:13 +05:00
commit e7da97194a
32688 changed files with 4208681 additions and 0 deletions

View File

@@ -0,0 +1,122 @@
---
title: Campos
description: Compreenda o papel dos campos e como geri-los.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Sobre Campos
Os campos são como colunas em uma planilha. Eles armazenam diferentes tipos de dados como texto, números ou datas. Os campos podem ser padrão (incorporados) ou personalizados (os que você cria).
### Campos Padrão
Campos padrão vêm incorporados no Twenty para atender necessidades comuns de negócios.
Por exemplo, `Nome` e `Sobrenome` são campos padrão no objeto `Pessoas`. Eles armazenam dados de texto para nomes individuais.
Você não pode excluir campos padrão, mas pode desativá-los se não precisar deles.
Também pode personalizar as opções dos campos padrão do tipo `SELECT`, por exemplo, as opções para o `Stage` em Oportunidades.
<img src="/images/user-guide/fields/standard-fields.png" style={{width:'100%'}} />
### Campos Personalizados
Campos personalizados podem ser adicionados a qualquer objeto. Você pode armazenar texto, números, datas, seleções suspensas e mais. Use campos personalizados para rastrear informações específicas do seu negócio.
Por exemplo, um campo personalizado para a SpaceX pode ser `Status Ativo do Foguete`, indicando se um foguete está operacional.
<img src="/images/user-guide/fields/custom-fields.png" style={{width:'100%'}} />
## Tipos de campo
A Twenty suporta vários tipos de campo:
| Tipo | Descrição | Exemplo |
| ---------------- | ----------------------------------------------------------------- | ------------------------ |
| Endereço | Endereço estruturado com rua, cidade, estado, país, código postal | Endereço do escritório |
| Matriz | Lista de valores de texto | Etiquetas |
| Booleano | Caixa de seleção verdadeiro/falso | Está ativo |
| Moeda | Valor monetário com código de moeda | Valor do negócio (USD) |
| Data | Valores de data | Data de Fecho |
| Data e hora | Data com hora | Hora da reunião |
| Domínio | Domínio do website (usado para Empresas) | acme.com |
| E-mail | Endereços de e-mail (com principal + adicionais) | E-mail do contacto |
| JSON | Dados JSON estruturados | Metadados personalizados |
| Links | URLs com rótulos (principal + secundário) | Website, LinkedIn |
| Texto longo | Texto com várias linhas | Descrição, Notas |
| Seleção Múltipla | Várias escolhas de uma lista predefinida | Etiquetas, Categorias |
| Número | Valores numéricos (inteiros ou decimais) | Quantidade, Pontuação |
| Telefone | Números de telefone com código do país | Telefone do trabalho |
| Avaliação | Classificação por estrelas (1-5) | Prioridade, Pontuação |
| Relação | Ligações para registos noutros objetos | Empresa → Pessoas |
| Selecionar | Escolha única de uma lista predefinida | Fase, Estado |
| Texto | Uma única linha de texto | Nome, Título |
## Criar um Campo Personalizado
Para adicionar um campo personalizado a qualquer objeto, siga estas etapas:
1. Acesse `Configurações` na barra lateral esquerda.
2. Acesse `Modelo de Dados`, depois selecione o objeto que você deseja personalizar.
3. Prossiga clicando em `+ Novo Campo`.
4. Escolha um nome e tipo de campo que atenda aos seus requisitos. Considere adicionar uma descrição do campo para um melhor entendimento.
Seu novo campo agora está disponível dentro dos campos do aplicativo. Para exibi-lo em uma vista específica, clique no menu de opções e selecione `Campos`.
<VimeoEmbed videoId="927628219" title="Demonstração em vídeo" />
**Modo rápido:** Clique no botão **+** no canto superior direito de qualquer tabela de objeto e selecione `Personalizar campos`. Isso leva você diretamente para as configurações do Modelo de Dados.
<img src="/images/user-guide/fields/quick-new-field.png" style={{width:'100%'}} />
## Desativar um campo
Você pode desativar um campo para ocultá-lo no aplicativo sem perder seus dados. Pense nisso como esconder o campo em vez de excluí-lo.
Veja como você pode fazer isso:
1. Encontre o campo que deseja desativar nas configurações do seu objeto.
2. Clique nos três pontos `⋮` ao lado do campo para abrir o menu.
3. Selecione `Desativar` no menu suspenso.
<img src="/images/user-guide/fields/deactivate-field.png" style={{width:'100%'}} />
O que acontece quando você desativa um campo?
1. **No aplicativo:** O campo desaparece e você não pode adicionar novos valores a ele.
2. **Relações existentes:** Se for um campo de relação, conexões existentes permanecem, mas não é possível criar novas.
3. **Acesso API:** Você ainda pode acessar o campo e seus dados através da API.
Você pode reativar Campos Padrão e Personalizados ou ter a opção de excluí-los permanentemente.
## Tornar Campos Únicos
Torne um campo único para garantir que registros distintos não possam ter o mesmo valor. Por exemplo, endereços de e-mail são únicos para cada pessoa.
Se você receber um erro ao definir exclusividade, verifique se há valores duplicados nos seus dados (incluindo registros excluídos).
## Índices (Avançado)
Os índices do banco de dados são gerenciados automaticamente — adicionar os seus próprios raramente é necessário e é fácil cometer erros. Com o modo Avançado ativado, cada objeto tem uma seção **Índices** em `Settings → Data Model → <object>` para os casos em que você sabe que precisa de um índice.
## Melhores Práticas de Configuração de Campos
### Convenções de Nomeação e Limitações
* **Os nomes singular e plural devem ser distintos**: Nossa API GraphQL precisa de nomes distintos para mutações
* **Nomes de campo protegidos**: alguns nomes são reservados para utilização do sistema (por exemplo, `Type`, `Application`)
### Campos de Moeda e Telefone
* **Moeda padrão**: pode ser configurada através do modelo de dados.
* **Códigos de país padrão**: podem ser configurados para campos de telefone através do modelo de dados.
### Campos de Seleção
* **Uma opção padrão pode ser selecionada** para cada campo de Seleção.
### Campos de Texto do Registro
* **Cada objeto tem um campo principal de exibição**: Este campo aparece na coluna mais à esquerda e representa o registro quando vinculado a outros objetos. Ele deve ser um campo de texto. Por exemplo, `Pessoas` usa `Nome` como campo principal, então quando você vincula uma pessoa a uma empresa, verá seu nome na visão da empresa.

View File

@@ -0,0 +1,92 @@
---
title: Objetos
description: Saiba mais sobre objetos padrão e personalizados no Twenty.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## Objetos Padrão
Objetos padrão são entidades predefinidas no seu espaço de trabalho para ajudar você a começar. Eles fazem parte de um modelo de dados compartilhado acessível a todos os usuários do Twenty. Você pode usá-los como estão, personalizá-los ou desativá-los.
<img src="/images/user-guide/objects/standard-objects.png" style={{width:'100%'}} />
### Pessoas
O objeto `Pessoas` armazena seus contatos. Inclui detalhes de contato e histórico de interação, para que você possa ver todas as interações com seus clientes em um só lugar.
### Empresas
O objeto `Empresas` armazena suas contas comerciais. Inclui detalhes como setor, tamanho e localização. Empresas conectam-se tanto aos objetos `Pessoas` quanto `Oportunidades`.
### Oportunidades
O objeto `Oportunidades` armazena dados relacionados a negócios. Acompanha o progresso das vendas potenciais, da prospecção ao fechamento, registrando etapas, tamanhos de negócios, conta associada e data prevista de fechamento. Você pode visualizar seu pipeline de vendas em um layout kanban.
### Notas
O objeto `Notes` armazena anotações em formato livre que podem ser anexadas a Pessoas, Empresas, Oportunidades e outros registros. Use anotações para registrar resumos de reuniões, detalhes importantes ou qualquer informação contextual.
### Tarefas
O objeto `Tasks` armazena tarefas e itens de ação. As tarefas podem ser vinculadas a Pessoas, Empresas, Oportunidades e outros registros. Acompanhe prazos, responsáveis e status de conclusão para manter o controle dos seus acompanhamentos.
## Objetos personalizados
Objetos personalizados permitem armazenar informações únicas para sua organização que os objetos padrão não podem acomodar. Por exemplo, se você é a SpaceX, pode querer criar um objeto personalizado para Foguetes e Lançamentos.
<img src="/images/user-guide/objects/custom-objects.png" style={{width:'100%'}} />
### Criando um novo objeto personalizado
Para criar um novo objeto personalizado:
1. Vá para Configurações na barra lateral esquerda.
2. Na Área de Trabalho, vá para o Modelo de Dados. Aqui você poderá ver uma visão geral de todos os seus objetos Padrão e Personalizados existentes (ativos e desativados).
<VimeoEmbed videoId="926288174" title="Demonstração em vídeo" />
3. Clique em `+ Novo objeto` no topo. Digite o nome (tanto no singular quanto no plural), escolha um ícone e adicione uma descrição para o seu objeto personalizado e clique em Salvar (no canto superior direito). Usando Listagem como exemplo de objeto personalizado, o singular seria "listagem" e o plural seria "listagens", juntamente com uma descrição como "Listagens que anfitriões criaram para exibir sua propriedade."
4. Seu objeto personalizado foi criado e aparecerá na sua barra lateral. Você já pode começar a adicionar registros a ele.
## Gerenciando objetos
### Desativando objetos
Se você não precisar de um objeto padrão ou personalizado:
1. Vá para Configurações → Modelo de Dados
2. Encontre o objeto que deseja desativar e clique nele
3. Ir para a guia **Configurações** do objeto
4. Clique no botão `Desativar`
5. O objeto ficará oculto no seu espaço de trabalho, mas os dados serão preservados
### Reativando objetos
Para restaurar um objeto desativado:
1. Vá para Configurações → Modelo de Dados
2. Ativar filtro `Desativado`
3. Procure por objetos desativados (eles têm `desativado` ao lado de seu nome)
4. Clique em 'se' e, em seguida, em 'Ativar' para reativá-lo
5. O objeto e todos os seus dados serão restaurados
## Melhores Práticas
### Quando criar objetos personalizados
* **Entidades de negócio exclusivas**: Itens específicos do seu setor ou processo
* **Relações complexas**: Quando você precisa acompanhar conexões entre várias entidades
* **Dados escaláveis**: Quando você pode ter muitas instâncias de algo
### Quando usar campos em vez de objetos
* **Atributos simples**: Propriedades que descrevem objetos existentes
* **Categorias ou rótulos**: Formas de classificar registros existentes
* **Valores únicos**: Informações que não precisam de um ciclo de vida próprio
### Nomenclatura de objetos
* **Use nomes claros e descritivos**: Torne óbvio o que o objeto representa
* **Siga convenções**: Use singular para o nome do objeto e plural para a coleção
* **Considere sua equipe**: Escolha nomes que todos entendam

View File

@@ -0,0 +1,94 @@
---
title: Campos de Relação
description: Ligue registos entre diferentes objetos usando campos de relação.
---
## Tipos de Relações
### Um-para-Muitos
Um registo no Objeto A pode estar ligado a muitos registos no Objeto B.
**Exemplo:** Uma Empresa pode ter muitas Pessoas (colaboradores).
### Muitos-para-Um
Muitos registos no Objeto A podem estar ligados a um registo no Objeto B.
**Exemplo:** Muitas Pessoas podem pertencer a uma Empresa.
### Relações com Múltiplos Tipos de Objeto
Alguns objetos podem ligar-se a vários tipos de objeto de um dos lados da relação.
**Exemplo:** Uma Nota pode ser anexada a uma Pessoa E a uma Empresa E a uma Oportunidade em simultâneo. A Nota está no lado "muitos", ligando-se a vários lados "um".
<img src="/images/user-guide/fields/many-to-one-morph.png" style={{width:'100%'}} />
De forma semelhante, um Projeto (do lado "um") pode receber ligações de várias Pessoas, várias Empresas e várias Notas.
<img src="/images/user-guide/fields/one-to-many-morph.png" style={{width:'100%'}} />
<Warning>
**Limitação de Importação/Exportação**: Relações que apontam para vários tipos de objeto ainda não são suportadas para importação/exportação CSV. Isto está no nosso roadmap.
</Warning>
### Muitos-para-Muitos
Muitos registos no Objeto A podem estar ligados a muitos registos no Objeto B.
**Exemplo:** Muitas Pessoas podem estar ligadas a muitos Projetos e vice-versa.
As relações muitos-para-muitos utilizam um padrão de **objeto de junção**: um objeto intermediário que conecta ambos os lados. Com o recurso de relação de junção, Twenty exibe diretamente os registros finais vinculados, ocultando o objeto intermediário da IU.
<Warning>
**Recurso beta**: As relações de junção devem ser ativadas em **Configurações → Comunidade → Recursos** antes do uso.
</Warning>
Consulte [Como criar relações muitos-para-muitos](/l/pt/user-guide/data-model/how-tos/create-many-to-many-relations) para um guia passo a passo completo.
## Criar um Campo de Relação
1. Vá a **Definições → Modelo de Dados**
2. Selecione o objeto onde pretende adicionar a relação
3. Clique em **+ Novo campo**
4. Selecione **Relação** como o tipo de campo
5. Escolha o(s) objeto(s) de destino a relacionar
6. Configure as definições da relação:
* **Nome do campo no objeto de origem**: O nome do campo de relação no objeto que está a editar
* **Nome do campo no objeto de destino**: O nome do campo de relação que aparecerá no objeto de destino
* Tipo de relação (um-para-muitos, muitos-para-um)
7. Clique em **Salvar**
## Relações Padrão
O Twenty inclui relações pré-criadas entre objetos padrão:
| Objeto de Origem | Objeto de Destino | Tipo de Relação |
| ---------------- | ----------------- | --------------- |
| Pessoas | Empresas | Muitos-para-Um |
| Oportunidades | Empresas | Muitos-para-Um |
| Oportunidades | Pessoas | Muitos-para-Um |
## Melhores Práticas
### Planear Relações
* **Mapeie o seu modelo de dados**: Planeie as relações antes de as criar
* **Considere a direção**: Pense em que objeto "detém" a relação
* **Evite dependências circulares**: Mantenha o seu modelo de dados limpo
### Nomear Relações
* **Use nomes claros**: Torne óbvio o que a relação representa
* **Seja consistente**: Utilize padrões de nomenclatura semelhantes em todas as relações
* **Considere ambos os lados**: Nomeie adequadamente ambos os lados da relação
### Desempenho
* **Não exagere nas relações**: Relações em excesso podem abrandar o seu espaço de trabalho
## Limitações
* **Eliminar relações** remove a ligação mas não os registos relacionados
* **Relações circulares** devem ser evitadas para garantir a integridade dos dados