Ir al contenido

Salesforce - Crear registro

↩ Parte de la integración Salesforce.

Crea un registro de cualquier sObject (POST /sobjects/{sobject}). Nombrás el objeto, pasás sus campos como JSON y el nodo devuelve el id que le asignó Salesforce.

Es el paso natural después de un formulario, un webhook o un pedido: convertir una solicitud que entra en un Lead, una Account o un Case.

CampoTipoObligatorioDescripción
credentials_idcredentialsSíCredencial de Salesforce
sobjecttextSíNombre de API del objeto: Account, Contact, Lead, Opportunity, Case, MiObjeto__c…
fieldsjsonSíCampos del registro, ej. {"Name":"ACME"}

Tanto sobject como fields aceptan variables dinámicas: el texto de fields se resuelve antes de parsearse como JSON, así que {"Email":"{{data.email}}"} es válido.

Este módulo necesita una credencial de Salesforce:

CampoDescripción
login_urlhttps://login.salesforce.com o https://test.salesforce.com para una sandbox
client_id / client_secretConsumer Key y Secret de la Connected App
usernameUsuario de Salesforce
passwordContraseña más el security token, concatenados

data es un objeto pequeño con el id nuevo:

{
"id": "00Q5g00000AbCdEFGH",
"success": true
}

Junto con él, _meta:

{ "moduleVersion": "1.0.0", "success": true, "id": "00Q5g00000AbCdEFGH", "totalMs": 380 }

El nodo no devuelve el registro completo. Si necesitás los valores tal como quedaron guardados (fórmulas, autonuméricos, valores por defecto), releelo con Leer registro.

{
"credentials_id": "salesforce_prod",
"sobject": "Lead",
"fields": {
"LastName": "{{data.apellido}}",
"FirstName": "{{data.nombre}}",
"Company": "{{data.empresa}}",
"Email": "{{data.email}}",
"LeadSource": "Web"
}
}
{
"credentials_id": "salesforce_prod",
"sobject": "Account",
"fields": {
"Name": "ACME S.A.",
"Phone": "+34600111222",
"Website": "https://acme.com",
"Industry": "Manufacturing"
}
}
{
"credentials_id": "salesforce_prod",
"sobject": "Opportunity",
"fields": {
"Name": "ACME - renovación anual",
"AccountId": "{{data.accountId}}",
"StageName": "Prospecting",
"CloseDate": "2026-12-31",
"Amount": 12000
}
}
{
"credentials_id": "salesforce_prod",
"sobject": "Case",
"fields": {
"Subject": "{{data.asunto}}",
"Description": "{{data.mensaje}}",
"Origin": "Web",
"ContactId": "{{data.contactId}}"
}
}
  • Las claves de los campos son nombres de API, distinguen mayúsculas, y los campos personalizados terminan en __c. LastName funciona; lastname, no.
  • Las relaciones se establecen por id: AccountId, ContactId, OwnerId. Para enlazar por una clave externa en su lugar, usá Upsert registro.
  • Las fechas van como YYYY-MM-DD y las fechas con hora en ISO 8601 (2026-12-31T10:00:00Z).
  • Un 400 con REQUIRED_FIELD_MISSING significa que falta un campo obligatorio (LastName y Company en un Lead, Name en una Account, StageName y CloseDate en una Opportunity). Las reglas de validación y de duplicados aparecen igual. Esos errores no se reintentan: corregí los datos y volvé a ejecutar.
  • Si fields no es un objeto JSON (es un array o JSON inválido), el nodo se detiene antes de llamar a Salesforce.