Modelo de Carta de Cobrança no Power Automate: Gere uma carta em PDF para cada caso pendente no SharePoint com o PDF4me

PDF4me Generate Document Single é uma ação do Power Automate que mescla dados JSON em um modelo Word e retorna um documento finalizado. Apontada para uma lista do SharePoint de processos jurídicos, ela transforma um modelo de carta de notificação extrajudicial em uma carta em PDF para cada processo marcado como concluído, arquiva cada carta na pasta do processo correspondente e atualiza o status do processo.
Ao pesquisar por um modelo de carta de cobrança, a primeira página geralmente remete a centros de autoajuda judicial, sites de assistência jurídica e bancos de formulários. Os sites California Courts, WashingtonLawHelp e LawDepot explicam como redigir uma carta, e o fazem de forma clara e objetiva. Nenhum deles, porém, aborda a situação de um escritório que envia trinta cartas por semana, onde a carta em si é a parte fácil, mas a burocracia envolvida não: copiar os dados do cliente, da parte contrária e o valor da indenização do processo, salvar o PDF na pasta correta e lembrar de marcar o caso como concluído. Este fluxo de trabalho automatiza essa parte administrativa e deixa o texto onde ele deve estar: em um documento Word controlado pelos advogados.
Marque um caso como Ready for Demand Letter no SharePoint e execute o fluxo. Cada caso marcado como pronto retorna com uma carta de cobrança em PDF em sua própria pasta e um novo status, e a equipe recebe um e-mail informando quantas cartas foram enviadas. A carta em si é um documento Word com seis marcadores, preenchidos a partir do registro do caso pelo PDF4me. Onze ações, cerca de oito segundos para um lote de dois casos.
Perguntas e respostas baseadas no porquê
Por que criar a carta a partir de um modelo Word? Porque quem criou o texto já trabalha no Word. Um advogado pode alterar um parágrafo, atualizar o cabeçalho ou adicionar uma cláusula sem afetar o fluxo do documento, e os marcadores de posição permanecem inalterados. O PDF4me lê o arquivo .docx diretamente, então nada precisa ser reconstruído em HTML primeiro.
Por que filtrar por uma coluna de status em vez de disparar a consulta a cada novo caso? Porque um caso não está pronto para uma carta de notificação extrajudicial no momento em que é criado. A coluna de status permite que um assistente jurídico decida quando os fatos estão completos, e a consulta seleciona exatamente essas linhas. Alterar o status logo após o arquivamento é o que impede que o mesmo caso receba uma segunda carta na próxima execução.
Por que atribuir uma pasta específica a cada processo? Porque é assim que os arquivos de processos são organizados. O caminho da pasta utiliza o ID do processo, portanto, o arquivo MAT-1001.pdf é salvo em DemandLetters/MAT-1001, junto com todos os outros documentos daquele caso, e qualquer pessoa que abrir o processo encontrará a carta sem precisar pesquisar.
Por que contar as letras em uma variável? Porque o e-mail de resumo deve informar o que esta execução realmente produziu. DocIndex aumenta em um ao final de cada passagem, após a carta ser arquivada e o status ser alterado, portanto, o número na linha de assunto é a quantidade de cartas que foram processadas integralmente.
O que você receberá
Entrada: uma lista do SharePoint com os processos, cada um contendo um ID do processo, cliente, data do incidente, parte contrária, valor da indenização, advogado e status. Saída: uma carta de notificação extrajudicial em PDF para cada processo, marcada como pronta em /Shared Documents/DemandLetters/<matter ID>, o status do processo alterado para Demand Letter Generated e um e-mail de resumo para o lote.

MAT-1001.pdf está em sua própria pasta, elaborado pela equipe responsável pelo fluxo de trabalho.

