IA para SaaS30 de agosto de 202618 min de leitura

Como criar um agente de IA para vendas no seu SaaS: tutorial com MCP e API

Construa um agente que entende seu produto, transforma a ideia em um ICP pesquisável, encontra empresas brasileiras aderentes e deixa a primeira abordagem pronta para sua aprovação.

Resposta direta

Para criar um agente de IA de vendas para seu SaaS, conecte um modelo a uma fonte confiável de empresas, defina regras claras de ICP e coloque aprovação humana antes de qualquer ação paga ou contato externo. O MCP acelera o protótipo; a API oferece controle determinístico quando o fluxo vai para produção.

O que este agente de IA realmente faz

“Vender sozinho” é uma promessa sedutora, mas ampla demais. Um SaaS B2B ainda precisa de posicionamento, demonstração, negociação e confiança. O melhor primeiro agente é um agente de pré-vendas: ele assume o trabalho repetitivo antes da conversa comercial e entrega contexto para você decidir.

O agente pode

  • Converter a descrição do SaaS em critérios de ICP
  • Pesquisar CNAEs e municípios em vez de adivinhar
  • Estimar o tamanho de uma busca antes da lista
  • Criar e consultar listas depois da aprovação
  • Priorizar contas e preparar rascunhos de abordagem

O agente não deve

  • Inventar códigos, contatos ou sinais de intenção
  • Consumir créditos sem mostrar a ação planejada
  • Tratar inferência como se fosse dado confirmado
  • Disparar mensagens em massa sem revisão
  • Prometer que uma empresa comprará o produto

Arquitetura: onde entram a IA, o MCP e a API

Pense no agente como três camadas. O modelo interpreta o objetivo e decide a próxima etapa. O TDFÁCIL fornece as ferramentas e os dados empresariais. Sua aplicação controla identidade, aprovação, orçamento, registro e eventual envio por outro canal.

01 · Raciocínio

Modelo de IA

Entende o produto, formula o ICP e escolhe qual ferramenta consultar.

02 · Dados e ações

TDFÁCIL

Pesquisa referências, estima buscas, cria listas e enriquece leads.

03 · Controle

Seu backend

Guarda segredos, apresenta aprovações, aplica limites e registra decisões.

CritérioMCPAPI REST
Melhor usoAgente decide a ferramentaBackend decide a sequência
AutenticaçãoOAuth com consentimentoChave com escopos mínimos
ProtótipoMais rápidoExige integração
ProduçãoÓtimo para fluxos conversacionaisÓtima para rotinas previsíveis

Pré-requisitos para acompanhar o tutorial

Uma hipótese de ICP

Problema, segmento, região atendida e características que tornam uma empresa aderente.

Acesso de desenvolvedor

Conta TDFÁCIL com as permissões necessárias e uma chave OpenAI mantida no backend.

Node.js no caminho com código

Um projeto server-side com o SDK oficial da OpenAI. Nunca coloque os segredos no frontend.

Uma tela de aprovação

O usuário precisa enxergar ferramenta, argumentos e impacto antes de autorizar uma ação.

1. Transforme a descrição do SaaS em um ICP pesquisável

O agente não começa procurando empresas. Ele começa fazendo boas perguntas. “Meu sistema ajuda negócios a vender mais” não gera um filtro confiável. Já uma descrição que inclui problema, usuário, região e contexto operacional permite construir uma hipótese.

“Meu SaaS automatiza cobranças recorrentes para academias. Quero começar por empresas ativas em Campinas e cidades próximas, com operação estruturada o bastante para sentir o problema.”

A partir daí, o agente deve separar o que foi informado, o que precisa ser perguntado e o que precisa ser pesquisado. O código CNAE, por exemplo, não deve sair da memória do modelo: ele deve consultar tdfacil_search_referencee apresentar as opções para confirmação.

Saída esperada desta etapa

Problema
Cobrança recorrente manual ou fragmentada
Empresa
Academia com operação ativa
Geografia
Campinas e região definida pelo fundador
CNAE
A confirmar no catálogo do TDFÁCIL
Sinal de aderência
Rotina recorrente e equipe operacional
Lacunas
Porte mínimo e cargo comprador

Se esse recorte ainda é novo para você, veja também nosso guia sobrecomo buscar empresas por CNAEantes de automatizar a seleção.

2. Conecte o MCP remoto do TDFÁCIL

Para validar a ideia sem construir uma interface, use um cliente compatível com MCP Streamable HTTP e OAuth. Adicione o servidor abaixo; o cliente deve abrir o login e a tela de consentimento no navegador. Escolha somente as permissões necessárias para o teste.

