StandardAdminDeveloperArchitect25 min read

Encuesta headless con Salesforce Feedback Management — frontend externo consumiendo la unAuth Response API

The Challenge

Servir una encuesta de Salesforce Feedback Management dentro de un frontend propio, sin bajar SObjects a mano y sin renunciar a branching, display logic ni persistencia estándar.

Jonathan Gomez·Agentforce Enterprise ArchitectUpdated: August 13, 2026
Feedback ManagementSalesforce SurveysConnect REST APIunAuth Response APINext.jsRoute HandlersReactHeadlessBFF

In short

  • La encuesta vive en Survey Builder (Feedback Management) — pages, questions, branching, display logic, todo configurado por admin, sin código.
  • Un BFF en Next.js (Route Handlers) intermedia entre el navegador y el dominio salesforce-scrt.com. Emite el accessToken unAuth, guarda la sesión en cookie firmada httpOnly y traduce a la Business API oficial.
  • El frontend React tiene un componente único (SurveyRunner) que dispatcha por questionType. Cero código de branching o display logic en el cliente.
  • Al PATCH con navigationAction: Next, Salesforce evalúa la ramificación y devuelve la página correcta (o la Thank You Page). El cliente solo renderiza lo que llega.
  • Persistencia intacta: SurveyResponse + SurveyQuestionResponse quedan en el sistema de registro estándar. Dashboards y Data Mapper heredados funcionan sin cambios.

Symptom

Un equipo necesita servir encuestas dentro de su propia experiencia web o móvil — con su look & feel, sus animaciones, su i18n, su accesibilidad — pero la encuesta ya está definida en Salesforce Feedback Management y no quiere renunciar a la administración de páginas, ramificación y persistencia que Salesforce ya ofrece.

Root cause

El camino más obvio para un desarrollador — bajar SurveyQuestion, SurveyQuestionChoice y SurveyPage vía SOQL y reconstruir el motor en TypeScript — es un antipatrón: se pierde el branching server-side, el display logic, el versionamiento por SurveyVersion, los merge fields y la persistencia oficial. Cada cambio en Survey Builder requiere sincronizar código.

Impact

El equipo termina construyendo un motor paralelo que hay que mantener, sincronizar y auditar en cada release. La licencia de Feedback Management deja de generar el valor por el que se compró.