Objetivo
Crear las credenciales y accesos necesarios para que DataLab consuma la API REST de Salesforce a través de OAuth 2.0. Se requiere que todas las operaciones se ejecuten en nombre de un usuario de integración («Run As User»).
1. Crear el usuario de integración
Ingresar a:

Completar:

Configurar:


Marcar:

Guardar el usuario.

Salesforce recomienda utilizar un usuario exclusivo para cada integración para mejorar auditoría y trazabilidad.
2. Crear Permission Set para la integración
Ingresar a:

Nombre sugerido:

Guardar.
3. Asignar permisos API
Dentro del Permission Set, en la misma pantalla una vez creado:



Habilitar:


Guardar.
4. Asignar permisos sobre objetos
Dentro del Permission Set:


Configurar acceso sobre los objetos requeridos.
Contact


Lead

Opportunity

Accounts

Guardar cambios.
5. Asignar el Permission Set al usuario
Ingresar a:


Asignar:


Guardar.
6. Crear External Client App
Ingresar a:


Completar:


En la sección:

Habilitar:

Callback URL:

Mover a «Selected OAuth Scopes»:

El scope api es el requerido para utilizar REST API, SOQL y Bulk API.

En la misma pantalla activar:


Guardar.
7. Configurar Run As User
En la misma pantalla una vez guardado ingresar a:


En la sección:

Configurar:


Guardar.
Este paso es obligatorio para Client Credentials Flow. Sin un usuario configurado Salesforce devolverá:

8. Obtener Consumer Key y Consumer Secret
Dentro de:

Abrir:

Copiar:

Equivalencias:

Test connection: Error → Acción correctiva
Error: invalid_client

Causa probable
Salesforce no reconoce el cliente OAuth. Error de credenciales.
Verificar
Paso 10 – Consumer Key y Consumer Secret
Validar que:

correspondan a la misma External Client App.
Paso 13 – Request OAuth
Verificar que el body sea:

Paso 12 – Propagación
Si la app fue creada o modificada recientemente, esperar algunos minutos.
Error: invalid_grant – no client credentials user enabled

Causa probable
No existe un usuario Run As válido.
Verificar
Paso 11 – Run As User
Ingresar a:

Validar:

configurado.
Paso 1 – Usuario activo
Validar:

Paso 5 – Permission Set
Validar que el usuario tenga asignado al menos un Permission Set.
Paso 3 – API Enabled
Validar que el usuario posea:

Error: invalid_scope

Causa probable
La aplicación OAuth no tiene los scopes necesarios.
Verificar
Paso 8 – OAuth Scopes
Debe existir:

en:

Error: no valid scopes defined

Causa probable
La aplicación tiene OAuth habilitado pero no posee scopes válidos para Client Credentials.
Verificar
Paso 8
Agregar:

Error: user hasn’t approved this consumer

Causa probable
La aplicación está configurada para requerir aprobación manual de usuarios.
Verificar
Policies

Configurar:

o

según el modelo elegido.
Error: inactive user

o errores equivalentes relacionados con usuario.
Causa probable
El usuario Run As está deshabilitado.
Verificar
Paso 1

Error: insufficient_access

Causa probable
El token es válido pero el usuario no tiene permisos sobre el recurso.
Verificar
Paso 4 – Object Permissions
Validar acceso a:

Error: API_DISABLED_FOR_ORG

Causa probable
La organización Salesforce no tiene acceso API.
Verificar
Licencia Salesforce utilizada.
Esto suele aparecer en ediciones:

Error: INVALID_TYPE
Ejemplo:

Causa probable
El objeto no existe o no está habilitado para el usuario.
Verificar
Paso 4
Permisos sobre el objeto.