configuração MCP
{
  "mcpServers": {
    "tdfacil": {
      "type": "streamable-http",
      "url": "https://api.tdfacil.com/mcp"
    }
  }
}

MCP usa OAuth, não a chave da API REST

Não cole uma API key na configuração MCP. Um cliente compatível faz a descoberta OAuth e solicita seu consentimento. Para um agente incorporado ao SaaS, seu backend precisa concluir esse fluxo e proteger o token de acesso.

Depois da autenticação, peça ao cliente para apenas listar as ferramentas. Você deverá encontrar recursos para pesquisar referências, fazer a prévia, criar e consultar listas, ler leads, solicitar enriquecimento e acompanhar operações. Ainda não execute uma ação que consuma créditos.

3. Crie o agente com a Responses API da OpenAI

A Responses API aceita servidores MCP remotos como ferramentas. Na primeira versão, mantenha require_approval comoalways. Assim, a resposta para quando o modelo deseja chamar uma ferramenta, sua aplicação mostra os argumentos e só continua depois da decisão do usuário.

Também limite o catálogo com allowed_tools. Isso reduz ambiguidade e impede que o agente enxergue ações desnecessárias ao caso de uso. A documentação oficial da OpenAI explica tanto a conexão com MCP remoto quanto o fluxo de aprovação.

instruções do agente
Você é um agente de pré-vendas B2B para um SaaS.

Objetivo: transformar a descrição do produto em uma lista curta de empresas aderentes e preparar rascunhos de abordagem.

Regras:
1. Nunca invente um CNAE. Pesquise o catálogo antes de aplicar o filtro.
2. Sempre faça uma prévia antes de propor a criação de uma lista.
3. Antes de criar lista ou solicitar enriquecimento, mostre filtros, limite e motivo, e aguarde aprovação.
4. Use o run_id recebido para formar chaves de idempotência estáveis.
5. Priorize poucas contas com justificativa; não maximize volume.
6. Diferencie dado retornado pela ferramenta de inferência do modelo.
7. Não envie e-mail, WhatsApp ou qualquer mensagem externa.
8. Entregue: empresa, evidências de aderência, lacunas de informação, nota de 0 a 100 e rascunho de abordagem.
9. Se faltar informação para definir o ICP, faça perguntas antes de usar ferramentas.
Node.js · OpenAI Responses API
import OpenAI from "openai";

const client = new OpenAI();
const model = process.env.OPENAI_MODEL;
const tdfacilToken = process.env.TDFACIL_OAUTH_ACCESS_TOKEN;

if (!model || !tdfacilToken) {
  throw new Error("Configure OPENAI_MODEL e TDFACIL_OAUTH_ACCESS_TOKEN");
}

const mcpTool = {
  type: "mcp" as const,
  server_label: "tdfacil",
  server_description: "Pesquisa e enriquecimento de leads B2B brasileiros.",
  server_url: "https://api.tdfacil.com/mcp",
  authorization: tdfacilToken,
  allowed_tools: [
    "tdfacil_search_reference",
    "tdfacil_preview_lead_search",
    "tdfacil_create_lead_list",
    "tdfacil_get_operation",
    "tdfacil_get_leads",
    "tdfacil_request_enrichment"
  ],
  require_approval: "always" as const
};

const agentInstructions = [
  "Você é um agente de pré-vendas B2B para um SaaS.",
  "Nunca invente CNAE: pesquise o catálogo antes de aplicar filtros.",
  "Sempre faça uma prévia antes de propor uma lista.",
  "Peça aprovação antes de lista, enriquecimento ou contato externo.",
  "Separe dados retornados pelas ferramentas de inferências do modelo."
].join("\n");

export async function startProspecting(productDescription: string) {
  const runId = crypto.randomUUID();

  return client.responses.create({
    model,
    tools: [mcpTool],
    instructions: agentInstructions,
    input: [
      "run_id: " + runId,
      "Produto: " + productDescription,
      "Comece definindo o ICP. Não crie listas ainda."
    ].join("\n")
  });
}

export async function approveToolCall(
  previousResponseId: string,
  approvalRequestId: string
) {
  return client.responses.create({
    model,
    tools: [mcpTool],
    previous_response_id: previousResponseId,
    input: [{
      type: "mcp_approval_response",
      approval_request_id: approvalRequestId,
      approve: true
    }]
  });
}

O exemplo pressupõe que seu backend já obteve um access token OAuth válido para o recurso MCP. Guarde OPENAI_API_KEYe TDFACIL_OAUTH_ACCESS_TOKEN no servidor. Nunca os inclua no bundle do navegador, em logs ou no repositório.