Resumo de um lote de um único caso. A contagem provém da variável DocIndex.
Do que você precisa
- Power Automate. Abra o Power Automate. Um fluxo na nuvem com conectores padrão. SharePoint, Office 365 Outlook e PDF4me não exigem plano premium.
- Chave da API do PDF4me. Obtenha sua chave da API. Este fluxo usa uma conexão PDF4me, PDF4me PDF.
- Uma lista de processos do SharePoint. A lista capturada chama-se Matters. Sua coluna Title contém o ID do processo e é renomeada para MatterID na visualização da lista. Há também colunas para ClientName, IncidentDate, OpposingParty, DamagesAmount e Attorney, além de uma coluna de Status com opções como Rascunho, Ready for Demand Letter e Demand Letter Generated.
- Uma biblioteca de documentos para o modelo e as cartas. O modelo está em Shared Documents e as cartas em Shared Documents/DemandLetters.
- Modelo de carta de cobrança demand-letter-template.docx). Seis espaços reservados na sintaxe do modelo PDF4me. O texto é um exemplo e não constitui aconselhamento jurídico; portanto, solicite a aprovação de um advogado antes de enviá-lo a qualquer pessoa.
- A carta finalizada. mat-1001-demand-letter.pdf. Exatamente o que o fluxo produziu para a matéria MAT-1001.
Primeiro, baixe os exemplos. Carregue o modelo em Shared Documents como DemandLetterTemplate.docx, adicione um processo com o status Ready for Demand Letter e execute o fluxo. Em seguida, coloque sua carta ao lado da carta finalizada. Se os nomes, o valor e o ID do processo coincidirem, todo o mapeamento está correto.
O Fluxo em Resumo
- Manually trigger a flow inicia um lote.
- Get items lê a lista
Matterscom o Filter QueryStatus eq 'Ready for Demand Letter'. - Select mapeia cada assunto para os seis campos do modelo.
- Get file content é
/Shared Documents/DemandLetterTemplate.docx. - Initialize variable cria
DocIndexcomo um inteiro definido como0. - Apply to each loop sobre os itens de Get items.
- PDF - Generate Document (Single) (PDF4me PDF) preenche o modelo com Output Type
PDF. - Create file (SharePoint) salva a carta em
/Shared Documents/DemandLetters/<matter ID>. - Update item (SharePoint) define Status como
Demand Letter Generated. - Increment variable adiciona
1aoDocIndex. - Send an email (V2) (Office 365 Outlook) envia o resumo do lote.
Visão geral completa do fluxo

Um lote de duas tarefas. O loop levou sete segundos para ambas as passagens, e a gravação no SharePoint é a etapa mais lenta, com dois segundos por letra.
Passo 1: Como iniciar um lote de cartas de cobrança sob demanda?
Fluxo até agora: nada ainda, este é o gatilho.
Um gatilho manual se adequa à forma como as cartas são realmente enviadas: alguém revisa os documentos marcados como prontos e, em seguida, pressiona o botão.
- Crie um Instant cloud flow e selecione Manually trigger a flow.
- Deixe sem nenhuma entrada. A própria lista decide quais itens estarão no lote.
Configuração manual do gatilho

Nenhuma entrada. A seleção ocorre na próxima etapa, na coluna Status.
Dica: Nada no restante do fluxo depende de quem o iniciou. Troque o gatilho por Recurrence e o mesmo fluxo se tornará um lote noturno que processa tudo o que foi marcado como pronto durante o dia.
Passo 2: Como selecionar apenas os assuntos que estão prontos para uma carta de notificação extrajudicial?
Fluxo até o momento: Manually trigger a flow.
O comando Get items realiza a seleção, portanto o fluxo nunca precisa verificar o status por si só.
- Adicionar SharePoint > Get items.
- Configurar:
- Site Address:
PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints - List Name:
Matters
- Site Address:
- Abra Advanced parameters e defina:
- Filter Query:
Status eq 'Ready for Demand Letter' - Order By:
Title asc
- Filter Query:
Get items: configuração

