Loading

Field Service Mobile: Global Action Not Passing Service Appointment Record Context to Flow

Fecha de publicación: Jul 27, 2026
Descripción
Problem

When a global action on a Service Appointment page in Field Service Mobile invokes a flow, the flow does not receive the Service Appointment record ID or other record context data (such as Account ID). This prevents downstream processes — for example, creating Up-Sale Submission records — from accessing the required record information, even though the button is triggered directly from the Service Appointment record page.

 
Cause

Field Service Mobile uses a different variable syntax than desktop Salesforce to pass record context to flows:

  • Desktop Salesforce: {!recordId} — the standard variable for capturing the current record ID in a flow.
  • Field Service Mobile: {!Id} — the variable Field Service Mobile uses to pass the current record ID to a flow.


If the flow references {!recordId}, the mobile app cannot populate it with the Service Appointment ID and record context is not passed. Additionally, global actions defined at the object level do not automatically inherit record context in Field Service Mobile — the flow must be registered as an App Extension scoped to the ServiceAppointment object.
Solución
Resolution

Because Field Service Mobile requires the {!Id} variable syntax and an App Extension registration to pass record context, follow the steps below to resolve:

  1. Verify the flow type. Open the flow in Flow Builder. Confirm it is a Field Service Mobile Flow — not a Screen Flow or other type. Only Field Service Mobile Flows are designed to receive record context in the mobile app.
  2. Register the flow as an App Extension. In Setup, navigate to Field Service Mobile Settings. Register the flow as an App Extension scoped to the ServiceAppointment object. This makes the flow available on the Service Appointment page in the mobile app.
  3. Add a record ID input variable. In Flow Builder, create an input variable named Id. Set Available for Input to checked. This variable will receive the Service Appointment ID from the mobile app.
  4. Replace {!recordId} with {!Id}. Search the flow for any formula, text, or variable reference using {!recordId} and replace every instance with {!Id}.
  5. Test in the Field Service Mobile App. Deploy the flow to your sandbox or production org. Navigate to a Service Appointment record in the mobile app, trigger the global action, and verify the flow receives the Service Appointment ID and Account ID.
  6. Verify downstream processes. Confirm that any records created or updated by the flow contain the correct Service Appointment ID and Account ID from the context.


NOTE: If you test the flow on desktop Salesforce using {!recordId}, it will work correctly — but the same flow will fail in Field Service Mobile. Always validate in the Field Service Mobile App before deploying to production. Global Actions defined at the object level do not automatically pass record context in Field Service Mobile; App Extension registration is required.
Recursos adicionales
Additional Notes

Número del artículo de conocimiento

005387653

 
Cargando
Salesforce Help | Article