> ## Documentation Index
> Fetch the complete documentation index at: https://ai-kb.automationanywhere.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Smart Tables

> Saiba como usar Smart Tables para armazenar e pesquisar dados

<Tabs>
  <Tab title="Visão Geral">
    **Smart Tables** são um recurso de gerenciamento de dados estruturados dentro da Base de Conhecimento (KB) que permitem armazenar, organizar e extrair informações em formato tabular. Diferente de planilhas padrão, as Smart Tables são integradas com capacidades de IA, permitindo extração automática de dados a partir de documentos, mapeamento de relacionamentos entre diferentes conjuntos de dados (Collections) e consulta direta via Agentes de IA.

    Principais capacidades incluem:

    * **Definir esquemas estruturados** — colunas, tipos de dados e formatos
    * **Extrair dados automaticamente** de arquivos carregados (ex.: Currículos, Faturas)
    * **Visualizar dados** por meio de dashboards integrados
    * **Consultar dados da tabela** usando linguagem natural via Agentes

    ***

    ## Acessando as Smart Tables

    As Smart Tables são acessadas por meio da seção **Knowledge Base (KB)** da aplicação. Uma vez criadas, você pode visualizar e gerenciar suas Smart Tables navegando até a seção **KB Data**, onde todas as tabelas estão listadas e podem ser abertas para visualização ou edição.

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/1.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=3f8442d21e49065f435002639faa964e" alt="Seção KB Data mostrando lista de Smart Tables" width="1157" height="506" data-path="img/data-management/1.jpg" />

    ***

    ## Criando Smart Tables

    Existem três métodos principais para criar uma Smart Table dentro da Base de Conhecimento. Acesse essas opções clicando no menu de criação na interface da KB.

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/2.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=2889369da79a040548d05bc1c3038697" alt="Menu de três opções para criar Smart Tables" width="710" height="379" data-path="img/data-management/2.jpg" />

    ### Método A: Criar Smart Table Vazia

    Esta opção cria uma tabela em branco com colunas padrão do sistema (Title, Description, Number). Um painel de configuração na barra lateral abre automaticamente, permitindo que você defina seu esquema personalizado do zero. Você pode manter esses campos padrão, modificá-los ou excluí-los para criar sua própria estrutura.

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/3.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=6578611cbf280821f72e231bfd3feb83" alt="Painel da barra lateral com campos padrão" width="988" height="757" data-path="img/data-management/3.jpg" />

    ### Método B: Criar a partir de Template

    Você pode selecionar entre templates pré-definidos para configurar rapidamente tabelas para casos de uso comuns. Vários templates estão disponíveis para diferentes cenários. Por exemplo, o **Evaluations Template** importa um conjunto pré-definido de colunas projetado para testar respostas de agentes (Question Text, Expected Answer, Actual Response).

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/4.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=271fed69050a7dc2e147570df9358aaf" alt="Diálogo de seleção de template" width="1280" height="371" data-path="img/data-management/4.jpg" />

    ### Método C: Importar de Arquivo

    Você pode carregar um **arquivo CSV** para criar automaticamente uma Smart Table. O sistema analisará os cabeçalhos do CSV para criar colunas e importar as linhas como entradas de dados.

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/5.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=c85a170fbdb81f474005f624c5560ebb" alt="Interface de importação CSV" width="1024" height="532" data-path="img/data-management/5.jpg" />

    ***

    ## Tipos de Coluna e Configuração

    Ao configurar uma Smart Table, cada coluna requer definições específicas para garantir armazenamento e extração precisos de dados. Uma coluna consiste em um **Nome**, **Tipo**, **Formato** e **Tool Source**.

    <Info>
      Fornecer uma **Descrição** clara para cada coluna é fundamental. Esta descrição orienta o Large Language Model (LLM) sobre quais informações específicas extrair ou gerar para aquele campo.
    </Info>

    ### Configurando Colunas

    Ao criar ou editar uma Smart Table, use o painel da barra lateral para configurar cada coluna. Após definir as propriedades de um campo (Nome, Tipo, Formato, Tool e Descrição), clique em **Save Field** para aplicar a configuração. Você pode editar campos existentes a qualquer momento clicando no nome do campo no painel de configuração da coluna, fazendo alterações e salvando novamente.

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/6.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=a203d101137251db3eedbf021eda5c1f" alt="Barra lateral de configuração de colunas" width="946" height="504" data-path="img/data-management/6.jpg" />

    ### Tipos de Campo e Formatos

    | Tipo de Campo     | Descrição                                             | Opções de Formato                                                      |
    | ----------------- | ----------------------------------------------------- | ---------------------------------------------------------------------- |
    | **Text**          | String alfanumérica padrão                            | Text, Phone Number, Email                                              |
    | **Number**        | Valores numéricos                                     | Number, Decimal, Currency                                              |
    | **Single Select** | Selecione um valor de uma lista pré-definida          | Dropdown com opções (ex.: Skill Level: Beginner, Intermediate, Expert) |
    | **Multi-select**  | Selecione múltiplos valores de uma lista pré-definida | Lista de opções (ex.: Languages: Python, Java, HTML, CSS)              |
    | **Checkbox**      | Valores booleanos (Verdadeiro/Falso)                  | True/False (ex.: Is Female?)                                           |
    | **Date**          | Datas de calendário                                   | Formatos de data (DD/MM/YYYY, etc.)                                    |
    | **User**          | Referência a um usuário no sistema                    | Nome de usuário ou E-mail do Usuário                                   |
    | **File**          | Campo de anexo para documentos                        | Upload de arquivo                                                      |
    | **Collection**    | Vínculo com outra Smart Table (relacional)            | Selecione a Smart Table de destino                                     |

    <img src="https://mintcdn.com/automationanywhere/0dXuEmbFQgFpmNJq/img/data-management/7.jpg?fit=max&auto=format&n=0dXuEmbFQgFpmNJq&q=85&s=0c20f3626c1a890306be95a50516ae2c" alt="Opções do dropdown de tipo de campo" width="1280" height="640" data-path="img/data-management/7.jpg" />

    ### Fontes de Tool

    A configuração **Tool** define como os dados entram na célula:

    * **User Input** — Dados inseridos manualmente pelo usuário ou extraídos diretamente de um arquivo sem modificação
    * **LLM Generated** — O modelo de IA gera o conteúdo com base na descrição da coluna e no contexto (ex.: resumindo um currículo)
    * **Agent Generated** — Um Agente processa uma consulta e preenche este campo com a resposta
    * **Comparison** — Compara dois campos e determina se correspondem ou calcula pontuações de similaridade

          <img src="https://mintcdn.com/automationanywhere/0dXuEmbFQgFpmNJq/img/data-management/8.jpg?fit=max&auto=format&n=0dXuEmbFQgFpmNJq&q=85&s=e279e8bfe0a604975d9d7984274e1ed7" alt="Dropdown de fonte de tool" width="907" height="443" data-path="img/data-management/8.jpg" />

    ***

    ## Extração de Dados (Processamento de Documentos)

    As Smart Tables podem preencher linhas automaticamente extraindo dados de documentos carregados. Isso é particularmente útil para processar documentos padronizados como currículos ou formulários. Cada documento carregado cria uma linha na Smart Table, embora múltiplos documentos possam ser carregados e processados para criar múltiplas linhas na mesma tabela.

    ### Fluxo de Trabalho: Exemplo de Extração de Currículo

    <Steps>
      <Step title="Definir Esquema">
        Crie uma Smart Table chamada "Resumes" com as seguintes colunas:

        * Name (Text)
        * Contact Number (Text — formato Phone Number)
        * Years of Experience (Number — formato Decimal)
        * Languages (Multi-select: Python, Java, HTML, CSS)
        * Is Female (Checkbox)
        * Resume File (File)
      </Step>

      <Step title="Carregar Documento">
        Navegue até a Base de Conhecimento e carregue um arquivo (ex.: um currículo em PDF).
      </Step>

      <Step title="Atribuir Smart Table">
        Durante o carregamento, selecione a Smart Table "Resumes".
      </Step>

      <Step title="Extração">
        O sistema processa o documento e mapeia o conteúdo para as colunas definidas — por exemplo, encontrando "3 years" no texto e preenchendo Years of Experience, ou extraindo um número de telefone para Contact Number.
      </Step>

      <Step title="Revisar Resultados">
        Navegue até a Smart Table para visualizar a linha recém-criada com os dados extraídos.
      </Step>
    </Steps>

    <img src="https://mintcdn.com/automationanywhere/0dXuEmbFQgFpmNJq/img/data-management/9.jpg?fit=max&auto=format&n=0dXuEmbFQgFpmNJq&q=85&s=614b670849bc21526a3335d2f6cea3ae" alt="Modal de upload de arquivo com atribuição de Smart Table" width="756" height="703" data-path="img/data-management/9.jpg" />

    Se um arquivo for carregado sem atribuição, ele pode ser atribuído posteriormente pelas configurações do documento. Vá até o documento, clique em **Assign Smart Table**, selecione a Smart Table de destino e clique em **Apply** para acionar o processo de extração retroativamente.

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/10.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=d2265822d273ded0e594ddfc13be1333" alt="Configurações do documento com atribuição de Smart Table" width="652" height="542" data-path="img/data-management/10.jpg" />

    <Tip>
      Habilite **Quick Upload** ao atribuir uma Smart Table durante o carregamento para extrair e preencher dados automaticamente assim que o upload do arquivo for concluído.
    </Tip>

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/11.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=fc3097dd8c9deebf980bacf609b9aef1" alt="Smart Table de currículos com dados extraídos" width="1280" height="385" data-path="img/data-management/11.jpg" />

    ***

    ## Collections e Relacionamentos

    **Collections** permitem mapeamentos muitos-para-muitos entre Smart Tables. Isso é útil quando uma única linha em uma tabela principal contém dados de lista complexos que requerem sua própria estrutura.

    ### Exemplo: Mapeamento de Habilidades

    Em vez de armazenar habilidades como uma simples string separada por vírgulas (ex.: "Python, Java"), você pode criar uma estrutura relacional com informações detalhadas de habilidades:

    1. **Crie a Tabela "Skills"** — Defina colunas:
       * Skill Name (Text) — Nome da habilidade que o usuário possui
       * Skill Level (Single Select) — Opções: Beginner, Intermediate, Expert
    2. **Configure a Tabela Principal** — Na tabela "Resumes", crie uma coluna chamada "Skills".
    3. **Defina o Tipo como Collection** — Defina o tipo da coluna como **Collection** e vincule à Smart Table "Skills".
    4. **Resultado** — Quando um currículo é processado, o sistema extrai as habilidades e preenche a tabela "Skills" com linhas detalhadas (ex.: "Python - Expert", "Java - Beginner", "AWS - Intermediate") vinculadas de volta ao candidato específico por meio do relacionamento muitos-para-muitos.

           <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/12.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=dab46bea1fcaeb871225d59223ce2e8c" alt="Smart Table de Skills com dados vinculados" width="1280" height="760" data-path="img/data-management/12.jpg" />

    ### Visualizando Dados de Collection

    Ao visualizar a tabela principal (ex.: Resumes), o campo Collection exibe um vínculo para as entradas relacionadas. Clicando nele, você navega até a tabela vinculada (ex.: Skills) onde pode ver todas as entradas detalhadas para aquele candidato. O relacionamento é bidirecional — você pode visualizar a qual currículo cada habilidade pertence verificando a Content Key na tabela Skills.

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/13.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=5ac517accc7a104f50044faa2371a588" alt="Campo Collection na tabela de Resumes" width="1280" height="558" data-path="img/data-management/13.jpg" />

    ***

    ## Gerenciamento de Dados

    Uma vez que os dados são preenchidos, você tem várias ferramentas para gerenciá-los e organizá-los.

    ### Visualizações e Abas

    As Smart Tables fornecem duas visualizações:

    * **Table View** — A visualização padrão estilo planilha para visualizar e editar linhas e colunas
    * **Dashboard View** — Uma visualização onde você pode criar gráficos e widgets para analisar seus dados

          <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/14.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=928e3c88801d9284d952d95f245d5d1b" alt="Abas Table View e Dashboard View" width="660" height="217" data-path="img/data-management/14.jpg" />

    ### Adicionando e Gerenciando Linhas

    * **Inserir Linha** — Clique em **Add Row** ou **Insert Row** para adicionar manualmente uma nova linha em branco
    * **Criação Automática de Linhas** — Quando um documento é carregado e atribuído a uma Smart Table, uma nova linha é automaticamente criada e preenchida com dados extraídos

          <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/15.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=51fc6a1806801a0b0b750be40b26dd17" alt="Botão e ação Add Row" width="1280" height="610" data-path="img/data-management/15.jpg" />

    ### Editando e Recalculando

    * **Edição Manual** — Clique em qualquer célula para atualizar manualmente o valor
    * **Executar Célula/Linha** — Para campos gerados por LLM ou Agente, clique em **Execute Cell** ou **Execute Row** para calcular ou atualizar os dados daquela linha
    * **Recalcular Tudo** — Atualiza todas as linhas simultaneamente. Útil após atualizar descrições de colunas ou configurações de agentes para reprocessar todo o conjunto de dados

          <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/16.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=58317db5662c9860c95cf13140861cee" alt="Botões Execute Cell/Row e Re-compute All" width="1280" height="608" data-path="img/data-management/16.jpg" />

    <Note>
      Cada linha recebe automaticamente um identificador único **Content Key** que a vincula de volta ao documento fonte. Isso permite rastreabilidade entre dados extraídos e arquivos originais.
    </Note>

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/17.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=83b8b55483ab8b5d3225a5ef01025fc4" alt="Coluna Content Key" width="778" height="746" data-path="img/data-management/17.jpg" />

    ### Agrupando e Organizando

    Você pode agrupar dados por colunas específicas para organizar a visualização. Por exemplo, agrupar uma lista de candidatos pelo campo multi-select "Language" permite ver todos os desenvolvedores Python juntos. As colunas também podem ser reorganizadas arrastando e reposicionando-as na visualização de tabela.

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/18.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=12b0e37ed9fa7e66900af2d0b42706fe" alt="Funcionalidade Group By" width="1280" height="299" data-path="img/data-management/18.jpg" />

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/19.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=2805b67a30c99a84998fb58fb46b0d64" alt="Reorganização de colunas" width="720" height="676" data-path="img/data-management/19.jpg" />

    ### Renomeando Smart Tables

    Clique no nome da tabela no topo e insira um novo nome. Isso ajuda a organizar múltiplas tabelas com identificadores descritivos (ex.: "Resumes", "Skills", "Evaluations").

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/20.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=b7261f05d8e6a96a6c3bada23310bb63" alt="Renomear Smart Table" width="667" height="404" data-path="img/data-management/20.jpg" />

    ### Excluindo Campos e Linhas

    * **Excluir Coluna** — Ao editar a configuração de uma coluna, selecione **Delete Field** para remover a coluna inteiramente
    * **Excluir Linha** — Clique em uma linha e selecione **Delete** para remover entradas individuais

    ***

    ## Dashboards e Visualização

    As Smart Tables incluem uma visualização de **Dashboard** integrada para visualizar os dados armazenados.

    ### Criando Widgets

    1. Navegue até a aba **Dashboard** dentro da Smart Table
    2. Clique em **Add Widget**
    3. Configure o gráfico:
       * **Widget Title** — Forneça um título descritivo (ex.: "Total de Candidatos por Gênero")
       * **Chart Type** — Selecione entre Pie Chart, Bar Chart, Line Chart e outros
       * **X-Axis (Category)** — Selecione o campo de agrupamento (ex.: Is Female)
       * **Y-Axis (Value)** — Selecione a métrica a medir, com funções de agregação como Contagem, Soma ou Média
       * **Y-Series Column Name** — Opcionalmente personalize o rótulo exibido na legenda do gráfico
    4. Salve o widget para adicioná-lo ao dashboard

           <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/21.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=5db4ec7ff54e8ec5822055feac5074bf" alt="Diálogo Add Widget" width="1280" height="723" data-path="img/data-management/21.jpg" />

           <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/22.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=57e36bb6b2fda74f7234dde5c1fe9cbf" alt="Visualização de Dashboard com Pie Chart" width="1128" height="409" data-path="img/data-management/22.jpg" />

    ***

    ## Consultando Smart Tables via Agentes

    Uma das funcionalidades mais poderosas das Smart Tables é a capacidade de consultar dados estruturados usando linguagem natural por meio de um **Agente**.

    ### Processo de Configuração

    <Steps>
      <Step title="Criar Agente">
        Vá até o construtor de agentes e crie ou abra um agente existente.
      </Step>

      <Step title="Configurar Toolkits">
        Adicione o toolkit **Database Manager** ao agente.
      </Step>

      <Step title="Selecionar Smart Tables">
        Nas configurações do toolkit, selecione uma ou mais Smart Tables que o agente deve ter acesso. Isso permite que o agente consulte múltiplas tabelas relacionadas simultaneamente.
      </Step>

      <Step title="Configurar Opções de Consulta">
        Desmarque opções desnecessárias como "Database Query" ou "Database Schema" se você deseja que o agente acesse apenas dados de Smart Tables.
      </Step>

      <Step title="Salvar e Testar">
        Abra o chat do agente e faça perguntas em linguagem natural, por exemplo:

        * "Quantos candidatos têm mais de 5 anos de experiência?"
        * "Liste todos os especialistas em Python"
        * "Quantas linhas há na tabela Resumes?"
      </Step>
    </Steps>

    O agente executa uma consulta na Smart Table e retorna a resposta em linguagem natural.

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/23.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=ee95580628d997a9c5ec1473742fd697" alt="Construtor de agentes com toolkit Database Manager" width="756" height="606" data-path="img/data-management/23.jpg" />

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/24.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=2c23c2bca7c398cb68751e2c37e188b9" alt="Configurações do Database Manager mostrando seleção de Smart Table" width="1280" height="650" data-path="img/data-management/24.jpg" />

    <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/25.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=f22c059f89f44e0d5612e0195faf1f1e" alt="Exemplo de consulta do agente" width="1231" height="752" data-path="img/data-management/25.jpg" />

    ***

    ## Templates

    Os Templates aceleram a configuração fornecendo estruturas de colunas pré-configuradas para casos de uso comuns. Você pode selecionar entre templates existentes, mas não pode criar templates personalizados por meio da interface.

    ### Template de Avaliação

    Projetado para testar o desempenho de Agentes e validar respostas de IA. Inclui:

    * **Question Text** — O prompt de entrada para o agente (User Input)
    * **Expected Answer** — A resposta correta ou padrão-ouro (User Input)
    * **Actual Response** — Preenchida pelo agente durante a execução da avaliação (Agent Generated)
    * **Evaluation Status** — Compara Actual Response com Expected Answer e retorna uma porcentagem de aprovação/reprovação (Comparison)

    **Usando o Template de Avaliação:**

    1. Crie uma Smart Table a partir do template Evaluations
    2. Adicione linhas com suas perguntas de teste e respostas esperadas
    3. Configure o campo Agent para conectar ao seu agente de IA
    4. Execute linhas individuais ou execute **Re-compute All** para testar todas as perguntas
    5. Revise a Actual Response e o Evaluation Status para avaliar o desempenho do agente

           <img src="https://mintcdn.com/automationanywhere/MyZJbsTGQlwZyUiG/img/data-management/26.jpg?fit=max&auto=format&n=MyZJbsTGQlwZyUiG&q=85&s=79737013332d87b67f2c023db491bb72" alt="Template de avaliações em ação" width="1280" height="591" data-path="img/data-management/26.jpg" />

    ***

    ## Melhores Práticas

    * **Descrições de Colunas** — Escreva texto claro e descritivo para cada coluna para guiar o LLM durante a extração. Por exemplo, nomeie uma coluna "Years of Experience" e adicione: *"Total de anos de experiência profissional encontrados no currículo."*
    * **Tipos de Dados** — Use tipos específicos (Number vs. Text) para habilitar ordenação, filtragem e criação de gráficos precisos. Use Number para "Years of Experience" em vez de Text.
    * **Seleção de Formato** — Escolha formatos apropriados por tipo de campo. Use o formato Phone Number para campos de contato; use o formato Currency para valores monetários.
    * **Collections** — Use Collections para listas complexas (Habilidades, Certificações, Histórico Educacional) para manter a integridade dos dados e habilitar consultas mais profundas.
    * **Testes** — Teste com um ou dois documentos primeiro para verificar se as descrições das colunas estão orientando a IA corretamente antes de fazer upload em lote.
    * **Quick Upload** — Habilite o Quick Upload ao atribuir uma Smart Table durante o carregamento para extrair e preencher dados imediatamente.
    * **Reaplicar Extração** — Se você modificar as definições das colunas, reatribua a Smart Table aos documentos existentes para reextrair dados com a configuração atualizada.
    * **Campos de Comparação** — Use Comparison para cenários de validação, como comparar resultados esperados vs. reais em fluxos de trabalho de QA.

    <Info>
      As Smart Tables também podem acionar e interagir com **Workflows (Actions)**, habilitando lógica avançada como "Se o Currículo Qualificar, enviar e-mail." Consulte a documentação de Workflow Automation para mais detalhes.
    </Info>
  </Tab>

  <Tab title="APIs">
    ## Antes de Começar

    <Steps>
      <Step title="Autenticação">
        Use as mesmas credenciais das outras APIs do projeto — chave/segredo da API ou os cabeçalhos de autenticação do seu aplicativo.
      </Step>

      <Step title="Acesso">
        A conta precisa de permissão para usar os recursos de Base de Conhecimento do projeto. Sem isso, essas chamadas retornam `403`.
      </Step>

      <Step title="URL Base">
        Use o host da API do seu ambiente (ex.: `https://ai-api.automationanywhere.com`). Os caminhos abaixo são anexados a esse host, a menos que sua implantação use um prefixo global.
      </Step>
    </Steps>

    ***

    ### 1. Listar Tabelas Existentes

    <CodeGroup>
      ```bash Request theme={null}
      GET /project/{project_id}/data-types
      ```
    </CodeGroup>

    Retorna uma lista de todos os tipos de dados do projeto. Cada item inclui um `id` que você usa como `data_type_id` nas solicitações seguintes.

    ***

    ### 2. Criar uma Nova Smart Table

    <CodeGroup>
      ```bash Request theme={null}
      POST /project/{project_id}/data-types
      ```
    </CodeGroup>

    #### Parâmetros do Body

    | Campo         | Obrigatório | Descrição                                                                                                              |
    | ------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------- |
    | `title`       | Sim         | Nome exibido na interface.                                                                                             |
    | `description` | Sim         | Descrição breve.                                                                                                       |
    | `metadata`    | Não         | Define colunas iniciais: cada chave é um nome de coluna; cada valor é uma amostra usada para inferir o tipo da coluna. |

    <CodeGroup>
      ```json Exemplo de Request theme={null}
      {
        "title": "Support tickets",
        "description": "Inbound requests",
        "metadata": {
          "subject": "Sample subject",
          "priority": 1,
          "open": true,
          "tags": ["billing", "login"]
        }
      }
      ```

      ```json Exemplo de Response theme={null}
      {
        "message": "Data type created successfully",
        "data_type_id": "abc123...",
        "view_id": "view-uuid-here"
      }
      ```
    </CodeGroup>

    <Tip>
      Salve o `data_type_id` retornado — você precisará dele para todas as operações de linha.
    </Tip>

    ***

    ### 3. Adicionar ou Alterar Colunas

    <CodeGroup>
      ```bash Request theme={null}
      POST /project/{project_id}/data-type/{data_type_id}/column
      ```
    </CodeGroup>

    <CodeGroup>
      ```json Exemplo de Request theme={null}
      {
        "column_name": "status",
        "column_type": "text",
        "description": "Workflow status",
        "options": {},
        "default_value": "open"
      }
      ```
    </CodeGroup>

    Confirme os valores exatos de `column_type` com sua documentação OpenAPI ou de integração para o seu ambiente.

    ***

    ### 4. Adicionar Uma Única Linha

    <CodeGroup>
      ```bash Request theme={null}
      POST /project/{project_id}/data-type/{data_type_id}/row
      ```
    </CodeGroup>

    Os valores das colunas ficam dentro do objeto `metadata`.

    <CodeGroup>
      ```json Exemplo de Request theme={null}
      {
        "metadata": {
          "subject": "Cannot reset password",
          "priority": 2,
          "open": true,
          "tags": ["auth"]
        }
      }
      ```

      ```json Exemplo de Response theme={null}
      {
        "message": "Row added successfully",
        "row_id": 5,
        "row": {
          "id": 5,
          "subject": "Cannot reset password",
          "priority": 2,
          "open": true,
          "tags": ["auth"]
        }
      }
      ```
    </CodeGroup>

    <Note>
      As chaves em `metadata` devem corresponder aos nomes de colunas existentes. Não inclua `id` — o servidor o atribui automaticamente.
    </Note>

    ***

    ### 5. Adicionar Múltiplas Linhas de Uma Vez

    <CodeGroup>
      ```bash Request theme={null}
      POST /project/{project_id}/data-type/{data_type_id}/rows
      ```
    </CodeGroup>

    Cada linha é um objeto simples de valores de colunas — **não** aninhado sob `metadata`.

    <CodeGroup>
      ```json Exemplo de Request theme={null}
      {
        "rows": [
          { "subject": "Issue A", "priority": 1, "open": true },
          { "subject": "Issue B", "priority": 3, "open": false }
        ]
      }
      ```

      ```json Exemplo de Response theme={null}
      {
        "message": "Successfully added 2 rows",
        "rows_added": 2,
        "row_ids": [6, 7]
      }
      ```
    </CodeGroup>

    ***

    ### 6. Criar uma Tabela a Partir de um Arquivo

    <CodeGroup>
      ```bash Request theme={null}
      POST /project/{project_id}/import-table
      ```
    </CodeGroup>

    **Formato:** `multipart/form-data` com upload de arquivo (CSV ou Excel).

    | Campo             | Descrição                                                                                     |
    | ----------------- | --------------------------------------------------------------------------------------------- |
    | `title`           | Nome da tabela exibido na interface.                                                          |
    | `description`     | Descrição breve.                                                                              |
    | `column_mappings` | String JSON descrevendo como as colunas do arquivo mapeiam para as colunas e tipos da tabela. |
    | `file`            | O arquivo CSV ou Excel a importar.                                                            |

    ***

    ## Referência Rápida

    | Ação                       | Método | Caminho                                                 |
    | -------------------------- | ------ | ------------------------------------------------------- |
    | Listar tabelas             | `GET`  | `/project/{project_id}/data-types`                      |
    | Criar tabela               | `POST` | `/project/{project_id}/data-types`                      |
    | Adicionar coluna           | `POST` | `/project/{project_id}/data-type/{data_type_id}/column` |
    | Adicionar uma linha        | `POST` | `/project/{project_id}/data-type/{data_type_id}/row`    |
    | Adicionar múltiplas linhas | `POST` | `/project/{project_id}/data-type/{data_type_id}/rows`   |
    | Importar de arquivo        | `POST` | `/project/{project_id}/import-table`                    |

    ***

    ## Solução de Problemas

    <AccordionGroup>
      <Accordion title="403 — Proibido">
        O usuário ou chave de API não tem acesso ao projeto ou à sua seção de Base de Conhecimento. Verifique se a conta tem as permissões corretas habilitadas.
      </Accordion>

      <Accordion title="500 na Inserção de Linha">
        Geralmente causado por incompatibilidade de nome de coluna ou um valor cujo tipo não corresponde à definição da coluna. Verifique se todas as chaves correspondem a nomes de colunas existentes e se os tipos de valores correspondem (ex.: não envie uma string para uma coluna `number`).
      </Accordion>

      <Accordion title="Formato do Body: Linha Única vs. Em Lote">
        A estrutura do corpo da solicitação difere entre os dois endpoints:

        * **Linha única:** `{ "metadata": { ... } }`
        * **Linhas em lote:** `{ "rows": [ { ... }, { ... } ] }` — sem wrapper `metadata` por linha.
      </Accordion>
    </AccordionGroup>
  </Tab>
</Tabs>
