Salesforce: crear o actualizar registro
Utilice Salesforce: crear o actualizar registro para insertar o actualizar (upsert) un registro de Salesforce desde un paso de un journey, coincidiendo con un campo de ID externo: actualiza el registro cuando el valor ya existe y lo crea cuando no. Salesforce no tiene un token de API estático, por lo que este punto se autentica a través de una aplicación conectada registrada una vez para toda la cuenta. No hay un campo de token en el punto mismo.
Usos típicos:
- Mantener Salesforce sincronizado: cree o actualice un Contacto o Lead a medida que el viajero avanza en el journey, para que el equipo de ventas vea los datos actuales.
- Sincronizar la actividad del journey en el CRM: establezca un campo cuando un viajero alcance un hito, para que el equipo de ventas pueda filtrar o generar informes sobre él.
- Evitar registros duplicados: la coincidencia por ID externo significa que un viajero que pasa por este punto nuevamente actualiza el mismo registro en lugar de crear uno nuevo.
Antes de empezar
Anchor link toCree una aplicación conectada en su organización de Salesforce y conéctela en Settings > 3rd-party integrations > Salesforce:
- En Salesforce, cree una External Client App (o una aplicación conectada clásica) con OAuth habilitado y el ámbito Manage user data via APIs (api).
- Habilite el Client Credentials Flow en ella y elija el usuario de ejecución. El punto escribe como ese usuario, por lo que su perfil decide qué objetos y campos puede tocar.
- En Pushwoosh, en My Domain host, ingrese el host de su organización sin
https://, por ejemploacme.my.salesforce.com. - En Consumer Key y Consumer Secret, pegue las credenciales de la aplicación. El secreto se almacena como solo escritura: Pushwoosh nunca lo mostrará de nuevo, así que pegue uno nuevo para reemplazarlo.
- Haga clic en Connect Salesforce.

Después de conectar Salesforce, instale la integración para que el punto aparezca en el creador de journeys.
También es necesario que dos cosas estén en su lugar en el lado de Salesforce:
- El campo con el que coincide debe estar marcado como External ID en ese objeto. Un campo de texto sin formato, incluso
Email, no es suficiente — Salesforce rechaza la solicitud conNOT_FOUNDcuando el campo no es un ID externo. - El usuario de ejecución de la aplicación conectada necesita acceso a nivel de campo a ese campo. Un campo creado a través de Setup o la API no concede nada por sí mismo, y sin el permiso, Salesforce responde con el mismo
NOT_FOUND: Field name provided ... does not match an External ID— el campo es invisible para ese usuario, por lo que desde el lado de la API no existe. Agréguelo a un conjunto de permisos asignado al usuario de ejecución.
Configurar el punto
Anchor link to- Arrastre Salesforce: crear o actualizar registro desde la sección Integrations del panel izquierdo al lienzo.
- Haga doble clic en el punto e ingrese un Step Name.
- En My Domain host, ingrese el mismo host en el que reside la aplicación conectada.

- En Object, ingrese el nombre de la API del objeto —
Contact,Leado un objeto personalizado que termine en__c.

- En External id field, ingrese el nombre de la API del campo marcado como External ID.

- En External id value, ingrese el valor con el que coincidir, generalmente una macro como
{{device:hwid}}.

- En Fields, agregue una fila por cada campo de Salesforce que desee establecer. Ingrese el nombre de la API del campo y el valor. Los nombres no deben estar vacíos y deben ser únicos. Los campos obligatorios del objeto deben estar entre ellos, o Salesforce se negará a crear un nuevo registro. Un valor puede ser texto fijo o una macro de viajero como
{{device:hwid}}, las mismas macros que en el cuerpo de un Webhook. O haga clic en Insert Dynamic Value para elegir un atributo que un paso anterior en este journey haya producido, por ejemplo, una respuesta de LLM o un valor de Webhook mapeado.

- Haga clic en Save.
Respuesta
Anchor link toEl viajero continúa al siguiente paso que conecte en el lienzo.
Atributos después de que se ejecute el paso
Anchor link to| Atributo | Qué contiene |
|---|---|
salesforce_record_id | El ID del registro |
Cómo usarlo en pasos posteriores
Anchor link toEl viajero ya ha continuado al siguiente paso independientemente de este atributo. Guárdelo en un Tag con Update user profile si necesita hacer referencia a este registro específico más tarde, por ejemplo, a través de la propia API de Salesforce.
Fallos y respuestas inesperadas
Anchor link toAbra Calls log en el panel del punto y verifique la respuesta:
- 401 — las credenciales de la aplicación conectada son incorrectas, o el flujo de credenciales de cliente no está habilitado en ella.
- NOT_FOUND en el cuerpo — el nombre del objeto, o el campo de ID externo, no coincide con nada en esa organización. Verifique que el campo esté realmente marcado como External ID.
- REQUIRED_FIELD_MISSING en el cuerpo — la creación de un nuevo registro necesita un campo que el punto no envía. Agréguelo en Fields.
- INVALID_FIELD en el cuerpo — un nombre en Fields no es un nombre de API en ese objeto. El nombre de la API de un campo personalizado termina en
__c.
Una solicitud fallida elimina al viajero del journey. Consulte Errors and failed requests.
Escenario de ejemplo: Enrutar una solicitud de asesoramiento in-app a ventas
Anchor link toUna aplicación de bienestar permite a los usuarios tocar Talk to an advisor in-app. El equipo quiere que esa solicitud se convierta en un Contact de Salesforce al que un representante pueda dar seguimiento.
- Agregue un elemento Trigger-based entry y configúrelo para que se active con un evento
AdvisorCallRequested. - Agregue Salesforce: create or update record justo después. Establezca Object en
Contact, External id field enPushwoosh_HWID__c, y External id value en{{device:hwid}}. En Fields, establezcaEmailen{{tag:Email}}. - Haga clic en Save.
Una vez que esto se ejecute, cada solicitud de asesoramiento in-app llegará a Salesforce como un Contact, coincidiendo por dispositivo para que un toque repetido actualice el mismo Contact en lugar de crear un duplicado.