O valor do filtro corresponde exatamente, incluindo letras maiúsculas. A ordenação por Title exibe as letras na ordem do ID do processo.
Dica: Get items retorna no máximo 100 linhas, a menos que você aumente Top Count ou ative a paginação nas configurações da ação. Isso é suficiente para um lote diário, mas vale a pena saber antes da primeira execução de fechamento mensal.
Passo 3: O que o mapa de ação Select representa?
Fluxo até agora: Manually trigger a flow e Get items.
Select transforma cada linha do processo exatamente nos seis campos que o modelo reconhece, o que facilita a leitura da relação entre a lista e o modelo.
- Adicionar Data Operation > Select.
- De: o token
body/valuede Get items. - Mapa: uma linha por campo do modelo, conforme a tabela abaixo.
Select: configuração

Cinco campos mantêm seus nomes de coluna. O sexto, MatterID, vem da coluna Title da lista.
Como cada marcador de posição obtém seu valor
| Espaço reservado no modelo | Chave JSON | Coluna do SharePoint | Na carta MAT-1001 |
|---|---|---|---|
<<[ClientName]>> | ClientName | ClientName | Sarah Chen |
<<[IncidentDate]>> | IncidentDate | IncidentDate | 06/14/2026 00:00:00 |
<<[OpposingParty]>> | OpposingParty | OpposingParty | Meridian Logistics Inc. |
<<[DamagesAmount]>> | DamagesAmount | DamagesAmount | 18500 |
<<[Attorney]>> | Attorney | Attorney | David Park |
<<[MatterID]>> | MatterID | Title | MAT-1001 |
É importante saber disso antes de copiar esta etapa. No fluxo capturado, o loop lê Get items diretamente e a carta obtém seus valores do loop, portanto, nada a jusante usa a saída Select. Isso é intencional por um motivo: Update item precisa ID de cada caso, e Select o omite. Para direcionar o loop a partir de Select, adicione ID ao mapa e aponte Apply to each para a saída Select.
Etapa 4: De onde o fluxo lê o modelo Word?
Fluxo até agora: Manually trigger a flow + Get items + Select.
O modelo é um arquivo Word comum na biblioteca de documentos. Lê-lo aqui, antes do loop, significa que ele é buscado uma vez por lote, em vez de uma vez por processo.
- Adicionar SharePoint > Get file content.
- Configurar:
- Site Address:
PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints - File Identifier:
/Shared Documents/DemandLetterTemplate.docx - Infer content type (avançado):
Yes
- Site Address:
Get file content: configuração

Edite o modelo no SharePoint e o próximo lote usará a nova redação, sem nenhuma alteração no fluxo.
O modelo contém seis marcadores de posição na sintaxe do modelo PDF4me: <<[Attorney]>>, <<[IncidentDate]>>, <<[OpposingParty]>>, <<[MatterID]>>, <<[ClientName]>> e <<[DamagesAmount]>>. O cabeçalho, a linha de referência e o texto ao redor deles são conteúdo simples Word. A visão geral da sintaxe do modelo Word abrange tudo o que um marcador de posição pode fazer.
Etapa 5: Por que o fluxo precisa de uma variável de contador?
Fluxo até agora: tudo através de Get file content.
O e-mail de resumo precisa de um número, e uma variável é a maneira mais simples de levar um número para fora do loop.
- Adicionar Variables > Initialize variable.
- Configurar:
- Nome:
DocIndex - Tipo:
Integer - Valor:
0
- Nome:
Initialize variable: configuração

Initialize variable precisa estar no nível superior do fluxo. O Power Automate não permite que ela esteja dentro de um loop.
Etapa 6: Como gerar uma carta de notificação extrajudicial para cada caso?
Fluxo até agora: tudo através Initialize variable.
Este é o loop que realiza o trabalho de fato. Cada iteração gera uma carta, a arquiva, atualiza o processo e a contabiliza.
- Adicionar Control > Apply to each.
- Select an output from previous steps: o token
body/valuede Get items.
Apply to each: configuração

