Em breve no Salesforce AppExchange

Como permitir que o usuário escolha várias datas em um fluxo de tela (Screen Flow) do Salesforce

O Flow oferece um campo de data por elemento de tela. Se alguém precisa escolher nove dias, isso vira um problema. Veja as opções e o custo de cada uma.

Publicado em 1º de maio de 2026 · Atualizado em 21 de outubro de 2026 · MultiDatePick

Todo administrador esbarra nisso um dia. Um pedido de folga, um formulário de disponibilidade, uma inscrição em treinamento: o usuário precisa escolher vários dias, nem sempre seguidos, e o componente de data padrão do Flow captura exatamente um.

As gambiarras, e por que elas atrapalham

AbordagemComo funcionaO custo
Vários campos de data na mesma telaData 1, Data 2, Data 3, Data 4...Limite fixo, feio e quase sempre vazio
Um loop que pede uma data por vez"Adicionar outra data?" e de volta para a telaCansativo a partir da terceira data
Um campo de texto livreO usuário digita as datas como textoImpossível de converter, de usar em relatórios, e sujeito a erros
Só data de início e de términoTratar tudo como um único intervalo contínuoErrado sempre que os dias não são seguidos
Uma lista de opções de seleção múltipla com datasGerar os valores de data com antecedênciaFica desatualizada e exige manutenção constante
Um componente de calendário de várias datasClicar em todas as datas necessárias em uma única telaDevolve uma coleção pronta para o loop

A gambiarra de início e término é a mais comum e a que erra mais silenciosamente. "Preciso de folga nos dias 3, 4, 11 e 18" vira do dia 3 ao dia 18, ou seja, dezesseis dias de ausência implícita. Os dados parecem limpos e estão simplesmente errados.

A solução de verdade: um componente de tela que devolve uma coleção

O que o Flow realmente precisa é de um componente de tela em que o usuário clique em quantas datas quiser e que devolva uma coleção. Com isso, o resto do fluxo é rotina: percorrer a coleção em um loop, criar um registro por data e pronto.

Demo animada de um pedido de folga em um fluxo de tela do Salesforce: o usuário clica em três dias de um calendário MultiDatePick, envia, e a próxima tela do fluxo lista as três datas recebidas
Um fluxo de pedido de folga: clique em três dias, envie, e a próxima tela já recebe os três como uma coleção.

O MultiDatePick devolve várias saídas, conforme o que você está capturando:

SaídaO que contémNome da API
Selected DatesUma coleção de texto com datas ISO, pronta para o loopselectedDates
Date Ranges JSONIntervalos consolidados, quando dias seguidos devem virar um único registroselectedDateRangesJson
Dates With Times JSONHorários de início e término por dataselectedDatesWithTimesJson
Successful Bookings Count, Conflict DatesO que foi salvo e o que entrou em conflitobookingSuccessCount

Transformando o JSON de volta em registros

Duas dessas saídas são JSON, porque o Flow não tem um tipo nativo para "uma lista de objetos com vários campos cada". Não dá para interpretar texto em uma fórmula. O pacote inclui uma ação de fluxo, Parse Date Entries from JSON, que recebe o JSON e devolve uma coleção de verdade com From Date, To Date, Start Time e End Time. Você percorre essa coleção em um loop como qualquer outra.

Fluxo de tela do Salesforce com um calendário de várias datas, em que o usuário seleciona vários dias de uma vez
Um calendário de várias datas dentro de um fluxo de tela, devolvendo uma coleção que o resto do fluxo pode percorrer.

Uma pegadinha que custa uma hora

Defina o Config Name, não as caixas de seleção. O componente tem uma longa lista de propriedades liga/desliga e, no Flow Builder, uma caixa de seleção deixada em branco fica vazia, e não falsa. Você pode pular tudo isso: monte o calendário no Assistente de Configuração e coloque o nome dessa configuração na propriedade Config Name. Todas as opções liga/desliga passam a vir da configuração, e as poucas que só existem no fluxo (Required, Show Inline, Output Date Ranges as JSON) ficam desligadas, a menos que você as ative. Só se você ignorar o Config Name e definir tudo à mão é que vai precisar de $GlobalConstant.True ou $GlobalConstant.False nas caixas de seleção que importam.
Demo animada no Flow Builder do Salesforce: abrir uma tela, pesquisar MultiDatePick, arrastar o componente Resource Booking para a tela, definir o Config Name com uma configuração salva no Assistente de Configuração, clicar em Concluído e salvar
Arraste o componente para a tela, defina o Config Name e salve. Nenhuma caixa de seleção.

Quer que o próprio componente salve os registros? Passe o Id do registro pai em Parent Record Id e ele cria um registro filho por data. Deixe em branco para percorrer a saída em um loop e criar os registros do seu jeito.

Defina o formato dos registros antes de construir

As mesmas nove datas selecionadas podem virar nove registros, ou quatro se os dias seguidos forem agrupados em intervalos, ou um registro pai com sub-blocos. Cada formato é o certo para um relatório diferente. Decida antes de criar o fluxo, porque mudar depois significa migrar dados, além de editar o fluxo.

Coloque um seletor de várias datas de verdade no seu próximo fluxo

Clique nas datas da demo ao vivo e depois siga o guia Primeiros passos para adicionar o componente a uma tela de fluxo.

  • US$ 20/usuário/mês, todos os recursos
  • Teste grátis de 30 dias, sem cartão
  • 100% nativo do Salesforce
  • Sem Apex
  • Em breve no Salesforce AppExchange