Marketing · Forms

A resposta chega. Mesmo quando o destino recusa.

Um formulário no seu site, por uma linha, ou num link pronto. Cada resposta vira um evento assinado para os destinos que você escolher, com a página e a campanha de onde veio, e espera na fila até o destino aceitar.

Mesmo login nos três painéis da linha. Chega um código no seu e-mail; você cola uma vez.

Por que isso existe

Uma resposta perdida não deixa
RASTRO.

O formulário diz obrigado, o webhook falha de madrugada e ninguém fica sabendo. Aqui toda entrega é escrita numa caixa de saída antes de sair, e a resposta que o destino recusou espera na fila, com o motivo à vista.

  • O segredo trocado no destino que derrubou as entregas
  • O robô que encheu a planilha, ou o captcha que espantou gente
  • A resposta que ninguém sabe de que página veio

O caminho inteiro

Monta, instala, filtra, entrega.

E a resposta não se perde no caminho.

1 · Montar

Sete tipos de campo, até 40 por formulário, e um de e-mail para publicar.

Cada campo tem rótulo, obrigatório e texto de ajuda. Para publicar, o formulário precisa de um campo de e-mail: sem ele, a resposta não identifica a pessoa. Cada mudança num formulário publicado cria a versão seguinte.

campos
campos    Texto curto · E-mail · Telefone (WhatsApp)
          Escolha única · Múltipla escolha
          Texto longo · Oculto

estado    Rascunho · Publicado · Pausado
publicar  pede um campo de e-mail
versão    cada mudança publicada é a versão seguinte

2 · Instalar

Uma linha no site, ou um link pronto.

O script desenha um componente com Shadow DOM, sem dependências, que herda a fonte e a cor do texto da página e não quebra o seu CSS. Sem site, o link pronto abre o formulário sozinho. Se quiser, limite a até 20 os domínios onde ele roda.

html
<script src="https://forms.worker.mymarketing.click/embed.js"
  data-form="<código do formulário>" defer></script>

<!-- ou, com o script já na página -->
<forms-embed form="<código do formulário>"></forms-embed>

ou o link pronto
https://forms.worker.mymarketing.click/f/<código>

3 · Contra robôs

Sem captcha. E o que for bloqueado aparece.

Um campo-isca escondido, um tempo mínimo conferido pelo servidor e um limite por endereço. Quem foi bloqueado vê a mesma tela de sucesso, para o robô não aprender. No painel, cada bloqueio tem o motivo e pode virar resposta.

bloqueio
isca        um campo escondido que só robô preenche
tempo       menos de 3 s até enviar: bloqueado
limite      5 por hora, por endereço, por formulário

bloqueado   contado, com o motivo, e visível
            "Aceitar como resposta", se era gente

4 · Origem

Cada resposta sabe de que página, campanha e link veio.

Campos ocultos se preenchem sozinhos pelo endereço da página: a origem, a campanha e o link curto que trouxe a pessoa. A resposta guarda também a página e a versão do formulário que ela viu.

origem
página         /aula-experimental
utm_source     instagram
utm_campaign   turma-de-novembro
lk             barro-2
versão         3, a que a pessoa viu

5 · Entregar

A resposta sai assinada. Se o destino recusar, ela espera.

Cada resposta vira um evento assinado no padrão Standard Webhooks, para os destinos que você escolher: o seu CRM, uma planilha, uma automação. Toda entrega é escrita numa caixa de saída antes de sair, e nada é descartado quando o destino falha.

entrega
form.viewed      form.submitted     form.consented
form.blocked     form.delivery_failed

falhou      nova tentativa em 1 min, 5 min, 30 min,
            2 h e 12 h; depois, reenviar à mão
401 · 403   retida, sem gastar tentativa

assinado: Standard Webhooks, cabeçalhos x-ccm

Quando o destino recusa

O destino caiu. A resposta espera.

A entrega que falha não some: ela fica na fila, com o motivo, até o destino aceitar ou uma pessoa decidir.

A caixa de saída

  • Escrita antes de sair. Toda entrega é primeiro uma linha na caixa de saída. Se o envio cair no meio, a linha continua lá.
  • Retida, não descartada. Quando o destino responde 401 ou 403, o segredo mudou do outro lado: a entrega espera, sem gastar tentativa, e um teste por hora confere se ele voltou.
  • Um clique para soltar. Cole o segredo novo em "Salvar e reenviar", e as entregas retidas saem.
  • Um aviso, nunca para quem falhou. Uma entrega parada gera um form.delivery_failed, uma vez, para os outros destinos — nunca para o que falhou.

Só um 410 é definitivo: o destino disse que aquele endereço não existe mais. O reenvio leva o mesmo id, e o outro lado não duplica.

O que o formulário sabe

Quem Abriu, Quem Enviou, e Que Versão Cada Um Viu.

Abriu, e enviou?

O próprio formulário conta quem abriu e quem enviou. Robô que se declara não conta como abertura.

Cada resposta sabe a versão

Mudar um formulário publicado cria a versão seguinte, que vale para quem abrir a partir dali. A resposta guarda a versão que a pessoa viu.

Bloqueio que não engana gente

O robô bloqueado não sabe que foi bloqueado. Você sabe: o painel mostra cada tentativa e o motivo, e uma pessoa pode aceitá-la como resposta.