Quatro ações dentro do loop, e isso permanece válido por um período ou cinquenta.
Agora, a primeira ação dentro do loop.
- Adicionar PDF - Generate Document (Single) a partir da conexão PDF4me PDF.
- Configurar:
- Template File Type:
Docx (PDF4me Template Syntax) - Template File Name:
DemandLetterTemplate.docx - Template File Data: uma expressão
base64()sobre a saída Get file content, por exemplobase64(body('Get_file_content')) - Document Data Type:
Json - Document Data File: deixe em branco
- Document Data Text: o JSON abaixo, construído a partir do assunto atual
- Output Type:
PDF - Keep Pdf template Editable:
No
- Template File Type:
Os tokens em Document Data Text correspondem a estas expressões:
{
"ClientName": "@{items('Apply_to_each')?['ClientName']}",
"IncidentDate": "@{items('Apply_to_each')?['IncidentDate']}",
"OpposingParty": "@{items('Apply_to_each')?['OpposingParty']}",
"DamagesAmount": "@{items('Apply_to_each')?['DamagesAmount']}",
"Attorney": "@{items('Apply_to_each')?['Attorney']}",
"MatterID": "@{items('Apply_to_each')?['Title']}"
}
Generate Document (Single): configuração

As chaves JSON devem corresponder exatamente aos nomes dos espaços reservados. MatterID é a única cujo valor provém de uma coluna com nome diferente.
Corrija a data e o valor antes da primeira carta real. A carta capturada imprime a data do incidente como 14/06/2026 00:00:00 e os danos como US$ 18.500, porque nenhum dos valores está formatado. Ninguém envia uma carta de cobrança com um registro de data e hora, portanto, adicione um formato ao marcador de data no modelo e formate o valor no fluxo, conforme mostrado abaixo.
Para a data, atribua uma cadeia de caracteres de formatação ao marcador de posição no modelo Word, conforme descrito em formatação em modelos Word:
<<[IncidentDate]:"MMMM dd, yyyy">>imprime 14 de junho de 2026.
Para o valor, formate-o em Document Data Text antes que chegue ao modelo. Isso pressupõe que DamagesAmount seja uma coluna do tipo Número ou Moeda:
formatNumber(items('Apply_to_each')?['DamagesAmount'], 'N0', 'en-US')produz 18.500.
formatNumber e as demais funções utilizadas nesta postagem estão documentadas na referência de funções de expressão de fluxo de trabalho.
Etapa 7: Onde cada carta deve ser arquivada?
Fluxo até agora: o loop, através Generate Document (Single).
O ID da questão tem dupla função aqui, nomeando tanto a pasta quanto o arquivo.
- Adicione SharePoint > Create file dentro do loop.
- Configurar:
- Site Address:
PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints - Folder Path:
/Shared Documents/DemandLetters/seguido pelo token Title - File Name: o token Title seguido por
.pdf - File Content: o token Body do PDF - Generate Document (Single)
- Site Address:
Create file: configuração

Para o processo MAT-1001 o arquivo /Shared Documents/DemandLetters/MAT-1001/MAT-1001.pdf.
Dica: Um ID como MAT-1001 é um bom nome para pasta e arquivo, pois não contém nada que o SharePoint rejeite. Se os IDs dos seus processos forem texto livre, remova as barras, os dois pontos e os pontos de interrogação primeiro, ou Create file falhará no primeiro processo que os contiver.
Passo 8: Como impedir que um assunto receba uma segunda carta?
Fluxo até agora: o loop, através Create file.
O filtro na etapa 2 só funciona se o status mudar depois que uma carta já existir. Essa é toda a função dessa ação.
- Adicione SharePoint > Update item dentro do loop.
- Configurar:
- Site Address:
PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints - List Name:
Matters - ID: o token ID da ocorrência atual
- Status Value (avançado):
Demand Letter Generated
- Site Address:
Update item: configuração

