Documentação
Como ativo o *plugin*?
Após efetuar a compra, terá de instalar o plugin no seu site WordPress. Eis como o fazer.
Passo 1: Instalação
Inicie sessão no seu site WordPress e navegue até Plugins → Adicionar Plugin → Enviar Plugin. Faça o upload do arquivo zip e ative-o.
Passo 2: Registre o Plugin
Na navegação à esquerda, navegue até Formulários → Configurações → Salesforce. No Licença clique na seção Gerenciar licença, Insira sua chave de licença e clique em Ativar Licença.
Etapa 3: Conecte o Salesforce
Após obter a licença, role a página até... Conexão Salesforce seção na mesma página de configurações (é intitulada Adicionar conta do Salesforce Assim que uma conta for criada, conecte sua primeira conta do Salesforce (instruções completas abaixo).
Pronto! Você já pode começar a mapear formulários para o Salesforce.
Como faço para conectar uma conta do Salesforce com o OAuth?
Passo 1: Compreenda os tipos de aplicativos
No Salesforce, você criará um Aplicativo Cliente Externo (a opção moderna e a única disponível para novas organizações criadas desde o lançamento da versão Spring '26 do Salesforce) ou um Aplicativo Conectado (a opção legada, ainda compatível com organizações existentes que a permitem). O plugin funciona da mesma forma com ambos.
Navegue até uma das seguintes opções na Configuração do Salesforce:
- Configuração → Gerenciador de Aplicativos Cliente Externos → Novo aplicativo cliente externo (recomendado)
ou aplicativo conectado legado (desativado por padrão em organizações mais recentes)
- Configuração → Gerenciador de aplicativos → Novo aplicativo conectado
Antes de conectar: o usuário do Salesforce que autoriza a conexão precisa ter permissão de Criação (e de Edição, para feeds que são atualizados) em todos os objetos que serão sincronizados. O plugin lista apenas os objetos que o usuário pode realmente criar.
Etapa 2: Criar um novo aplicativo cliente externo
NOTA: Nas capturas de tela abaixo, as configurações desmarcadas ou vazias devem permanecer inalteradas; portanto, deixe-as como estão.
Após fazer login no Salesforce, no canto superior direito da tela, clique no ícone de engrenagem:

Na lateral esquerda da tela, na caixa de pesquisa que diz "busca rápida", procure por "aplicativo cliente externo" e selecione "Gerenciador de Aplicativos Cliente Externos":

No lado direito da tela, clique no botão que diz “Novo aplicativo cliente externo”:

Em “Informações básicas”, insira o seguinte:
- Nome do aplicativo cliente externo (o nome da API será gerado automaticamente, não o altere)
- E-mail para contato
- Deixe o estado de distribuição como “Local”

Em “API (Ativar configurações OAuth)”, faça o seguinte:
- Ativar OAuth
- Insira seu URL de retorno de chamada (ele está localizado nas configurações do plugin em Formulários > Configurações > Salesforce > URL de retorno de chamada OAuth).
- Em Escopos OAuth, selecione o seguinte:
- “Gerenciar dados do usuário via APIs (api)”
- “Executar solicitações a qualquer momento (refresh_token, acesso offline)”

Não altere as seguintes configurações:

Deixe todas as demais configurações abaixo como estão:

Clique em "Criar aplicativo" e você estará pronto para prosseguir para a etapa 3:

Etapa 3: Editar as Políticas de Autorização do Aplicativo
Após a criação do aplicativo, precisamos editar as políticas do aplicativo. Clique novamente em “Gerenciador de Aplicativos de Cliente Externo”.”

Em seguida, selecione o aplicativo recém-criado e clique no botão “Editar”, como mostrado abaixo:

Em seguida, abra o menu suspenso "Políticas OAuth" e defina a política de token de atualização para expirar "após um período específico" e defina-a para 365 dias ou mais. O plugin atualiza o token de acesso de curta duração automaticamente, mas, assim que o próprio token de atualização expira, o Salesforce rejeita a conexão e você precisa reconectar a conta em Formulários → Configurações → Salesforce. Uma política mais longa significa que você precisa fazer isso no máximo uma vez por ano, em vez de a cada 30 dias.
Recomendamos que você defina um lembrete para verificar a conexão por precaução.

Etapa 4: Conecte o novo aplicativo cliente externo ao Gravity Forms
A configuração do Salesforce está concluída; agora precisamos conectar o Gravity Forms ao aplicativo. No Salesforce, volte ao "Gerenciador de Aplicativos de Cliente Externo" e selecione seu aplicativo.

Clique em “Configurações”, role para baixo até “Configurações do OAuth” e abra-o. Você verá um botão escrito “Chave e Segredo do Consumidor”; clique nesse botão.

É muito provável que você veja uma tela de verificação de identidade e um código tenha sido enviado para você. Insira o código e clique em “Verificar”.”

Após a verificação, você verá a Chave do Consumidor e o Segredo do Consumidor. Mantenha essa aba aberta e, em uma nova aba, acesse as configurações do nosso plugin em Formulários > Configurações > Salesforce e adicione essas chaves conforme a imagem abaixo. O botão aparecerá assim que ambos os campos forem preenchidos: clique em Conectar Conta (o botão exibirá "Adicionar Conta" se você já tiver uma conta conectada).

Você verá que o Gravity Forms agora está conectado ao Salesforce e podemos prosseguir para a Etapa 5 (etapa final):

Etapa 5: Adicione um feed do Salesforce ao seu formulário
Acesse as configurações do Gravity Forms que você deseja conectar ao Salesforce e adicione um novo feed:

E, por fim, configure as definições do seu feed da forma que desejar:

Agora está tudo pronto! Se você quiser conectar outras contas do Salesforce e criar feeds para outros formulários, repita os 5 passos acima.
Como faço para me conectar com o ID da organização? (Web-to-Lead / Web-to-Case)
Se a sua organização do Salesforce não tiver acesso à API (algumas edições Essentials/Professional), você pode recorrer ao endpoint Web-to-Lead/Web-to-Case legado.
Passo 1: No Salesforce, encontre o seu ID da organização sob Configuração → Informações da empresa.
Passo 2: No WordPress, na página de configurações do Salesforce, altere a Método de conexão Selecione “ID da organização (Web-to-Lead/Case)”.
Passo 3: Cole o ID da sua organização e clique em Salvar ID da organização Conta. A partir da versão 1.5.0, este recurso lê os valores digitados no formulário, portanto, não é necessário salvar as configurações separadamente.
Atenção: O modo de ID da organização suporta apenas Leads e Casos. Atualizações, exclusões, uploads de arquivos, preenchimento automático e mapeamento de listas de opções exigem uma conta OAuth.
Como faço para configurar um feed?
Passo 1: Editar um formulário → Configurações do formulário → Salesforce → Adicionar novo.
Passo 2: Escolha Conta Salesforce, Objeto do Salesforce (Lead, Contato, Conta, objeto personalizado…) e Modo de sincronização (o padrão, Criar ou atualizar se o registro já existir., é adequado na maioria dos casos).
Passo 3: Mapeie os campos do Gravity Forms para os campos do Salesforce. Os campos obrigatórios do Salesforce estão marcados com um asterisco para que você não os perca.
Etapa 4 (opcional): Sob Correspondência duplicada, marcação Habilitar correspondência de chaves primárias duplicadas Atualizar registros existentes que correspondam a um e-mail, um ID externo ou qualquer outro campo filtrável.
Etapa 5 (opcional): Configure a lógica condicional, a verificação de conflitos, a atribuição de proprietários, o envio de arquivos, as notas ou a participação em campanhas.
Passo 6: Salve o feed e envie uma entrada de teste. Verifique a tela de detalhes da entrada na barra lateral do Salesforce. Como a sincronização ocorre em segundo plano, você poderá ver brevemente um status azul "Pendente", seguido pelo ID do novo registro e um link direto para ele no Salesforce.
Quais comportamentos de sincronização eu preciso ativar?
A criação de registros funciona assim que um feed é salvo. Os comportamentos do ciclo de vida são opcionais, em Formulários → Configurações → Salesforce → Configurações de sincronização, E todos os quatro ficam desativados até que você os marque:
- Sincronizar atualizações quando as entradas são editadas Envia as edições de entrada para o registro do Salesforce vinculado.
- Excluir registros do Salesforce quando as entradas forem excluídas permanentemente. O registro é removido quando você esvazia a lixeira. Mover uma entrada para a lixeira nunca afeta o Salesforce.
- Ressincronizar os dados de entrada quando as entradas forem restauradas da lixeira/spam. Salva todas as edições feitas enquanto o registro estava na lixeira e cria um substituto caso o registro tenha sido excluído do Salesforce nesse meio tempo.
- Enviar notas de entrada do Gravity Forms para o Salesforce como registros de notas Espelha as anotações que um administrador adiciona a uma entrada e exclui a cópia do Salesforce quando a anotação é excluída.
Detalhes da Funcionalidade
Métodos de conexão
O plugin oferece duas maneiras de conectar o Gravity Forms ao Salesforce. Escolha aquela que corresponde ao nível de acesso à API da sua organização.
- OAuth 2.0 com PKCE (recomendado). Autenticação moderna do Salesforce usando um aplicativo conectado ou um aplicativo cliente externo (substituto da versão Spring '26+). Não há chaves de API estáticas armazenadas no seu servidor; o plugin atualiza os tokens de acesso automaticamente e a conexão permanece ativa indefinidamente, desde que a política de atualização de tokens do aplicativo não a expire. Escopos necessários:
apierefresh_token/offline_access. Funciona com todas as edições do Salesforce que possuem acesso à API (Enterprise, Unlimited, Performance, Developer ou Professional com o complemento de acesso à API). - Web-to-Lead / Web-to-Case (ID da Organização). Endpoint de envio legado que usa apenas o ID da sua organização do Salesforce. Útil para organizações sem acesso à API (algumas edições Essentials e Professional). Limitações: somente objetos Lead e Caso, sem atualizações, exclusões, uploads de arquivos, preenchimento automático ou mapeamento de listas de opções.
Ambos os modos podem ser usados no mesmo site WordPress. Você pode ter uma conta OAuth para sua organização principal e uma conta de ID de organização para uma organização secundária, e cada feed escolhe independentemente com qual delas será sincronizado.
Suporte para Múltiplas Contas
Conecte quantas contas do Salesforce desejar a um único site WordPress. Configurações comuns:
- Sandbox e produçãoTeste os feeds no ambiente de sandbox e, em seguida, mude para o ambiente de produção com uma simples alteração no menu suspenso.
- AgênciaCada organização cliente obtém sua própria conexão; cada feed escolhe com qual cliente sincronizar.
- Matriz e subsidiáriasDiferentes formulários direcionam para diferentes organizações em sua estrutura corporativa.
Uma conta é sempre definida como padrão, para que sites simples nunca precisem se preocupar com qual conta usar. Ela também serve como alternativa: um feed sem conta definida, ou cuja conta você remover posteriormente, será sincronizado com a conta padrão. A remoção de uma conta exibe um aviso antes de prosseguir, portanto, direcione os feeds afetados para outra conta primeiro, caso a organização padrão não seja a correta para a gravação.
Cada conta também possui seu próprio sistema de saúde de conexão. O plugin registra quando cada conta foi atualizada pela última vez, quando a última conexão foi bem-sucedida e quando a última falha foi registrada. A lista de contas exibe os status "Conectado" com a última verificação, "Precisa de atenção" ou "Reconexão necessária", permitindo que uma conexão interrompida seja identificada antes que os envios comecem a falhar. Cada conta mantém a versão da API do Salesforce com a qual estava conectada (novas conexões são definidas por padrão para a versão mais recente). v63.0Para remover e reconectar uma conta, você pode migrá-la para uma versão mais recente. A remoção de uma conta revoga seus tokens no Salesforce, em vez de apenas excluí-los localmente.
Objetos do Salesforce suportados
Você pode sincronizar com qualquer objeto do Salesforce O usuário conectado pode acessar objetos padrão ou personalizados. O menu suspenso Objeto é criado dinamicamente a partir do esquema real da sua organização, portanto, você verá todos os objetos padrão que o Salesforce oferece (Conta, Contato, Lead, Oportunidade, Caso, Campanha, Tarefa, Evento, Nota, Usuário e muitos outros), além de todos os objetos personalizados que você definiu.
Para objetos personalizados, escolha “Personalizado (digite abaixo)” e insira o nome da API (por exemplo, My_Object__cOs valores das listas de opções, as relações de pesquisa, os anexos de arquivos e o preenchimento automático funcionam da mesma forma em objetos personalizados e em objetos padrão.
Vinculando registros em diferentes feeds
Um único envio pode criar vários registros relacionados. Adicione um feed por objeto e, em seguida, arraste as linhas da lista de feeds para a ordem desejada. Os feeds são executados nessa ordem, um após o outro, em segundo plano. Em um feed posterior, mapeie o campo de pesquisa (AccountId, ContactId ou qualquer pesquisa personalizada) para Valor personalizado e entrar {salesforce_id:FEED_ID}, onde FEED_ID é o ID do feed anterior. A tag resolve para o registro que esse feed criou ou atualizou para esta entrada, portanto, o novo registro é vinculado a ele. O ID do feed é o fid= valor na barra de endereços enquanto você edita o feed.
Uma cadeia típica consiste primeiro em um feed de Contas e, em seguida, um feed de Contatos com o ID da conta definido como {salesforce_id:12} (Sendo 12 o ID do feed de Contas), e então um feed de Oportunidades com AccountId configurado da mesma forma. Use a mesma conta do Salesforce em todos os feeds da cadeia, pois um ID de registro só existe na organização que o emitiu. Se o feed anterior não criou nenhum registro, porque sua lógica condicional não correspondeu ou a verificação de conflito o impediu, a tag fica vazia e a pesquisa permanece inativa em vez de usar o ID de outro feed.
Mapeamento de listas de opções em nível de campo
Para campos de lista suspensa, seleção múltipla, botão de opção e caixa de seleção, você pode extrair opções diretamente de uma lista de opções do Salesforce em vez de digitá-las manualmente. Dois modos por campo:
- Preencha as opções (editáveis) Copia os valores da lista de opções para o campo do Gravity Forms uma única vez. O administrador pode editar ou remover opções posteriormente. Útil para situações em que "preciso de um ponto de partida, mas posso reduzir a lista".“
- Sincronização em tempo real (sempre corresponde ao Salesforce) Atualiza as opções a cada renderização do formulário. As opções são bloqueadas no editor de formulários para evitar alterações. Use esta opção quando o Salesforce for a única fonte de informações confiáveis (campos de status, origens de leads, listas de seleção de estado/país etc.).
Os rótulos do Salesforce são exibidos aos usuários do formulário; os valores do Salesforce são enviados. Portanto, o formulário mostra “Califórnia”, mas a entrada é enviada. CA, exatamente o que as listas de seleção de Estado/País do Salesforce esperam, e você não precisa de uma tabela de mapeamento.
O tipo de registro também é uma lista de seleção aqui. Para qualquer objeto com tipos de registro selecionáveis, o Tipo de Registro aparece junto com as listas de opções reais na mesma interface de mapeamento de campos. O formulário mostra o nome do tipo de registro para os usuários (por exemplo, "Doador"); o valor enviado é o ID do Tipo de Registro do Salesforce. Mapeie esse campo para RecordTypeId no seu feed e o tipo de registro escolhido será definido no registro criado ou atualizado. Somente os tipos de registro que seu usuário do Salesforce conectado pode realmente atribuir são listados (o tipo Mestre implícito e os tipos indisponíveis são filtrados), e os modos Preencher e Sincronização em Tempo Real são suportados.
O menu suspenso de Objetos do Salesforce na barra lateral de mapeamento de campos fixa os oito objetos padrão mais usados (Conta, Contato, Lead, Oportunidade, Caso, Campanha, Tarefa, Anotação) no topo da lista, para que você não precise rolar por todos os objetos personalizados da organização para encontrá-los. Na tela de configurações do feed, altere o objeto ou a conta e o mapeamento de campos, os seletores de campos correspondentes e os seletores de objetos serão recarregados do Salesforce imediatamente, em vez de esperar que a alteração seja salva.
Correspondência da chave primária (sem duplicados)
A maioria dos administradores do Salesforce não deseja que cada envio de formulário crie um novo Lead. Habilite essa opção. Correspondência da chave primária Atualizar registros existentes quando houver uma correspondência.
- Escolha qualquer campo filtrável, idLookup ou externalId como chave de correspondência (o e-mail é o mais comum).
- Se um registro correspondente for encontrado, ele será atualizado. Caso contrário, um novo registro será criado (quando o Modo de Sincronização estiver definido como “Criar ou atualizar se um registro existir”).
- Use um ID externo personalizado (
Customer_Reference__c) para correspondência entre sistemas. - Proteção integrada contra a condição de corrida "registro correspondente foi excluído no Salesforce". Se o Salesforce retornar um erro 404 para um ID armazenado, o plugin cria um novo registro de forma transparente.
Verificação de conflitos
A correspondência da chave primária atualiza um registro quando encontra um. Às vezes, você prefere que o feed seja interrompido. verificação de conflitos O feed procura por um registro existente no Salesforce antes de criar qualquer coisa e interrompe o processo caso encontre um.
Enquanto a correspondência de duplicados funciona com base em uma única chave, a verificação de conflitos combina vários campos em uma única pesquisa. Mapeie o Nome e o Sobrenome juntos e você detectará a mesma pessoa enviando dados com um endereço de e-mail diferente, o que uma correspondência apenas com o E-mail permitiria passar sem problemas. Cada linha mapeada precisa corresponder ao mesmo registro para que o feed seja interrompido; portanto, uma sobreposição parcial não o aciona.
- Mapeie quantos campos do Salesforce para campos do Gravity Forms você precisar, incluindo valores personalizados.
- Defina sua própria mensagem de conflito. Ela é registrada na entrada e enviada no e-mail de falha, para que você descubra por que o registro não foi criado.
- Aplica-se somente quando o feed criaria um registro. Um registro encontrado por correspondência de duplicados ainda é atualizado normalmente.
- Por feed e disponível em contas OAuth.
Envio de arquivos
Os campos de upload de arquivos do Gravity Forms podem ser anexados ao registro do Salesforce como ContentVersion / ContentDocumentLink, Assim, eles aparecem na lista relacionada "Arquivos" do registro. Tamanho máximo de arquivo configurável, de 1 a 25 MB por arquivo, com valor padrão de 10 MB.
Para anexar arquivos, mapeie cada campo de Upload de Arquivo para o Arquivos — anexar ao registro do Salesforce linha no Mapeamento de Campos do Salesforce do feed. Adicione a linha uma vez para cada campo de upload. Cada campo mapeado é anexado e um campo com vários arquivos envia todos os arquivos que contém. Os arquivos são enviados na primeira vez que um feed sincroniza uma entrada e a opção "Reenviar para o Salesforce" os envia novamente após uma falha.
Sincronização de notas
Enviar dados de formulário para o Salesforce Observação Anexado ao registro pai. Tanto o título quanto o corpo da nota suportam tags de mesclagem, permitindo formatá-los como desejar. Deixe o corpo em branco e ele usará {all_fields}.
Opcionalmente, espelhe as anotações de entrada adicionadas pelo administrador no Gravity Forms também no Salesforce como Anotações, mantendo o histórico da conversa em um só lugar. Exclua a anotação no Gravity Forms e a cópia no Salesforce será excluída junto.
Adesão à campanha
Adicione o lead ou contato criado pelo formulário a um documento do Salesforce. Campanha. Marque a caixa, atribua um ID de campanha (uma tag de mesclagem funciona, permitindo que um campo oculto selecione a campanha) e o plugin criará um registro de membro da campanha, vinculando o novo lead ou contato à campanha. Defina o status do membro ou deixe-o como está e o plugin o utilizará. Responded.
Cessão de direitos do proprietário
Por porção:
- Defina um personalizado ID do proprietário (Suporta tags de mesclagem, permitindo rotear com base nos valores do formulário).
- Alternar o
Sforce-Auto-Assign: FALSEcabeçalho para ignorar as regras de atribuição padrão quando necessário.
Pré-preencher a partir do Salesforce
Envie aos usuários recorrentes um formulário personalizado, preenchido previamente com os dados existentes do Salesforce. Formulários de renovação, formulários de atualização de conta, fluxos de preenchimento de perfil.
- Mapeie qualquer campo do Salesforce para qualquer campo do Gravity Forms para preenchimento automático. O objeto de preenchimento automático usa por padrão o mesmo para o qual o feed grava, mas você pode ler de um objeto diferente, por exemplo, preencher automaticamente a partir do Contato enquanto o feed cria um Caso.
- O preenchimento automático funciona para administradores conectados assim que é ativado. Para usá-lo em um formulário público, marque a caixa. Permitir solicitações de preenchimento automático público em formulários de front-end. também.
- URLs assinadas com HMAC e com TTL Impede a enumeração de IDs de registro em formulários públicos, e a assinatura está ativada por padrão com um prazo de validade de 15 minutos. Sem assinaturas, qualquer pessoa poderia iterar.
?sfid=001000...e extrair dados que não deveriam ter. - O Gerador de links pré-preenchidos com assinatura Está integrado às configurações do feed. Cole um ID de registro para obter um URL assinado com data de expiração. Use-o em e-mails de marketing, portais de clientes ou fluxos de autoatendimento.
- Administradores com sessão iniciada podem usar IDs de registro brutos, sem assinaturas, para fins de teste.
- Parâmetro de consulta por feed (padrão)
?sfid=) mantém os URLs limpos.
Sincronização do ciclo de vida de entrada
A criação de registros é automática assim que um feed é salvo. O restante do ciclo de vida pode ser ativado por você em Formulários → Configurações → Salesforce → Configurações de sincronização, garantindo que a integração grave apenas as informações solicitadas.
- Editar uma entrada → O registro do Salesforce é atualizado assim que a opção “Sincronizar atualizações quando as entradas são editadas” estiver ativada (
gform_after_update_entry). - Descartar uma entrada → o registro do Salesforce é deixados intocados, sempre. A lixeira é reversível no WordPress, então o registro permanece no mesmo lugar.
- Restaurar da lixeira → Com a opção “Ressincronizar dados de entrada quando entradas são restauradas da lixeira/spam” ativada, quaisquer edições feitas enquanto a entrada estava na lixeira são sincronizadas com o registro. Se o registro foi excluído manualmente no Salesforce nesse meio tempo e o Modo de Sincronização do feed for “Criar ou atualizar se um registro existir” (o padrão), um novo registro será criado.
- Excluir permanentemente uma entrada (Esvaziar Lixeira ou “Excluir Permanentemente”) → o registro do Salesforce é excluído, caso você tenha habilitado a opção “Excluir registros do Salesforce quando as entradas forem excluídas permanentemente”.
Sincronização em segundo plano
As chamadas à API do Salesforce não são executadas enquanto o visitante aguarda. Os feeds são processados em segundo plano após a conclusão do envio, utilizando o processamento assíncrono de feeds do Gravity Forms, de modo que uma resposta lenta do Salesforce nunca se traduza em uma página de agradecimento lenta.
Assim que a tarefa em segundo plano começar a processar o fluxo de dados, a entrada ficará azul. Pendente O status é substituído pelo resultado final de sucesso ou erro assim que o Salesforce responde. Abra uma entrada de teste logo após o envio e "Pendente" pode ser a primeira coisa que você vê. Se um feed precisar ser finalizado antes da página de agradecimento, por exemplo, para exibir {salesforce_id} nele, marque Processar este feed durante o envio nesse feed.
Compatível com complementos de pagamento
Se o seu formulário aceita pagamentos por meio de um complemento de pagamento do Gravity Forms (Stripe, PayPal Standard, PayPal Commerce, Authorize.Net, Square, 2Checkout, Mollie e outros), habilite-o. “Processar o feed do Salesforce somente após o recebimento do pagamento.” sob Ações pós-pagamento Nas configurações do feed do complemento de pagamento (a opção aparece quando o formulário possui um feed do Salesforce), você pode adiar a sincronização com o Salesforce até que o pagamento seja confirmado com sucesso, garantindo que os carrinhos abandonados nunca deixem leads incompletos.
No momento do envio, a sincronização com o Salesforce é interrompida se houver um pagamento pendente. Quando o complemento de pagamento confirma a transação (por meio da estrutura padrão de feeds atrasados do Gravity Forms), a sincronização com o Salesforce é executada normalmente. Se o pagamento falhar ou for abandonado, a sincronização simplesmente não é executada.
Funciona com qualquer complemento de pagamento criado na estrutura padrão de complementos de pagamento do Gravity Forms, que inclui todos os complementos oficiais.
Logs e exportação para CSV
Cada sincronização com o Salesforce, bem-sucedida ou não, é registrada com o status da sincronização e a mensagem exata retornada pelo Salesforce. Registros do Salesforce A página (Formulários → Logs do Salesforce) mostra:
- ID da entrada, formulário, status, ID do registro, mensagem e horário de sincronização
- Filtro por formulário e paginação com 50 linhas por página.
- Exportação em CSV da visualização atual; portanto, filtrar por formulário exporta esse formulário.
Ao ativar o registro de logs do Gravity Forms, você também obtém o payload da solicitação de saída e a mensagem de erro retornada pelo Salesforce, que geralmente é a maneira mais rápida de ver exatamente a que o Salesforce apresentou objeção.
Se preferir não manter nenhum histórico de sincronização, “Desativar o armazenamento de registros de entrada do Salesforce (status/mensagens/histórico de sincronização)” impede que seja gravado e mantém wp_gf_entry_meta Atenção. É importante saber antes de ativar a opção: a página de Logs do Salesforce lê esse histórico, então ela fica silenciosa e a barra lateral da entrada exibe apenas o link do registro e o botão "Reenviar". O histórico existente é apagado quando você habilita a configuração. Os IDs dos registros permanecem na entrada, portanto, as tags de mesclagem e os links dos registros continuam funcionando.
Notificações por e-mail em caso de falha de sincronização
Receba uma notificação no momento em que o Salesforce rejeitar uma carga útil, com o ID da entrada e a mensagem de erro exata retornada pelo Salesforce. Marque esta opção. “Enviar e-mails de notificação de erro” Em "Relatório de erros" nas configurações do plugin do Salesforce, defina o destinatário uma única vez em E-mail de notificação (Caso o campo seja deixado em branco, será utilizado o seu endereço de e-mail de administrador do WordPress por padrão).
Útil para capturar:
- Um campo obrigatório do Salesforce que repentinamente deixou de ser mapeado (alguém editou o formulário).
- Um valor de lista de opções que não existe mais no Salesforce.
- Limitações da API, regras de validação ou regras de fluxo de trabalho que rejeitam o registro
- Um aplicativo conectado que precisa de reautorização.
Atingir o limite de solicitações da API do Salesforce é relatado como limitação de taxa em vez de uma falha misteriosa de envio, então você sabe que deve esperar em vez de começar a depurar seu mapeamento de campos.
Corrija o problema, clique em Reenviar para o Salesforce nos registros afetados, e os dados são inseridos. A alternativa é descobrir duas semanas depois que 30 leads nunca chegaram ao CRM.
Barra lateral do Salesforce por entrada
Cada tela de detalhes de entrada do Gravity Forms exibe um campo dedicado. Salesforce Caixa lateral com o status da sincronização em tempo real:
- Status, codificado por cores: verde Sucesso, vermelho Erro, azul Pendente, cinza Ignorado
- Objeto, Qual objeto do Salesforce foi criado (Lead, Contato, objeto personalizado, etc.)?
- ID do registro, clicável, abre diretamente no Salesforce em uma nova aba
- Conta, qual conta do Salesforce conectada lidou com a sincronização (útil quando você tem várias).
- Sincronizado, carimbo de data/hora da tentativa de sincronização mais recente
- Mensagem de erro, o erro exato retornado pela Salesforce, quando aplicável.
- Resultados do feed, uma análise por alimentação quando várias alimentações são executadas no mesmo formulário
É a maneira mais rápida de confirmar se um formulário está realmente enviando dados para o Salesforce e de identificar a entrada exata que falhou quando algo dá errado.
Reenviar para o Salesforce
As inscrições incluem um Reenviar para o Salesforce Botão na tela de detalhes da entrada, para usuários que podem gerenciar as configurações do plugin. Ele faz mais do que ressincronizar o registro principal: limpa os indicadores de desduplicação de efeitos colaterais para que notas, arquivos e participações em campanhas também sejam ressincronizados. Use-o quando:
- O Salesforce estava fora do ar quando a sincronização original foi executada.
- Você corrigiu um mapeamento de feed após uma série de envios com falha.
- Você deseja enviar dados de teste para um ambiente de sandbox sem precisar reenviar o formulário.
Mesclar tags
{salesforce_id} é o ID do registro do Salesforce criado ou atualizado pelo feed mais recente para esta entrada. Feeds que usam o modo de ID da organização (Web-to-Lead / Web-to-Case) enviam dados para um endpoint que não retorna um ID de registro, portanto, nunca definem essa tag ou sua variante por feed.
{salesforce_id:FEED_ID} É o ID do registro do Salesforce criado por um feed específico. Use-o quando vários feeds forem executados no mesmo formulário.
As tags específicas do feed também funcionam nas configurações do feed. Mapeie um campo de pesquisa para Valor personalizado e entrar {salesforce_id:FEED_ID} para vincular o registro a um feed criado anteriormente. Os feeds são executados na ordem da lista de feeds, e o ID do feed é o fid= valor no URL de edição do feed. Uma tag para um feed que não criou nenhum registro é resolvida como vazia.
{salesforce_link} É um link direto para o registro do Salesforce, construído a partir do URL da instância dessa conta e do ID do registro, por exemplo. https://yourorg.my.salesforce.com/00Q5g00000ABCDE. O Salesforce envia essa informação para a página de registro do Lightning.
{salesforce_link:FEED_ID} É um link direto para o registro criado por um feed específico. É útil quando um formulário possui vários feeds que gravam em diferentes organizações do Salesforce, por exemplo, um para o ambiente de teste (sandbox) e outro para o de produção, pois cada variante usa a URL da instância da conta correspondente ao feed.
Ambas as tags funcionam em qualquer lugar onde o Gravity Forms avalia tags de mesclagem, com uma única regra de tempo. Os feeds são executados em segundo plano após a conclusão do envio, portanto, a mensagem de confirmação e qualquer notificação enviada no envio do formulário são renderizadas antes que o registro exista, e as tags aparecem vazias nesses casos. Elas são preenchidas em qualquer lugar onde o Gravity Forms avalia tags de mesclagem após a conclusão da sincronização. Para que elas apareçam na página de confirmação e nas notificações de envio, marque a opção correspondente. Processar este feed durante o envio no feed; o visitante então aguarda a resposta do Salesforce. Usos comuns:
- Vincule registros entre feeds: em um feed posterior, defina uma pesquisa, como AccountId ou ContactId, para o Valor Personalizado.
{salesforce_id:FEED_ID}do feed que criou o registro pai. - Notificações enviadas posteriormente: “Novo lead no Salesforce → {salesforce_link}” é preenchido automaticamente quando você usa a opção "Reenviar notificações" do Gravity Forms na entrada após a sincronização ter sido executada.
- Qualquer complemento ou código personalizado que avalie tags de mesclagem após a sincronização, por exemplo, para passar
{salesforce_id}para um sistema a jusante.
Traduções
Este plugin está pronto para tradução. Você pode traduzi-lo para qualquer idioma usando a versão gratuita. Loco Translate plugin ou qualquer outra ferramenta de tradução do WordPress.
Idioma padrão: inglês (en_US)
Perguntas Frequentes
Isso requer o Gravity Forms?
Sim. O Gravity Forms 2.7 ou posterior deve estar instalado e ativo. Este é um complemento para o Gravity Forms, portanto, não funciona sozinho.
Quais versões do WordPress e do PHP são suportadas?
WordPress 6.5+ e PHP 8.0+. Testado até o WordPress 7.0.
Posso me conectar a um ambiente Sandbox do Salesforce?
Sim. Use https://test.salesforce.com como seu URL de login ao conectar a conta. Você pode ter uma conta sandbox e uma conta de produção conectadas ao mesmo site WordPress simultaneamente.
Isso permite várias contas do Salesforce em um mesmo site?
Sim. Conecte quantas contas desejar. Cada feed escolhe com qual conta será sincronizado. Casos de uso comuns: ambientes de teste e produção, organizações de clientes de agências ou estruturas corporativas de matriz e subsidiárias.
Posso sincronizar com objetos personalizados do Salesforce?
Sim. No menu suspenso "Objeto Salesforce" do feed, escolha "Personalizado (digite abaixo)" e insira o nome da API do seu objeto personalizado (por exemplo, My_Object__cListas de opções, uploads de arquivos, pesquisas e preenchimento automático funcionam da mesma maneira com objetos personalizados. Objetos personalizados exigem uma conta OAuth; o modo de ID da organização é limitado a Leads e Casos.
É possível que um único formulário crie uma Conta, um Contato e uma Oportunidade que estejam vinculados entre si?
Sim. Adicione um feed por objeto e arraste-os para a ordem correta na lista de feeds: primeiro Conta, depois Contato e, por último, Oportunidade. Os feeds serão executados nessa ordem. Nos feeds de Contato e Oportunidade, mapeie ID da conta para Valor personalizado e entrar {salesforce_id:FEED_ID} com o ID do feed da conta, que é o fid= valor em seu URL de edição. Cada registro chega com sua pesquisa já apontando para a Conta do mesmo envio. O mesmo funciona para qualquer campo de pesquisa, padrão ou personalizado, desde que os feeds usem a mesma conta do Salesforce.
Por que meu objeto do Salesforce não está aparecendo na lista suspensa?
A lista de objetos vem do Salesforce e inclui apenas os objetos que o usuário conectado pode criar. Se um Lead, Contato ou um objeto personalizado estiver faltando, o usuário autorizado não tem permissão de Criação para ele, geralmente devido a uma licença de integração somente API sem nenhum conjunto de permissões associado. Corrija isso no Salesforce e aguarde a atualização do cache de objetos do plugin (que dura seis horas); reconectar a conta não limpa o cache. "Personalizado (digite abaixo)" funciona como uma solução alternativa imediata.
Isso funciona com o Salesforce Pardot (Engajamento de Conta)?
Não diretamente. O plugin grava registros padrão do Salesforce, como Lead e Contato, por meio da API REST do Salesforce e não possui código específico do Pardot. Se sua organização utiliza o conector Salesforce-Pardot, o Pardot reconhece esses registros da mesma forma que reconhece qualquer outro registro do Salesforce. O que este plugin faz é... não Você pode: escrever diretamente para Prospects ou Listas do Pardot, ignorar o Salesforce ou interagir com objetos específicos do Pardot (Redirecionamentos Personalizados, Formulários do Pardot, etc.).
Como o mapeamento de listas de opções lida com campos de Estado e País que contêm códigos?
O plugin exibe o Salesforce rótulo para o usuário do formulário (por exemplo, “Califórnia”), mas envia a lista de opções. valor (por exemplo, CA), exatamente o que as listas de seleção de Estado/País do Salesforce exigem, portanto você não precisa de uma tabela de tradução da sua parte.
Qual a diferença entre os modos Preencher e Sincronização ao Vivo para listas de seleção?
- Popular Copia os valores da lista de opções do Salesforce para o campo do seu formulário uma única vez. Depois disso, você pode editar, remover ou reorganizar as opções. É útil quando você quer um ponto de partida, mas pode querer personalizar a lista.
- Sincronização ao vivo Reaplica as opções do Salesforce a cada renderização do formulário, de modo que as alterações no Salesforce apareçam automaticamente no formulário após a atualização do cache de campos do plugin a cada seis horas. O editor de formulários bloqueia as opções para evitar alterações acidentais. É útil quando o Salesforce é a única fonte de informações (campos de status, origens de leads, listas de países etc.).
Posso permitir que os usuários do formulário escolham um tipo de registro do Salesforce?
Sim. Abra o campo de lista suspensa/seleção múltipla/botão de opção/caixa de seleção, habilite o mapeamento de campos do Salesforce, selecione o objeto e escolha Tipo de registro na lista de campos. O formulário mostra o nome do tipo de registro (por exemplo, "Doador") para os usuários; o valor enviado é o ID do tipo de registro do Salesforce. Em seguida, mapeie esse campo do Gravity Forms para RecordTypeId no seu mapeamento de feed para que o tipo de registro escolhido seja definido no registro criado ou atualizado. Somente os tipos de registro disponíveis para o seu usuário do Salesforce conectado são listados.
Posso evitar a criação de registros duplicados?
Sim, de duas maneiras. Habilitar Correspondência da chave primária Nas configurações do feed, selecione um campo exclusivo (o e-mail é o mais comum, ou qualquer ID externo personalizado). O feed atualizará um registro existente quando houver uma correspondência e criará um novo quando não houver.
Se preferir que o feed seja interrompido em vez de escrever qualquer coisa, use o verificação de conflitos Em vez disso, combina vários campos em uma única pesquisa, de modo que mapear Nome e Sobrenome juntos identifica a mesma pessoa enviando um e-mail com um endereço diferente. Quando todas as linhas mapeadas correspondem ao mesmo registro, o feed para e registra sua mensagem de conflito na entrada.
Qual a diferença entre correspondência de chave primária e verificação de conflitos?
A correspondência da chave primária encontra um registro e atualizações A verificação de conflitos encontra um registro e para. Use a correspondência quando uma submissão repetida precisar manter um registro atualizado; use a verificação de conflito quando uma segunda submissão for um problema que você deseja conhecer em vez de absorver. Elas funcionam em conjunto: a verificação de conflito só é acionada quando o feed estava prestes a criar um registro, portanto, um registro encontrado pela correspondência de duplicados ainda é atualizado normalmente.
Posso preencher previamente um formulário com dados existentes do Salesforce?
Sim. Ativar Pré-preencher a partir do Salesforce Em um feed, mapeie os campos do Salesforce que você deseja incluir. Para um formulário público, marque também a opção correspondente. Permitir solicitações de preenchimento automático público em formulários de front-end., Caso contrário, o preenchimento automático só funciona para administradores conectados. Em seguida, envie aos usuários um URL como ?sfid=001XXXXXXXXXXXX. Por padrão, são necessárias solicitações assinadas com um prazo de validade de 15 minutos; use a opção integrada. Gerador de links pré-preenchidos com assinatura para criar URLs para campanhas de e-mail ou fluxos de autoatendimento.
Editar uma entrada atualiza o registro do Salesforce?
Sim, depois de ativado. Atualizações de entradas, exclusões permanentes, resincronizações de itens salvos na lixeira e sincronização de notas de entrada são opções separadas em Formulários → Configurações → Salesforce → Configurações de Sincronização, e todas estão ativadas por padrão. A criação de registros não requer nenhuma configuração além de salvar um feed; qualquer ação que grave em um registro existente é opcional, portanto, o plugin nunca acessa sua organização de maneiras que você não autorizou.
O que acontece se eu excluir uma entrada e depois restaurá-la?
O registro do Salesforce é preservado durante o ciclo de exclusão/restauração. Somente exclusão permanente Remove o registro do Salesforce, e somente se você tiver habilitado essa opção nas configurações do plugin. Isso corresponde ao comportamento nativo do WordPress: a lixeira é reversível, a exclusão permanente não.
Por que minha inscrição aparece com o status azul "Pendente"?
Isso é normal e geralmente desaparece quando você atualiza a página. Os feeds são processados em segundo plano, portanto, as chamadas à API do Salesforce nunca interrompem o envio do formulário. Pouco antes de chamar o Salesforce, a tarefa em segundo plano marca a entrada como Pendente e, em seguida, sobrescreve essa marcação com sucesso ou erro assim que o Salesforce responde. Um status travado em Pendente significa que a tarefa foi iniciada, mas nunca concluída, geralmente devido a um tempo limite do PHP ou um erro fatal durante a solicitação. Portanto, habilite o registro de logs do Gravity Forms e verifique o log do complemento. Se um feed deveria ter sido executado, mas a entrada não mostra nenhum status do Salesforce, significa que a fila nunca o executou, o que geralmente significa que o site bloqueia solicitações de loopback para o Salesforce. admin-ajax.php e o WP-Cron, o mecanismo de fallback, está desativado.
Posso tentar novamente uma sincronização que falhou?
Sim. Abra a tela de detalhes da entrada e clique. Reenviar para o Salesforce. Isso também limpa os sinalizadores de desduplicação de efeitos colaterais, para que notas, arquivos e associações de campanha sejam processados novamente juntamente com o registro principal.
Isso funciona com complementos de pagamento (Stripe, PayPal, etc.)?
Sim. O feed do complemento de pagamento (Stripe, PayPal, etc.) recebe um Ações pós-pagamento seção com um “Processar o feed do Salesforce somente após o recebimento do pagamento.” Uma caixa de seleção que adia a sincronização com o Salesforce até que o complemento de pagamento confirme uma transação bem-sucedida, garantindo que os carrinhos de compras abandonados nunca deixem leads incompletos.
Este programa suporta o envio de arquivos do Gravity Forms?
Sim. Os campos de upload de arquivos do Gravity Forms podem ser vinculados ao registro do Salesforce como ContentVersion / ContentDocumentLink, para que apareçam na lista relacionada Arquivos do registro. O tamanho máximo do arquivo é configurável, de 1 a 25 MB por arquivo, com valor padrão de 10 MB.
Posso impedir que o plugin armazene o histórico de sincronização?
Sim. Marque. “Desativar o armazenamento de registros de entrada do Salesforce (status/mensagens/histórico de sincronização)” nas configurações do plugin e nenhum status, mensagem ou registro de data e hora de sincronização é gravado em wp_gf_entry_meta. Duas coisas importantes a saber primeiro: a página de Logs do Salesforce é construída a partir desse histórico, portanto, ela para de exibir resultados e a barra lateral da entrada passa a mostrar o link do registro e o botão Reenviar. Além disso, o histórico existente é apagado quando você ativa essa configuração. Os IDs de registro e os IDs de conta ainda são armazenados, então as tags de mesclagem, os links de registro e o Reenviar continuam funcionando.
Como posso personalizar o payload do Salesforce programaticamente?
Use o pb_gfsf_payload filtro:
add_filter( 'pb_gfsf_payload', function ( $payload, $context ) {
// $context['feed'], ['entry'], ['form'], ['object'], ['account_id'], ['method']
return $payload;
}, 10, 2 );O feed completo, a entrada, o formulário, o objeto de destino, o ID da conta e o método de conexão (oauth ou org_id) estão disponíveis em $context Assim, você pode tomar decisões com base em qualquer uma delas.
E se minha organização do Salesforce não tiver acesso à API?
Usar Modo de ID da organização. Ele usa o endpoint Web-to-Lead/Web-to-Case legado do Salesforce em vez da API REST. Limitações: apenas os objetos Lead e Case são suportados, e você não tem acesso a atualizações, exclusões, uploads de arquivos, preenchimento automático ou mapeamento de listas de opções. Para a maioria dos ambientes de produção, o OAuth (padrão) é a escolha certa.
Quais políticas do Salesforce OAuth o plugin suporta?
O plugin utiliza o fluxo de código de autorização OAuth 2.0 com PKCE e suporta a rotação de tokens de atualização, permitindo que você habilite ambos no seu aplicativo conectado ou no aplicativo cliente externo sem interromper a conexão. A única política de token de atualização incompatível é "Expirar o token de atualização imediatamente", que força uma reautorização completa a cada expiração do token de acesso e não é compatível com nenhuma integração automatizada.
Como a conexão OAuth permanece ativa?
O plugin utiliza OAuth 2.0 com PKCE e atualiza o token de acesso automaticamente usando o token de atualização. Enquanto a política de token de atualização do Aplicativo Conectado ou do Aplicativo Cliente Externo não o expirar ('válido até ser revogado' ou um longo prazo de expiração fixo, como os 365 dias em nosso guia de configuração), a conexão permanece ativa. Quando o token de atualização expirar, você reconecta a conta uma vez. Se a conexão cair, consulte a próxima pergunta. Quase sempre é uma configuração de política ou escopo do Aplicativo Conectado. A Rotação de Token de Atualização é suportada, portanto, administradores preocupados com a segurança também podem habilitar essa política.
A conexão com o Salesforce continua caindo e eu preciso reconectar. Por quê?
Quase sempre, um destes três problemas ocorre no Salesforce: a política de token de atualização do aplicativo conectado está configurada para expirar em vez de "válido até ser revogado"; o aplicativo foi configurado com "Acesso total (completo)", o que impede a emissão de um token de atualização; ou os intervalos de IP de login estão bloqueando seu servidor, caso em que o Salesforce rejeita todas as atualizações e reconectar a partir do mesmo servidor não resolve o problema. A partir da versão 1.3.0, a tela de Contas identifica o problema em vez de exibir um erro de sessão genérico e registra quando cada conta foi atualizada pela última vez, quando a última atualização foi bem-sucedida e quando a última falha ocorreu.
Os dados são apagados quando desinstalo o plugin?
Somente se você optar por participar. Ativar “Excluir todos os dados do plugin ao desinstalar” Nas configurações do plugin antes de desinstalar. Por padrão, seus registros de sincronização e configurações de conexão são preservados (assim você não perde o histórico se reativar posteriormente).
Funciona com cache/CDNs?
Sim. O plugin é executado inteiramente no servidor durante o envio do formulário, portanto, o cache e as configurações de CDN não interferem na sincronização com o Salesforce. O JavaScript do editor de formulários é carregado apenas no painel de administração do WordPress (onde o cache geralmente está desativado).
Isso funciona com uma rede WordPress Multisite?
Resumindo:
- Licença ilimitada: Ative o Modo de Rede uma única vez; uma única tecla permite gerenciar as configurações e o suporte de todos os sub-sites.
- Modo de rede ativado: Cada subsite herda a chave de rede, permitindo que todos executem feeds do Salesforce e recebam atualizações imediatamente. A ativação da rede pelo plugin, por si só, não licencia os subsites.
- Plano limitado / sem licença para subsite: As configurações do Salesforce desse subsite estão bloqueadas e seus feeds registram a mensagem “A sincronização com o Salesforce não está disponível até que a licença do plugin esteja ativa”, em vez de sincronizar.
- O suporte segue a licença: Os sites abrangidos pela chave ativa são elegíveis.
Se você possui uma licença ilimitada, pode ativar o Modo de Rede no site principal e enviar essa chave única para todos os subsites em lote (com acompanhamento em tempo real). Esses subsites herdam automaticamente as configurações e o suporte gerenciados pela licença.
Ganchos
Filtros
pb_gfsf_payload
Filtra a carga útil que está prestes a ser enviada para o Salesforce. Isso é executado para cada criação e atualização em todos os feeds, com o contexto completo da sincronização (configuração do feed, entrada, formulário, objeto de destino, conta e método de conexão). É acionado após o mapeamento de campos e o ID do proprietário serem aplicados, mas antes da chamada da API, e retornar uma matriz vazia é tratado da mesma forma que um feed sem campos mapeados.
Parâmetros:
$payload(variedade): o array associativo de nome do campo do Salesforce → valor que está prestes a ser enviado.$context(variedade): contexto de sincronização. Chaves:feed,entry,form,object,account_id,method(oauthpara uma conexão OAuth,org_idpara Web-to-Lead/Case).
Exemplo: defina uma LeadSource padrão para cada Lead.
add_filter( 'pb_gfsf_payload', function ( $payload, $context ) {
if ( $context['object'] === 'Lead' && ! isset( $payload['LeadSource'] ) ) {
$payload['LeadSource'] = 'WordPress Form';
}
return $payload;
}, 10, 2 );Exemplo: encaminhar feeds diferentes para tipos de registro diferentes.
add_filter( 'pb_gfsf_payload', function ( $payload, $context ) {
$feed_id = (int) ( $context['feed']['id'] ?? 0 );
if ( $feed_id === 12 ) {
$payload['RecordTypeId'] = '0125g000000XYZAAA';
}
return $payload;
}, 10, 2 );Exemplo: reescrever a LeadSource com base no ID do formulário.
add_filter( 'pb_gfsf_payload', function ( $payload, $context ) {
$form_id = (int) ( $context['form']['id'] ?? 0 );
$payload['LeadSource'] = match ( $form_id ) {
7 => 'Webinar Signup',
12 => 'Demo Request',
default => 'Website',
};
return $payload;
}, 10, 2 );pb_gfsf_multi_value_delimiter
Altera o separador usado para unir as seleções de um campo de seleção múltipla ou de caixas de seleção. O padrão é o ponto e vírgula, exigido pelas listas de seleção múltipla do Salesforce. Substitua-o quando um desses campos estiver mapeado para um campo de texto simples que requer um separador diferente.
Parâmetros:
$delimiter(corda): separador,;Por padrão.$sf_field(corda): Nome da API do campo do Salesforce que está sendo digitado.$raw_value(corda): ID do campo ou tag de mesclagem mapeada do Gravity Forms.$feed(variedade): Objeto de alimentação do Gravity Forms.
add_filter( 'pb_gfsf_multi_value_delimiter', function ( $delimiter, $sf_field ) {
return 'Interests__c' === $sf_field ? ', ' : $delimiter;
}, 10, 2 );pb_gfsf_allowed_salesforce_domains
O complemento verifica cada URL de login, URL de instância e URL Web-to-Lead em relação aos domínios da Salesforce antes de enviar credenciais ou dados de entrada. A lista padrão é salesforce.com, force.com, cloudforce.com e salesforce.mil, correspondendo a um limite de ponto. Adicione a isso se sua organização for acessada em um domínio personalizado do Salesforce.
Parâmetros:
$domains(variedade): sufixos registráveis, correspondentes a um limite de ponto.$url(corda): o URL que está sendo verificado.
add_filter( 'pb_gfsf_allowed_salesforce_domains', function ( $domains ) {
$domains[] = 'example-crm.com';
return $domains;
} );pb_gfsf_http_timeout
Altera o tempo limite, em segundos, aplicado a cada solicitação ao Salesforce. O padrão é 20. Sites em redes lentas ou que enviam arquivos grandes podem precisar de um tempo maior; qualquer valor abaixo de um ou dois segundos interromperá o funcionamento normal.
add_filter( 'pb_gfsf_http_timeout', function () {
return 45;
} );