Procure por um item mcp_approval_request no retorno, mostre name e arguments na interface e chame approveToolCall somente depois do clique do usuário. Repita esse ciclo se a próxima etapa pedir nova aprovação.

4. Execute a prospecção na ordem certa

O valor do agente não está em chamar muitas ferramentas. Está em escolher uma sequência econômica, verificável e fácil de interromper. Use este fluxo como política do produto:

  1. 1

    Confirme CNAE e município

    tdfacil_search_reference

    Pesquise pelo termo que o fundador usa e mostre as alternativas. O usuário confirma o recorte antes da próxima etapa.

  2. 2

    Estime a busca

    tdfacil_preview_lead_search

    Envie os filtros e um limite. A prévia estima o universo sem criar uma lista paga, mas exige uma chave de idempotência.

  3. 3

    Peça aprovação e crie a lista

    aprovação obrigatória
    tdfacil_create_lead_list

    Mostre título, filtros e quantidade solicitada. A criação reserva créditos e acontece de forma assíncrona.

  4. 4

    Acompanhe a operação

    tdfacil_get_operation

    Consulte o estado sem repetir a criação. Quando concluir, recupere a lista correspondente.

  5. 5

    Leia e reduza o conjunto

    tdfacil_get_leads

    Analise os dados empresariais retornados e descarte contas sem evidência suficiente de aderência.

  6. 6

    Enriqueça somente os finalistas

    aprovação obrigatória
    tdfacil_request_enrichment

    Solicite enriquecimento de um lead por chamada e somente depois de outra aprovação explícita.

A mesma chave de idempotência deve ser reutilizada quando sua aplicação repete exatamente a mesma tentativa. Criar uma chave nova em todo retry elimina a proteção contra duplicidade.

5. Priorize contas e prepare uma abordagem útil

Depois de recuperar os leads, peça uma pontuação explicável. A nota não é uma verdade estatística: ela é uma regra operacional para ordenar o trabalho. Um modelo simples pode somar três blocos:

0–50

Aderência ao ICP

Setor, localização, porte e demais critérios declarados.

0–30

Evidência disponível

Quantidade e qualidade dos dados que sustentam a hipótese.

0–20

Ação possível

Clareza do problema e de uma próxima conversa relevante.

Exija que cada nota venha com evidências e lacunas. “Parece uma boa empresa” não basta. A saída precisa dizer quais campos sustentam o encaixe e o que ainda é apenas hipótese.

Modelo de abordagem

“Olá, [nome]. Estou conversando com operações de [segmento] que ainda lidam com [problema observado]. Criamos [produto] para reduzir [impacto específico]. Isso aparece na rotina de vocês ou estou partindo de uma premissa errada?”

Personalize somente com fatos verificados. Uma pergunta honesta sobre a hipótese é melhor do que uma falsa intimidade gerada por IA.

6. Leve as etapas determinísticas para a API REST

O MCP é excelente para descobrir o fluxo. Quando seu produto já sabe exatamente o que deve acontecer, mover parte da execução para a API facilita filas, limites próprios, webhooks, métricas e testes. Um desenho comum mantém o modelo na definição do ICP e na análise, enquanto o backend executa prévia, criação e acompanhamento.

Node.js · prévia pela API REST
const runId = crypto.randomUUID();

const response = await fetch(
  "https://api.tdfacil.com/v1/lead-search-previews",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer " + process.env.TDFACIL_API_KEY,
      "Content-Type": "application/json",
      "Idempotency-Key": "preview:" + runId
    },
    body: JSON.stringify({
      filters: {
        state: "SP",
        city: "Campinas",
        cnae: ["CODIGO_CONFIRMADO_NO_CATALOGO"]
      },
      limit: 100
    })
  }
);

if (!response.ok) {
  throw new Error("Falha na prévia: " + response.status);
}

const preview = await response.json();

Na criação de lista, a API responde de forma assíncrona. Seu backend acompanha a operação pelo endpoint correspondente ou usa webhooks para reagir à conclusão. Trate 429 com espera, respeite Retry-After e nunca transforme timeout em uma nova compra sem antes consultar o estado da operação.

Uma divisão saudável em produção

Modelo decide

  • • perguntas para esclarecer o ICP
  • • interpretação das referências encontradas
  • • justificativa do ranking
  • • rascunho personalizado

Backend garante

  • • autenticação, escopos e orçamento
  • • aprovação e idempotência
  • • retries e acompanhamento assíncrono
  • • logs redigidos e auditoria