Update item só é executada após Create file ser concluída com sucesso, portanto, um item cuja operação de criação falhou permanece pronto para o próximo lote.
Etapa 9: Como a equipe sabe que o lote está concluído?
Fluxo até agora: o loop, através Update item.
Duas ações finalizam o trabalho: uma conta dentro do loop, a outra relata o resultado após a contagem.
- Adicionar Variables > Increment variable como a última ação dentro do loop.
- Nome:
DocIndex - Valor:
1
- Nome:
- Adicione Office 365 Outlook > Send an email (V2) após o loop.
- Para: o endereço da sua equipe
- Assunto:
Demand Letters Generated -seguido pelo token DocIndex ein this batch - Body:
Hi team,DocIndexdemand letters were generated in this batch and saved to the matter folders in SharePoint. Matter statuses have been updated to "Demand Letter Generated". - Importance (avançada):
Normal
Increment variable e Send an email (V2): configuração

Última dentro do loop, portanto, contabiliza apenas as cartas que foram arquivadas e registradas.

Um e-mail por lote, não um por carta.
Dica. O e-mail capturado mostra 1 carta de cobrança. Substitua a palavra corrigida por if(equals(variables('DocIndex'), 1), 'letter', 'letters') e o assunto e o corpo do e-mail ficarão corretos para um lote de uma carta.
Execute o fluxo e verifique
- Save o fluxo e selecione Test e, em seguida, Manually.
- Antes de executar o processo, marque pelo menos um dos itens como Ready for Demand Letter.
- Abra o histórico de execução. Apply to each deve mostrar uma iteração por tarefa marcada como pronta, e todas as ações devem estar verdes.
- Abra a pasta
/Shared Documents/DemandLetterse verifique se há uma pasta para cada processo, cada uma contendo um arquivo PDF com o nome do ID do processo. - Abra a lista Matters e confirme se os assuntos agora mostram Demand Letter Generated.
A lista Matters após as corridas

