{
  "id": "campanhas",
  "titulo": "Campanhas",
  "tela": "/app/campaigns",
  "resumo": "Mande uma mensagem de WhatsApp para uma lista de contatos que você escolhe, no ritmo do número, e acompanhe quem recebeu e quem respondeu.",
  "licoes": [
    {
      "id": "campanhas-conhecendo-a-tela",
      "titulo": "Conhecendo a tela de Campanhas",
      "objetivo": "Achar a tela, entender o que é uma campanha e ler a lista: em que situação cada uma está e para quantas pessoas ela fala.",
      "papel": "admin",
      "busca": [
        "campanhas",
        "mandar mensagem para vários",
        "disparo em massa",
        "lista de transmissão",
        "mensagem para todos os pacientes",
        "whatsapp em massa",
        "onde ficam as campanhas"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Onde fica a tela",
          "rota": "/app/crm",
          "texto": "Campanhas não aparece direto no menu lateral. No grupo \"CRM\" do menu, clique em \"Ver tudo em CRM\". Na parte \"O dia a dia da venda\" está o cartão \"Campanhas\". O caminho completo é: CRM › Ver tudo em CRM › Campanhas.",
          "dica": "Só gerente ou administrador consegue usar as campanhas. Se o cartão não aparecer, a empresa pode estar usando o \"Perfil de interface\" \"Simplificada\", que mostra menos áreas: quem administra muda isso em Configurações › Organização.",
          "destaques": [
            {
              "alvo": {
                "role": "link",
                "nome": "Ver tudo em CRM",
                "exato": true
              },
              "rotulo": "Ver tudo em CRM",
              "tipo": "numero"
            },
            {
              "alvo": {
                "role": "link",
                "nome": "^Campanhas ",
                "regex": true
              },
              "rotulo": "Abrir as Campanhas",
              "tipo": "caixa"
            }
          ],
          "clicar": {
            "role": "link",
            "nome": "^Campanhas ",
            "regex": true
          }
        },
        {
          "id": "p2",
          "titulo": "O que é uma campanha",
          "rota": "/app/campaigns",
          "texto": "Uma campanha manda a mesma mensagem de WhatsApp para uma lista de contatos que você escolhe, como \"os pacientes do pilates\". Num número conectado pelo QR Code, as mensagens saem aos poucos, no máximo uma por minuto: é isso que protege o número de ser bloqueado pelo WhatsApp. Cada linha é uma campanha. Embaixo do nome aparece para quantos contatos ela fala e quantos ficaram de fora. À direita vem uma data, que muda com a situação: quando a campanha foi criada, quando começou ou quando terminou.",
          "destaques": [
            {
              "alvo": {
                "role": "link",
                "nome": "Reativação de pacientes do pilates"
              },
              "rotulo": "Uma campanha",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "contatos na lista",
                "dentro": {
                  "role": "link",
                  "nome": "Reativação de pacientes do pilates"
                }
              },
              "rotulo": "Quantos recebem e quantos ficaram de fora",
              "tipo": "numero"
            },
            {
              "alvo": {
                "texto": "terminou",
                "dentro": {
                  "role": "link",
                  "nome": "Reativação de pacientes do pilates"
                }
              },
              "rotulo": "Quando terminou",
              "tipo": "numero"
            }
          ]
        },
        {
          "id": "p3",
          "titulo": "A situação de cada campanha",
          "texto": "O selo à direita diz em que pé a campanha está. \"Rascunho\": foi criada, mas a lista de quem recebe ainda não foi montada. Depois que você prepara a lista, ela fica \"Pronta para iniciar\". \"Enviando\": as mensagens estão saindo. \"Pausada\": o envio parou e espera alguém retomar. \"Concluída\": a campanha terminou de enviar. \"Cancelada\": alguém desistiu dela, e quem ainda não tinha recebido não recebe mais.",
          "destaques": [
            {
              "alvo": {
                "texto": "Rascunho",
                "exato": true,
                "dentro": {
                  "role": "link",
                  "nome": "Convite para a avaliação odontológica"
                }
              },
              "rotulo": "Lista ainda não montada",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "Enviando",
                "exato": true,
                "dentro": {
                  "role": "link",
                  "nome": "Avaliação nutricional de outubro"
                }
              },
              "rotulo": "Mensagens saindo",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "Pausada",
                "exato": true,
                "dentro": {
                  "role": "link",
                  "nome": "Retorno da fisioterapia"
                }
              },
              "rotulo": "Envio parado",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "Concluída",
                "exato": true,
                "dentro": {
                  "role": "link",
                  "nome": "Reativação de pacientes do pilates"
                }
              },
              "rotulo": "Terminou de enviar",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p4",
          "titulo": "Filtrar pela situação",
          "texto": "Quando a lista crescer, use o seletor \"Situação\" para ver só as campanhas de um tipo. Aqui escolhemos \"Concluída\": sobram só as campanhas que já terminaram. Para ver todas de novo, escolha \"Todas\".",
          "antes": [
            {
              "acao": "selecionar",
              "alvo": {
                "rotulo": "Situação",
                "exato": true
              },
              "opcao": "Concluída"
            },
            {
              "acao": "esperar",
              "ms": 800
            }
          ],
          "destaques": [
            {
              "alvo": {
                "rotulo": "Situação",
                "exato": true
              },
              "rotulo": "Escolha a situação",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "link",
                "nome": "Reativação de pacientes do pilates"
              },
              "rotulo": "Só as concluídas",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p5",
          "titulo": "Os botões do alto",
          "texto": "\"Nova campanha\" abre o formulário para montar uma campanha; a lição \"Criar uma campanha\" mostra o passo a passo. \"Configuração\" guarda o que vale para todas as campanhas da empresa: até quando uma resposta conta para a campanha e a lista de números que nenhuma campanha alcança.",
          "destaques": [
            {
              "alvo": {
                "role": "link",
                "nome": "Nova campanha",
                "exato": true
              },
              "rotulo": "Montar uma campanha",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "link",
                "nome": "Configuração",
                "exato": true,
                "dentro": {
                  "css": "main"
                }
              },
              "rotulo": "Vale para todas",
              "tipo": "caixa"
            }
          ],
          "clicar": {
            "role": "link",
            "nome": "Configuração",
            "exato": true,
            "dentro": {
              "css": "main"
            }
          }
        },
        {
          "id": "p6",
          "titulo": "Até quando uma resposta conta",
          "texto": "A tela \"Configuração de campanhas\" começa por \"Padrões desta organização\". O campo \"Contar como resposta até (horas depois do envio)\" diz por quanto tempo uma mensagem do contato conta como resposta à campanha. Ele vem com 72 horas, ou seja, três dias. O que chega depois disso é tratado como conversa nova. A mudança vale para as respostas que chegarem dali em diante, inclusive de campanhas que já foram enviadas. Para gravar, clique em \"Salvar padrões\".",
          "dica": "Os campos de ritmo desta parte ficam guardados, mas por enquanto a tela \"Nova campanha\" não os preenche sozinha: ajuste o ritmo em cada campanha, na parte \"Ritmo desta campanha\".",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "link",
                "nome": "Configuração",
                "exato": true,
                "dentro": {
                  "css": "main"
                }
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "heading",
                "nome": "Configuração de campanhas",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "role": "heading",
                "nome": "Padrões desta organização",
                "exato": true
              },
              "rotulo": "Vale para todas as campanhas",
              "tipo": "numero"
            },
            {
              "alvo": {
                "rotulo": "Contar como resposta até (horas depois do envio)",
                "exato": true
              },
              "rotulo": "72 horas = 3 dias",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Salvar padrões",
                "exato": true
              },
              "rotulo": "Gravar",
              "tipo": "numero"
            }
          ]
        },
        {
          "id": "p7",
          "titulo": "Números que nenhuma campanha alcança",
          "texto": "No fim da tela fica a \"Lista de exclusão\": os números que nenhuma campanha alcança, como o de um laboratório parceiro ou o de um paciente que prefere ser avisado por ligação. Digite o número em \"Telefone com DDI e DDD\" (o 55 do Brasil, depois o DDD), escreva o motivo se quiser e clique em \"Excluir das campanhas\". Isso não bloqueia a pessoa: se ela escrever, o atendimento responde normalmente. A lista mostra só os quatro últimos dígitos de cada número. Para devolver um número às campanhas, clique em \"Tirar da lista\" na linha dele.",
          "dica": "Mais acima, \"Textos salvos\" guarda com um nome as mensagens que a equipe costuma usar. Por enquanto, a tela \"Nova campanha\" não oferece escolher um texto salvo.",
          "antes": [
            {
              "acao": "rolar",
              "alvo": {
                "role": "heading",
                "nome": "Lista de exclusão",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "rotulo": "Telefone com DDI e DDD",
                "exato": true
              },
              "rotulo": "Número com 55 e DDD",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Excluir das campanhas",
                "exato": true
              },
              "rotulo": "Pôr na lista",
              "tipo": "numero"
            },
            {
              "alvo": {
                "texto": "Prefere ser avisada por ligação"
              },
              "rotulo": "Número já excluído",
              "tipo": "caixa"
            }
          ]
        }
      ]
    },
    {
      "id": "campanhas-criar",
      "titulo": "Criar uma campanha",
      "objetivo": "Montar uma campanha do começo, com nome, número, público, mensagem e ritmo, e salvar como rascunho sem enviar nada.",
      "papel": "admin",
      "busca": [
        "criar campanha",
        "nova campanha",
        "mensagem para um grupo de pacientes",
        "escolher quem recebe",
        "campanha por etiqueta",
        "mensagem com o nome do paciente",
        "quantas pessoas vão receber"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Começar uma campanha",
          "rota": "/app/campaigns",
          "texto": "Clique em \"Nova campanha\", no canto de cima, à direita. Nada é enviado nesta etapa: o formulário só cria um rascunho, que você ainda vai conferir antes de qualquer mensagem sair.",
          "destaques": [
            {
              "alvo": {
                "role": "link",
                "nome": "Nova campanha",
                "exato": true
              },
              "rotulo": "Clique aqui",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "role": "link",
            "nome": "Nova campanha",
            "exato": true
          }
        },
        {
          "id": "p2",
          "titulo": "Nome, número e base legal",
          "texto": "Em \"Nome da campanha\", escreva um nome que ajude a equipe a reconhecê-la; o paciente não vê esse nome. Em \"Enviar pelo número\", escolha o WhatsApp da clínica que vai mandar as mensagens: a lista traz os números cadastrados em Conexões. Em \"Base legal do envio\", diga por que a clínica pode escrever para essas pessoas, como pede a LGPD, a lei de proteção de dados. \"Consentimento\" serve quando elas pediram para receber. \"Interesse legítimo\" serve quando a clínica tem uma avaliação por escrito que justifica o contato; nesse caso a tela pede a referência dessa avaliação.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "link",
                "nome": "Nova campanha",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "heading",
                "nome": "Nova campanha",
                "exato": true
              }
            },
            {
              "acao": "fill",
              "alvo": {
                "rotulo": "Nome da campanha",
                "exato": true
              },
              "valor": "Lembrete de retorno — pacientes de convênio"
            },
            {
              "acao": "selecionar",
              "alvo": {
                "rotulo": "Enviar pelo número",
                "exato": true
              },
              "opcao": "Recepção Bem Viver"
            }
          ],
          "destaques": [
            {
              "alvo": {
                "rotulo": "Nome da campanha",
                "exato": true
              },
              "rotulo": "Nome para a equipe",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "rotulo": "Enviar pelo número",
                "exato": true
              },
              "rotulo": "Número que envia",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "group",
                "nome": "Base legal do envio",
                "exato": true
              },
              "rotulo": "Por que pode escrever",
              "tipo": "caixa"
            }
          ],
          "dica": "Se você escolher o número oficial do WhatsApp (o da Meta), a parte \"Mensagem\" muda: em vez de escrever o texto, você escolhe um modelo já aprovado pela Meta. A lição mostra o número conectado pelo QR Code."
        },
        {
          "id": "p3",
          "titulo": "Quem vai receber",
          "texto": "Em \"Público\" você escolhe quem entra na campanha, com pelo menos um critério. Aqui usamos \"Com alguma destas etiquetas\" e escrevemos convenio: entram os contatos que têm essa etiqueta. Escreva a etiqueta igual ao cadastro e separe várias por vírgula. Também dá para deixar de fora quem tem uma etiqueta (\"Sem nenhuma destas etiquetas\"), pegar quem não fala com a clínica há alguns dias (\"Sem falar com a gente há (dias)\") ou quem tem negócio num funil (\"Com negócio no funil\"). O campo \"Máximo de contatos nesta campanha\" já vem com 100.",
          "antes": [
            {
              "acao": "fill",
              "alvo": {
                "rotulo": "Com alguma destas etiquetas",
                "exato": true
              },
              "valor": "convenio"
            }
          ],
          "destaques": [
            {
              "alvo": {
                "rotulo": "Com alguma destas etiquetas",
                "exato": true
              },
              "rotulo": "Quem tem a etiqueta",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "rotulo": "Sem nenhuma destas etiquetas",
                "exato": true
              },
              "rotulo": "Deixar de fora",
              "tipo": "numero"
            },
            {
              "alvo": {
                "rotulo": "Sem falar com a gente há (dias)",
                "exato": true
              },
              "rotulo": "Sumidos há dias",
              "tipo": "numero"
            },
            {
              "alvo": {
                "rotulo": "Com negócio no funil",
                "exato": true
              },
              "rotulo": "Por funil",
              "tipo": "numero"
            }
          ]
        },
        {
          "id": "p4",
          "titulo": "Quantas pessoas a campanha pega",
          "texto": "Clique em \"Ver quantas pessoas\" para contar antes de salvar. A conta mostra quantos podem receber e quantos ficam de fora, com o motivo de cada grupo. Aqui, 1 pode receber e 1 fica de fora por \"Já está em outra campanha ainda não concluída\": a Fernanda já está na lista de uma campanha que ainda está enviando, e ninguém entra em duas campanhas ao mesmo tempo. Outros motivos comuns são o contato sem telefone, quem pediu para não receber mensagens e os números da lista de exclusão.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Ver quantas pessoas",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "texto": "podem receber"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "role": "button",
                "nome": "Ver quantas pessoas",
                "exato": true
              },
              "rotulo": "Contar",
              "tipo": "numero"
            },
            {
              "alvo": {
                "css": "p:has(> strong)"
              },
              "rotulo": "Recebem e ficam de fora",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "Já está em outra campanha ainda não concluída"
              },
              "rotulo": "O motivo",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p5",
          "titulo": "A mensagem",
          "texto": "Em \"Mensagem\", escreva como se falasse com uma pessoa só. Os botões logo abaixo põem, no fim do texto, um campo que muda para cada contato: {{nome}} é o nome do cadastro, {{primeiro_nome}} é só o primeiro nome e {{saudacao}} vira \"Bom dia\", \"Boa tarde\" ou \"Boa noite\", conforme a hora do envio. Quem não tiver o dado que a mensagem usa fica de fora da lista, com o motivo anotado. Para não perder ninguém por falta de dado, ponha um texto de reserva entre aspas: {{primeiro_nome|\"paciente\"}} usa \"paciente\" quando o cadastro não tem o nome.",
          "antes": [
            {
              "acao": "fill",
              "alvo": {
                "rotulo": "Texto da mensagem",
                "exato": true
              },
              "valor": "{{saudacao}}, {{primeiro_nome}}! Aqui é da Clínica Bem Viver. Seu retorno pelo convênio já pode ser agendado. Quer que a gente veja um horário para você?"
            }
          ],
          "destaques": [
            {
              "alvo": {
                "rotulo": "Texto da mensagem",
                "exato": true
              },
              "rotulo": "O texto",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "{{primeiro_nome}}",
                "exato": true
              },
              "rotulo": "Muda para cada contato",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "{{saudacao}}",
                "exato": true
              },
              "rotulo": "Bom dia, boa tarde ou boa noite",
              "tipo": "numero"
            }
          ]
        },
        {
          "id": "p6",
          "titulo": "Quem atende e o ritmo",
          "texto": "Em \"Quem responder\" dá para escolher em que funil nasce o negócio de quem responder a esta campanha e qual agente de IA atende essa resposta. Em branco, vale o de sempre: o negócio nasce no funil do número e quem atende é o agente publicado nele. Em \"Ritmo desta campanha\", deixe em branco para usar o ritmo do número, que fica em Conexões › Proteção de envio. O que você puser aqui só pode deixar a campanha mais devagar. Com tudo pronto, clique em \"Salvar rascunho\".",
          "antes": [
            {
              "acao": "rolar",
              "alvo": {
                "role": "button",
                "nome": "Salvar rascunho",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "rotulo": "Quem atende a resposta",
                "exato": true
              },
              "rotulo": "Em branco = agente do número",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "heading",
                "nome": "Ritmo desta campanha",
                "exato": true
              },
              "rotulo": "Em branco = ritmo do número",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Salvar rascunho",
                "exato": true
              },
              "rotulo": "Guardar o rascunho",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "role": "button",
            "nome": "Salvar rascunho",
            "exato": true
          }
        },
        {
          "id": "p7",
          "titulo": "O rascunho está salvo",
          "texto": "Ao salvar, a tela abre a campanha nova com o selo \"Rascunho\". Nenhuma mensagem saiu. Enquanto for rascunho, \"Editar\" muda o que você escreveu. O próximo passo é \"Preparar lista\", que monta a lista de quem vai receber: é a lição \"Preparar a lista e iniciar o envio\".",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Salvar rascunho",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "heading",
                "nome": "Lembrete de retorno — pacientes de convênio",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "texto": "Rascunho",
                "exato": true
              },
              "rotulo": "Ainda nada saiu",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "link",
                "nome": "Editar",
                "exato": true
              },
              "rotulo": "Mudar o rascunho",
              "tipo": "numero"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Preparar lista",
                "exato": true
              },
              "rotulo": "Próximo passo",
              "tipo": "caixa"
            }
          ]
        }
      ]
    },
    {
      "id": "campanhas-preparar-e-iniciar",
      "titulo": "Preparar a lista e iniciar o envio",
      "objetivo": "Transformar um rascunho em lista de verdade, conferir quem ficou de fora e por quê, mandar um teste e só então começar o envio.",
      "papel": "admin",
      "busca": [
        "preparar lista",
        "iniciar campanha",
        "começar o envio",
        "enviar teste",
        "quem ficou de fora",
        "por que não recebeu",
        "disparar campanha"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Abrir o rascunho",
          "rota": "/app/campaigns",
          "texto": "Na lista, clique na campanha em \"Rascunho\" que você quer enviar. Aqui é o \"Convite para a avaliação odontológica\", que a clínica montou para os contatos sem a etiqueta convenio.",
          "destaques": [
            {
              "alvo": {
                "role": "link",
                "nome": "Convite para a avaliação odontológica"
              },
              "rotulo": "O rascunho",
              "tipo": "caixa"
            }
          ],
          "clicar": {
            "role": "link",
            "nome": "Convite para a avaliação odontológica"
          }
        },
        {
          "id": "p2",
          "titulo": "O rascunho por dentro",
          "texto": "No alto ficam o nome, o selo da situação e só os botões que fazem sentido agora. Num rascunho são \"Editar\", \"Preparar lista\", \"Cancelar campanha\" e \"Duplicar\". Os números \"Na lista\", \"Enviadas\", \"Entregues\" e \"Responderam\" ainda estão zerados, porque a lista de quem recebe ainda não existe. Ela só é montada quando você clica em \"Preparar lista\".",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "link",
                "nome": "Convite para a avaliação odontológica"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "heading",
                "nome": "Convite para a avaliação odontológica",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "role": "link",
                "nome": "Editar",
                "exato": true
              },
              "rotulo": "Mudar o rascunho",
              "tipo": "numero"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Preparar lista",
                "exato": true
              },
              "rotulo": "Montar a lista",
              "tipo": "seta"
            },
            {
              "alvo": {
                "css": "div:has(> p:text-is('Na lista'))"
              },
              "rotulo": "Ainda zerado",
              "tipo": "caixa"
            }
          ],
          "clicar": {
            "role": "button",
            "nome": "Preparar lista",
            "exato": true
          }
        },
        {
          "id": "p3",
          "titulo": "A lista pronta",
          "texto": "Ao clicar em \"Preparar lista\", o sistema procura os contatos do público e confere, um por um, quem pode receber. A campanha passa a \"Pronta para iniciar\", e \"Na lista\" mostra quantos vão receber: aqui, 3. Nenhuma mensagem saiu ainda. Os botões também mudaram: agora aparecem \"Enviar teste\" e \"Iniciar envio\".",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Preparar lista",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "texto": "Pronta para iniciar",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "texto": "Pronta para iniciar",
                "exato": true
              },
              "rotulo": "Lista montada",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "css": "div:has(> p:text-is('Na lista'))"
              },
              "rotulo": "Quantos vão receber",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Enviar teste",
                "exato": true
              },
              "rotulo": "Teste",
              "tipo": "numero"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Iniciar envio",
                "exato": true
              },
              "rotulo": "Começar",
              "tipo": "numero"
            }
          ]
        },
        {
          "id": "p4",
          "titulo": "Quem ficou de fora, e por quê",
          "texto": "Em \"Quem está na lista\" aparece cada contato do público. \"Na fila\" quer dizer que a pessoa vai receber. Nos outros aparece o motivo de ter ficado de fora, como \"Sem telefone no cadastro\", \"Pediu para não receber mensagens\", \"Está na lista de exclusão de campanhas\" ou \"Já está em outra campanha ainda não concluída\". Para ver só quem ficou de fora, escolha \"Fora da lista\" no seletor ao lado do título.",
          "dica": "Depois de preparada, a campanha não volta a ser editada pela tela. Se a lista ou a mensagem estiverem erradas, clique em \"Cancelar campanha\", confirme e depois clique em \"Duplicar\": a cópia nasce como rascunho, pronta para corrigir.",
          "antes": [
            {
              "acao": "rolar",
              "alvo": {
                "role": "heading",
                "nome": "Quem está na lista",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "texto": "Sem telefone no cadastro",
                "exato": true
              },
              "rotulo": "Sem telefone",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "Pediu para não receber mensagens",
                "exato": true
              },
              "rotulo": "Pediu para parar",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "Está na lista de exclusão de campanhas",
                "exato": true
              },
              "rotulo": "Lista de exclusão",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "rotulo": "Filtrar destinatários",
                "exato": true
              },
              "rotulo": "Filtrar a lista",
              "tipo": "numero"
            }
          ]
        },
        {
          "id": "p5",
          "titulo": "Mandar um teste antes",
          "texto": "Antes de começar, mande um teste para ver como a mensagem chega. Clique em \"Enviar teste\" e busque quem vai receber, de preferência você mesmo, cadastrado como contato. O teste sai pelo mesmo número e com o mesmo texto do envio de verdade, e não entra nos números da campanha. Atenção: \"Enviar para este\" manda a mensagem na hora, sem pedir confirmação. Por isso, não escolha um paciente.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Enviar teste",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "heading",
                "nome": "Enviar teste",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "rotulo": "Contato do teste",
                "exato": true
              },
              "rotulo": "Busque quem recebe o teste",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Enviar para este",
                "exato": true,
                "n": 0
              },
              "rotulo": "Envia na hora",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Fechar",
                "exato": true
              },
              "rotulo": "Fechar sem enviar",
              "tipo": "numero"
            }
          ],
          "clicar": {
            "role": "button",
            "nome": "Fechar",
            "exato": true
          }
        },
        {
          "id": "p6",
          "titulo": "Começar o envio",
          "texto": "Quando estiver tudo certo, clique em \"Iniciar envio\". A tela pergunta antes quantas pessoas vão receber e avisa que o envio segue o ritmo do número e pode levar horas. Só ao clicar em \"Confirmar\" as mensagens começam a sair, e a campanha passa a \"Enviando\". \"Voltar\" desiste sem enviar nada.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Fechar",
                "exato": true
              }
            },
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Iniciar envio",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "button",
                "nome": "Confirmar",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "texto": "Começar a enviar para"
              },
              "rotulo": "A pergunta",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Confirmar",
                "exato": true
              },
              "rotulo": "Começa a enviar",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Voltar",
                "exato": true
              },
              "rotulo": "Desistir",
              "tipo": "numero"
            }
          ]
        }
      ]
    },
    {
      "id": "campanhas-acompanhar",
      "titulo": "Acompanhar, pausar e repetir uma campanha",
      "objetivo": "Ler os números de uma campanha em andamento, ver quem respondeu, ajustar o ritmo, pausar e mandar de novo com \"Duplicar\".",
      "papel": "admin",
      "busca": [
        "acompanhar campanha",
        "quem respondeu",
        "pausar campanha",
        "parar o envio",
        "resultado da campanha",
        "repetir campanha",
        "duplicar campanha",
        "mensagens entregues"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Abrir a campanha que está enviando",
          "rota": "/app/campaigns",
          "texto": "Clique na campanha com o selo \"Enviando\". Aqui é a \"Avaliação nutricional de outubro\", que começou a sair há algumas horas.",
          "destaques": [
            {
              "alvo": {
                "role": "link",
                "nome": "Avaliação nutricional de outubro"
              },
              "rotulo": "Campanha em andamento",
              "tipo": "caixa"
            }
          ],
          "clicar": {
            "role": "link",
            "nome": "Avaliação nutricional de outubro"
          }
        },
        {
          "id": "p2",
          "titulo": "Os números da campanha",
          "texto": "Os quatro quadros resumem o envio. \"Na lista\": quantos vão receber. \"Enviadas\": quantas já saíram. \"Entregues\": quantas chegaram ao celular da pessoa. \"Responderam\": quantos responderam dentro do prazo definido em \"Configuração\" (72 horas, se ninguém mudou). Em \"Progresso\", a barra mostra quanto da lista já foi feito; embaixo aparecem quantas mensagens ainda não foram enviadas, quantas falharam e quantos pediram para parar. Enquanto a campanha está enviando, os números se atualizam sozinhos a cada 10 segundos.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "link",
                "nome": "Avaliação nutricional de outubro"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "heading",
                "nome": "Avaliação nutricional de outubro",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "css": "div.grid:has(p:text-is('Enviadas'))"
              },
              "rotulo": "Os quatro números",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "progressbar",
                "nome": "Progresso do envio",
                "exato": true
              },
              "rotulo": "Quanto já foi",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "pediram para parar"
              },
              "rotulo": "Falta, falhou, pediu para parar",
              "tipo": "numero"
            }
          ]
        },
        {
          "id": "p3",
          "titulo": "Quem respondeu",
          "texto": "Em \"Quem está na lista\", cada pessoa aparece com a situação dela: \"Na fila\" (ainda vai receber), \"Enviada\", \"Entregue\", \"Lida\", \"Respondeu\" ou o motivo de ter ficado de fora. O seletor ao lado do título filtra a lista. Aqui escolhemos \"Responderam\" e sobrou o Pedro. A resposta dele chega na Inbox, como qualquer mensagem.",
          "antes": [
            {
              "acao": "selecionar",
              "alvo": {
                "rotulo": "Filtrar destinatários",
                "exato": true
              },
              "opcao": "Responderam"
            },
            {
              "acao": "aguardar",
              "alvo": {
                "texto": "Respondeu",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "rotulo": "Filtrar destinatários",
                "exato": true
              },
              "rotulo": "Filtro: Responderam",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "Respondeu",
                "exato": true
              },
              "rotulo": "O Pedro respondeu",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p4",
          "titulo": "Deixar o envio mais devagar",
          "texto": "Em \"Ritmo desta campanha\" dá para deixar o envio mais devagar mesmo com ele em andamento. Esta campanha espera pelo menos 120 segundos entre uma mensagem e outra, manda no máximo 40 por dia e só envia das 8h às 19h. Campo em branco usa o ritmo do número. Depois de mudar, clique em \"Salvar ritmo\".",
          "destaques": [
            {
              "alvo": {
                "rotulo": "Intervalo mínimo entre mensagens (segundos)",
                "exato": true
              },
              "rotulo": "Espera entre mensagens",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "rotulo": "Máximo por dia",
                "exato": true
              },
              "rotulo": "Teto do dia",
              "tipo": "numero"
            },
            {
              "alvo": {
                "rotulo": "Enviar só a partir das (hora)",
                "exato": true
              },
              "rotulo": "Horário de envio",
              "tipo": "numero"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Salvar ritmo",
                "exato": true
              },
              "rotulo": "Gravar",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p5",
          "titulo": "Pausar e retomar",
          "texto": "Para parar o envio por um tempo, clique em \"Pausar\", no alto. A campanha fica \"Pausada\" e ninguém mais recebe até alguém clicar em \"Retomar\". Uma mensagem que já estava saindo na hora da pausa ainda pode chegar. Para desistir de vez, use \"Cancelar campanha\": a tela pede confirmação, e depois quem ainda não recebeu não recebe mais e a campanha não volta a rodar. A campanha também pode ficar \"Pausada\" sozinha, quando o envio inteiro falha. Nesse caso aparece \"Último problema\" embaixo do nome, dizendo o que houve: corrija a causa e clique em \"Retomar\".",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Pausar",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "button",
                "nome": "Retomar",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "texto": "Pausada",
                "exato": true
              },
              "rotulo": "Envio parado",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Retomar",
                "exato": true
              },
              "rotulo": "Voltar a enviar",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Cancelar campanha",
                "exato": true
              },
              "rotulo": "Desistir de vez",
              "tipo": "numero"
            }
          ]
        },
        {
          "id": "p6",
          "titulo": "Mandar de novo com Duplicar",
          "rota": "/app/campaigns",
          "texto": "Uma campanha \"Concluída\" não envia de novo. Para repetir a ideia, abra a campanha e clique em \"Duplicar\". A cópia nasce como \"Rascunho\", com a mesma mensagem, o mesmo público e o mesmo ritmo, mas sem a lista e sem os números da campanha antiga. O que estava em \"Quem responder\" (funil e agente) e os números extras não vêm junto: abra \"Editar\" e escolha de novo.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "link",
                "nome": "Reativação de pacientes do pilates"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "heading",
                "nome": "Reativação de pacientes do pilates",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "texto": "Concluída",
                "exato": true
              },
              "rotulo": "Já terminou",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Duplicar",
                "exato": true
              },
              "rotulo": "Fazer uma cópia",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "role": "button",
            "nome": "Duplicar",
            "exato": true
          }
        },
        {
          "id": "p7",
          "titulo": "A cópia na lista",
          "texto": "Depois de clicar em \"Duplicar\", a tela continua na campanha antiga, sem aviso. A cópia aparece na lista de Campanhas, com \"(cópia)\" no fim do nome e o selo \"Rascunho\". Abra a cópia, use \"Editar\" para trocar o nome e revisar a mensagem, e siga a lição \"Preparar a lista e iniciar o envio\".",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Duplicar",
                "exato": true
              }
            },
            {
              "acao": "esperar",
              "ms": 1500
            },
            {
              "acao": "click",
              "alvo": {
                "role": "link",
                "nome": "Campanhas",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "link",
                "nome": "Reativação de pacientes do pilates (cópia)"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "role": "link",
                "nome": "Reativação de pacientes do pilates (cópia)"
              },
              "rotulo": "A cópia",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "Rascunho",
                "exato": true,
                "dentro": {
                  "role": "link",
                  "nome": "Reativação de pacientes do pilates (cópia)"
                }
              },
              "rotulo": "Nasce como rascunho",
              "tipo": "numero"
            }
          ]
        }
      ]
    }
  ]
}
