Por Santiago Gosparini
Uno de los errores más frustrantes en Salesforce ocurre cuando una lógica funciona perfectamente en un entorno sandbox con pocos registros, pero falla estrepitosamente al pasar a producción. ¿El culpable? Muchas veces, la falta de bulkificación.
En este artículo te explicamos qué es la bulkificación, por qué es esencial en Salesforce, y cómo aplicarla correctamente tanto en Flows como en Apex, con ejemplos claros que puedes compartir con tu equipo.
¿Qué es la bulkificación?
La bulkificación es el proceso de diseñar tus automatizaciones —ya sea en Apex o Flow— para que puedan procesar múltiples registros al mismo tiempo, en lugar de hacerlo uno por uno.
Salesforce está diseñado para operar en lotes (o “batches”) de hasta 200 registros por transacción. Si tu lógica no está pensada para funcionar en ese contexto, es muy probable que se rompa al superar los límites de gobernanza (governor limits).
¿Por qué es tan importante?
Salesforce impone límites estrictos para asegurar un rendimiento equilibrado en su plataforma multi-tenant. Algunos de los errores más comunes cuando no se bulkifica incluyen:
Cuando diseñamos nuestros procesos sin considerar estos límites, exponemos nuestros desarrollos a fallas en producción, incluso si funcionaban con pocos registros en QA o sandbox.
Una lógica bien bulkificada no solo evita estos errores, sino que mejora el rendimiento y la escalabilidad del sistema.
Bulkificación en Flow: ejemplo práctico
Escenario: Cuando se actualiza una cuenta, se deben actualizar todos los contactos relacionados.
❌ Mal enfoque:
Colocar una acción de “Update Records” dentro de un loop que recorre los contactos. Esto ejecuta una operación DML por cada contacto, lo cual fácilmente supera los límites permitidos.
✅ Buen enfoque:
- Realizar un solo Get Records para obtener todos los contactos relacionados con las cuentas del lote.
- Utilizar un loop para modificar los contactos y almacenarlos en una colección.
- Ejecutar una única acción de Update Records sobre la colección completa.
Así se reduce el número de operaciones DML y se respeta la arquitectura de Salesforce.
Bulkificación en Apex: ejemplo práctico
Escenario: Cuando se modifican cuentas, actualizar oportunidades relacionadas cambiando su StageName a Prospecting.
❌ Código incorrecto:
Este código ejecuta múltiples consultas y operaciones DML, una por cada cuenta, lo que provoca errores en producción.
✅ Código correcto:
Aquí se hace una sola consulta, se actualizan los registros en memoria y luego se hace un único update. Esto es bulkificación efectiva.
Aquí se hace una sola consulta, se actualizan los registros en memoria y luego se hace un único update. Esto es bulkificación efectiva.
Conclusión
Que tu lógica funcione con un solo registro no es garantía de que lo hará con 200. Bulkificar tus automatizaciones es clave para asegurar la estabilidad, rendimiento y escalabilidad de tus desarrollos en Salesforce.
¿Te tocó alguna vez sufrir errores en producción por no haber bulkificado? Cuéntanos tu experiencia o comparte este artículo con tu equipo técnico.