Três processos agora mostram Demand Letter Generated. O processo MAT-1003 ainda está em rascunho, portanto o filtro o ignorou e nenhuma carta foi gerada.
A captura de tela processou dois processos em cerca de oito segundos. A carta referente ao processo MAT-1001 possui 21.121 bytes em uma única página, é da PDF4me Legal Associates, assinada por David Park em nome de Sarah Chen e endereçada à Meridian Logistics Inc. Seus metadados XMP declaram pdfaid:part como 1 e pdfaid:conformance como B, que corresponde ao padrão PDF/A-1b. O e-mail de resumo mostrado anteriormente provém de um lote separado, contendo apenas um processo.
O que você construiu exatamente? Um pequeno sistema de automação de documentos jurídicos. A redação aprovada fica em um modelo Word, os fatos estão na lista de processos e a coluna de status decide o que será enviado e registra o envio. Ninguém copia o nome do cliente para uma carta e ninguém precisa se lembrar de quais processos ainda precisam de uma resposta.
Variações comuns que você pode adicionar sem reconstruir
Como isso se compara a outras formas de produzir cartas de cobrança?
Cada linha descreve a alternativa. A última linha é este fluxo.
| Comparação | Modelo | Conector ou licença | Saída | Atualiza o registro do caso |
|---|---|---|---|---|
| Modelo preenchido manualmente versus este fluxo | Word, digitada novamente para cada letra | Nenhum | Qualquer coisa que a pessoa economize | À mão, se alguém se lembrar |
| Populate a Microsoft Word template versus este fluxo | Word com controles de conteúdo | Conector Premium Word Online (Business) | Arquivos .docx e PDF precisam de uma segunda conversão | Só se você adicionar |
| Software dedicado à automação de documentos jurídicos versus este fluxo | Geralmente, o editor de modelos do próprio fornecedor | Assinatura separada | Word ou PDF | Dentro desse produto |
| Esse fluxo | Word com marcadores de posição na sintaxe do modelo PDF4me | Conectores padrão | PDF, arquivado por processo | Sim, Status foi atualizado |
A distinção que importa: esta é a única linha em que o modelo permanece um arquivo Word normal e o registro do processo é alterado durante a mesma execução.
Perguntas frequentes
Como elaborar um modelo de carta de cobrança?
Comece com a carta que seu escritório já envia e marque todos os valores que mudam entre os processos. Uma carta de cobrança típica tem cabeçalho, data, destinatário, uma linha de referência com o ID do processo, um breve resumo dos fatos, o valor cobrado com prazo, as consequências caso o prazo seja ultrapassado e uma assinatura. Tudo, exceto os valores que mudam, é fixo.
Para fins de automação, cada valor alterado se torna um marcador. O modelo de exemplo utiliza seis campos: cliente, data do incidente, parte contrária, valor, advogado e ID do processo. A redação é meramente ilustrativa, portanto, solicite a aprovação do advogado para o texto de qualquer modelo que você enviar.
Como preencher um modelo Word usando o Power Automate?
Existem duas rotas comuns. A ação Populate a Microsoft Word template da Microsoft usa controles de conteúdo no documento e está localizada no conector premium Word Online (Business). Ela retorna um arquivo .docx, portanto, um PDF requer uma segunda etapa de conversão.
Este fluxo usa a ação Generate Document (Single) do PDF4me. O modelo é um arquivo .docx comum com marcadores como <<[ClientName]>>, os dados são inseridos em formato JSON e a ação retorna um PDF diretamente em um conector padrão. Leia o modelo com Get file content, converta-o para base64() e construa Document Data Text a partir do item da lista.
Como automatizar cartas no Word?
Dentro do próprio Word, a resposta clássica é a Mala Direta: um documento com campos de mesclagem e uma fonte de dados, como uma planilha do Excel. Funciona, mas alguém precisa executá-la em um computador para cada lote e arquivar os resultados posteriormente.
Automatizar corretamente significa manter o documento Word como um modelo e deixar um fluxo preenchê-lo com seus registros. Aqui, os registros são uma lista do SharePoint, o gatilho decide quando um lote é executado e o arquivamento e as atualizações de status acontecem na mesma execução, portanto, não há etapa de mesclagem para ninguém realizar.
O que é a automatização de documentos jurídicos?
A automação de documentos jurídicos consiste na produção de documentos legais, como cartas de cobrança, contratos de prestação de serviços e notificações, a partir de modelos aprovados e dados do processo, em vez de redigir cada um manualmente. O modelo contém o texto aprovado pelo escritório, os dados provêm do registro do caso e o software realiza a fusão das informações.
Este fluxo é um pequeno exemplo concreto disso: um modelo Word, uma lista de assuntos e uma ação do PDF4me realizando a mesclagem, com o status do assunto registrando que a carta existe.
Solução de problemas
Procure por aspas duplas nos dados do documento, geralmente no nome da empresa. Document Data Text é um JSON montado a partir de texto; portanto, uma aspa extra no final de um valor o torna inválido. Escape as aspas nos valores ou crie o objeto primeiro em uma ação Compose e passe sua saída.
O marcador de posição não possui formatação, portanto a data é impressa com a hora. Adicione uma string de formatação ao marcador de posição IncidentDate no modelo, conforme mostrado na etapa 6, e carregue o modelo novamente.
A Filter Query não retornou nenhum Get items. Portanto, verifique a ortografia e o uso de maiúsculas e minúsculas em relação às opções Status e certifique-se de que a consulta use o nome interno da coluna. Execute o fluxo com um único caso definido como Ready for Demand Letter para confirmar.
O status nunca mudou. Verifique se a Update item usa o ID do caso atual e se o Status Value corresponde a uma opção que não satisfaça o filtro. Se o status permanecer Ready for Demand Letter, todas as execuções retomarão o caso.
Próximos passos
Generate Document Single no Power Automate
sintaxe do modelo Word
Formatação em modelos Word
Obtenha sua chave de API
O mesmo padrão de onze etapas (filtrar a lista por status, preencher um modelo Word para cada linha, arquivar o PDF, alterar o status, relatar a contagem) lida com qualquer documento que uma linha da lista possa gerar: cartas de compromisso, notificações, lembretes de renovação e propostas de acordo.