Builder · Atualizado em 06/10/2026

Como usar conteúdo dinâmico no Builder

Envie ao contato uma mensagem montada durante o fluxo, a partir de uma variável com o documento JSON completo, e evite os erros mais comuns.

O Conteúdo dinâmico envia ao contato uma mensagem que não está escrita no Builder: ela vem pronta de uma variável do fluxo. Isso permite que o próprio fluxo decida, durante a conversa, qual mensagem enviar.

Quando usar

  • Quando uma ação anterior do fluxo monta a mensagem inteira, como um menu gerado a partir de uma lista de produtos.
  • Quando o tipo da mensagem muda conforme o caso: às vezes texto, às vezes mídia.

Se o conteúdo é fixo, use Texto. Se ele vem de um endereço consultado no envio, use o Conteúdo HTTP.

Pré-requisitos

  • Acesso de edição a um fluxo no Builder.
  • Uma variável do fluxo que receba o documento JSON completo, preenchida antes de o fluxo chegar a este bloco.

Passo a passo

  1. No canvas, clique no bloco e abra a aba Conteúdo.
  2. Clique em + Adicionar conteúdo e escolha Conteúdo dinâmico.
  3. No cartão aberto, preencha o campo Variável com o nome da variável, por exemplo conteudoLime. Não inclua as chaves.
  4. Leia o aviso do cartão: "A variável deve conter o JSON LIME completo."
  5. Garanta que algum passo anterior (uma ação do bloco, por exemplo) preencha essa variável com o documento. Veja Como configurar ações de um bloco.
  6. Teste com uma entrada que preencha a variável e confira o que chega.
Cartão Conteúdo dinâmico com o campo Variável

Formato do documento

A variável deve guardar um JSON com estes campos:

CampoObrigatórioO que é
typeSimO MIME type do conteúdo, como text/plain
contentSimO conteúdo no formato daquele tipo
metadataNãoInformações adicionais, em pares de texto

Exemplo de texto simples:

{"type":"text/plain","content":"Seu pedido saiu para entrega."}

Os tipos aceitos são os mesmos do canal: text/plain, application/vnd.lime.select+json, application/vnd.lime.media-link+json, application/vnd.lime.input+json, application/vnd.lime.location+json, application/vnd.lime.web-link+json e application/vnd.lime.chatstate+json.

Exemplo na Loja Girassol

Na Loja Girassol, o fluxo guarda na variável respostaPedido um documento de texto com o status do pedido que o contato informou. O bloco Status do pedido tem um cartão Conteúdo dinâmico com Variável respostaPedido. Se o pedido está entregue, a variável traz uma mensagem; se está em separação, traz outra, sem precisar de blocos diferentes para cada texto.

Resultado esperado

O contato recebe a mensagem descrita no documento da variável, no tipo indicado.

Boas práticas

  • Dê à variável um nome que diga o que ela guarda.
  • Valide o JSON antes de salvar na variável: uma vírgula faltando já impede o envio.
  • Prefira documentos pequenos.
  • Teste cada tipo que o seu fluxo pode produzir.

Limitações

  • A variável deve conter o JSON completo, não apenas o texto.
  • Só vale para os tipos de conteúdo que o canal envia.
  • Variáveis com caracteres fora de letras, números e os símbolos . @ _ - não são lidas pelo cartão.

Problemas comuns

  • "Conteúdo dinâmico: variável obrigatória.": o campo Variável está vazio.
  • "O Conteúdo dinâmico precisa conter um JSON LIME válido.": a variável está vazia ou não é JSON. Confira o passo que a preenche.
  • "O Conteúdo dinâmico resolveu um tipo que o canal não envia": o campo type do documento não está na lista de tipos aceitos.
  • O contato não recebe nada: o tipo pode ser o indicador de digitação, que não gera mensagem visível.

Próximos passos

Perguntas frequentes

O que a variável precisa conter?

Um documento JSON completo com os campos type e content, e opcionalmente metadata. Por exemplo: {"type":"text/plain","content":"Olá"}.

Qual a diferença para o Conteúdo HTTP?

O Conteúdo HTTP busca a mensagem em um endereço no momento do envio. O Conteúdo dinâmico usa uma variável que o fluxo já preencheu antes.

Quais tipos posso devolver?

Os que o canal envia: texto, menu, mídia por link, pedido de localização, localização, link e indicador de digitação.

Posso escrever o nome da variável com chaves?

Escreva só o nome, como conteudoLime. O Pipe monta a referência com as chaves sozinho.