Controles que não podem faltar no agente de vendas

Escopo mínimo

Se a primeira experiência só precisa pesquisar e estimar, não conceda criação de lista ou enriquecimento.

Aprovação visível

Mostre nome da ferramenta, argumentos, quantidade e efeito esperado antes de uma mutação.

Idempotência por operação

Associe a chave ao usuário, objetivo e tentativa lógica; reutilize-a no retry da mesma ação.

Separação entre dado e inferência

Toda recomendação deve indicar o que veio do TDFÁCIL e o que foi concluído pelo modelo.

Canal externo separado

Pesquisa e redação não autorizam disparo. Crie outra permissão e outra confirmação para enviar mensagens.

Revisão e respeito ao destinatário

Evite volume indiscriminado, use contexto pertinente, identifique o remetente e respeite pedidos para não receber contato.

Como saber se o agente está ajudando a vender

Não avalie o agente pelo número de chamadas de ferramenta nem pelo tamanho da lista. Meça a passagem de uma etapa para a seguinte e compare a qualidade com o processo manual.

Precisão do ICP

Percentual de contas revisadas que realmente atendem aos critérios definidos.

Custo por conta útil

Créditos e custo de IA divididos pelas contas aprovadas para abordagem.

Tempo até a primeira lista

Quanto o fundador leva da descrição do produto à fila priorizada.

Taxa de aprovação

Quantas sugestões do agente são aceitas sem precisar refazer filtros.

Resposta à abordagem

Respostas humanas e relevantes, não apenas mensagens entregues.

Aprendizado do ICP

Quantas hipóteses foram confirmadas ou descartadas pelas conversas.

Se você ainda está validando o produto, combine esse agente com um processo de prospecção liderado pelo fundador. Nosso guia sobrecomo conseguir os primeiros clientes para um SaaSajuda a transformar a lista em conversas e aprendizado comercial.

Documentação usada neste tutorial

Perguntas frequentes

Como criar um agente de IA para encontrar clientes para meu SaaS?+

Dê ao agente uma descrição clara do produto, regras para definir o ICP e ferramentas que permitam pesquisar empresas. Com o MCP ou a API do TDFÁCIL, ele pode localizar CNAEs e municípios, estimar uma busca, criar listas autorizadas, consultar leads e solicitar enriquecimento.

Qual é a diferença entre um agente de vendas e um chatbot?+

Um chatbot normalmente responde dentro de uma conversa. Um agente recebe um objetivo, escolhe ferramentas, executa etapas e usa os resultados para decidir a próxima ação. Essa autonomia deve ser limitada por escopos, aprovações e regras de negócio.

O agente de IA consegue vender meu SaaS sozinho?+

Ele consegue automatizar grande parte da pesquisa, qualificação e preparação da abordagem. O fechamento continua dependendo de proposta, confiança, negociação e produto. Neste tutorial, toda ação paga e todo contato externo exigem aprovação humana.

Como usar MCP em um agente de vendas?+

Conecte um servidor MCP confiável ao cliente ou à API de IA. O modelo passa a enxergar as ferramentas autorizadas e pode chamá-las conforme o objetivo. No TDFÁCIL, a autenticação do MCP usa OAuth e as permissões efetivas são escolhidas no consentimento.

Quando devo usar MCP e quando devo usar API REST?+

Use MCP para prototipar conversas e permitir que o modelo escolha ferramentas. Prefira a API REST para rotinas determinísticas, integrações em lote, observabilidade própria e etapas que seu backend deve controlar diretamente.

Como evitar que o agente gaste créditos sem autorização?+

Conceda o menor conjunto de permissões, faça uma prévia antes da lista, mantenha aprovação obrigatória nas ferramentas de mutação e use chaves de idempotência para que uma repetição não gere uma segunda operação.

O TDFÁCIL envia e-mail ou WhatsApp automaticamente pelo MCP?+

Não neste fluxo. O MCP usado no tutorial pesquisa e organiza leads e solicita enriquecimento. O agente prepara o rascunho da abordagem, mas o envio depende de outro canal e deve respeitar uma aprovação explícita e as regras aplicáveis.

Preciso programar para testar esse agente?+

Não necessariamente. Um cliente compatível com MCP e OAuth permite validar o fluxo conversando com a IA. Para incorporar o agente ao seu SaaS, controlar aprovações e operar em produção, você precisará de uma integração no backend.

Dê ao seu agente acesso às empresas certas, com controle em cada etapa

Conheça a API e o MCP do TDFÁCIL ou crie sua conta para transformar seu ICP em uma lista de prospecção B2B.