Consentimento e LGPD

Quem marcou a caixa, e o texto que leu.

O consentimento é opcional em cada formulário. Quando ele existe, fica a prova; quando a pessoa pede para sair, apagar é um gesto só.

O que o Forms guarda

  • Uma caixa, nunca marcada sozinha. O texto do consentimento tem versões. Uma resposta antiga continua ligada ao texto que a pessoa viu.
  • A prova fica guardada. A versão do texto e o hash dele, a hora, a página, a versão do formulário, o hash do IP e o navegador declarado.
  • Só a pessoa consente. Uma resposta enviada por agente nunca leva consentimento: o servidor recusa.
  • Apagar uma resposta é de uma pessoa, no painel. Sai a resposta, a prova e o que ainda ia ser entregue; fica só um registro anônimo de que algo foi apagado.

Leitura técnica da lei, não parecer jurídico. A prova mostra o que o navegador declarou, não quem a pessoa é.

Model Context Protocol

O agente preenche. Só a pessoa consente.

São 7 ferramentas: quatro livres (listar os formulários, ler os campos, enviar uma resposta, ler as respostas) e três que viram pedido de aprovação (criar, mudar e publicar um formulário).

O que o servidor NÃO oferece

  • Consentir nunca. Uma resposta de agente com consentimento é recusada.
  • Apagar uma resposta não é ferramenta: é de uma pessoa, no painel.
  • Publicar sozinho também não. Criar, mudar e publicar esperam uma pessoa aprovar.

A conta vem do token e nunca de um argumento. O agente envia no máximo 5 respostas por hora em cada formulário.

Como o agente entra

Nenhuma chave no arquivo.

O token nasce no navegador, e só vale para este servidor.

OAuth 2.1

Você aprova no navegador, com o login da linha

Sem chave no comando. Na primeira chamada o servidor responde 401 apontando para os metadados; o cliente abre o navegador e você entra com o código do e-mail. O token só vale para este servidor. A chave frk_ é para sistemas que enviam respostas pela API.

bash
$ claude mcp add --transport http \
    marketing-forms \
    https://forms.worker.mymarketing.click/mcp

→ 401 com resource_metadata
→ abre o navegador, código no e-mail
→ token com aud = este servidor

O que muda na prática

O agente preenche pela mesma porta, e a resposta diz que foi ele

O agente lê os campos do formulário e envia uma resposta como qualquer pessoa, pela mesma porta, com o nome dele. A resposta fica marcada "por agente", sem consentimento, e vai para os mesmos destinos.

conversa
Você: "inscreve a Ana, que pediu pelo
direct, na aula experimental"

→ forms_list
  acha "Aula experimental"
→ forms_get_schema
  nome · e-mail · telefone
→ forms_submit
  resposta "por agente", sem consentimento

Sendo justo

Pesquisa longa é da ferramenta de pesquisa.
A resposta que vira trabalho pede outra coisa.

A ferramenta de pesquisa

Onde ela já resolve sozinha

Lógica condicional entre perguntas

Ela tem

Envio de arquivo

Ela tem

Modelos prontos de pesquisa

Ela tem

Relatório da pesquisa em gráficos

Ela tem

Fique com ela se

O formulário é uma pesquisa, e o resultado é o relatório

Para pesquisa longa e cheia de ramificação, ela foi feita para isso.

Marketing Forms

A resposta que vira trabalho

Para o formulário que precisa chegar a algum lugar: o seu CRM, a sua planilha, a sua automação. Cada resposta sai assinada, com a origem junto, e espera na fila quando o destino recusa.

  • Uma linha no site, ou um link pronto
  • Contra robôs, sem captcha
  • A página, a UTM e o link de cada resposta
  • Consentimento com prova
  • Retida quando o destino recusa
  • O agente preenche pelo MCP

A régua

O Que Ele Faz, e Onde Ele Para

Os limites ditos antes de você precisar perguntar.

Tipos de campo

Sete

Texto curto, e-mail, telefone, escolha única, múltipla escolha, texto longo e oculto. Sem lógica condicional e sem envio de arquivo.

Captcha

Nenhum

Isca, tempo mínimo de 3 s e limite de 5 por hora por endereço. O bloqueado fica 30 dias no painel.

IP de quem responde

Nunca em claro

Guardado como hash, com só o começo do endereço para exibir.

Para onde vai

Os destinos que você escolher

Webhook assinado, para até 20 endereços. Só respostas entram: o Forms não recebe eventos de outros sistemas.

E-mail de confirmação

Pelo Messages

Com a chave do Messages da sua conta, no máximo um por endereço, por formulário, a cada 24 horas. SMTP próprio ainda não envia.

Agente

Envia, nunca consente

Pelo servidor MCP. Criar, mudar e publicar um formulário viram pedido de aprovação; apagar uma resposta não é ferramenta.

FAQ

As Dúvidas, na Ordem Em Que Aparecem

O seu formulário precisa de algo que não está aqui?

Fala direto com quem escreveu o código. Um caso real muda o desenho.

Marketing · Forms

A resposta chega. Mesmo quando o destino recusa.

Uma linha no site, contra robôs sem captcha, e cada resposta entregue assinada.