Skip to content
AI & Agents
Skill

/field-service-voice-to-form-configure

Set up Voice to Form on Field Service Mobile end-to-end against a Salesforce org, covering both variants: Voice to Record Edit (voice-fills any record-edit screen) and Voice to Form Data Capture (voice-fills Discovery Framework / Data Capture forms). Discovers existing DC forms

From plugin
forcedotcom-sf-skills
989200 skills2 agents14 commands3 MCP
Install
$ npx -y skills add forcedotcom/afv-library --skill field-service-voice-to-form-configure --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/field-service-voice-to-form-configure

Context preview

The summary Claude sees to decide when to auto-load this skill.

Set up Voice to Form on Field Service Mobile end-to-end against a Salesforce org, covering both variants: Voice to Record Edit (voice-fills any record-edit screen) and Voice to Form Data Capture (voice-fills Discovery Framework / Data Capture forms). Discovers existing DC forms

SKILL.md

field-service-voice-to-form-configure.SKILL.md
name: field-service-voice-to-form-configure
description: "Set up Voice to Form on Field Service Mobile end-to-end against a Salesforce org, covering both variants: Voice to Record Edit (voice-fills any record-edit screen) and Voice to Form Data Capture (voice-fills Discovery Framework / Data Capture forms). Discovers existing DC forms and asks which to enable, hands off to fs-data-capture-form-deployer to create them if none exist, assigns every permission a mobile user needs, and walks the admin through the Einstein generative AI base setup. TRIGGER when the user asks to enable, configure, install, or set up Voice to Form, V2F, Voice to Record Edit, V2RE, the microphone on the mobile app, or voice-fill on Field Service Mobile. DO NOT TRIGGER when the user wants Pre-Work Brief, wants to author a brand-new Data Capture form, or wants to build a generic Agentforce agent."
user-invocable: false
metadata:
  version: "1.0"
  domains: ["Field Service"]
  cliTools:
    - tool: ["sf"]
      semver: ">=2.0.0"

Setting up Voice to Form

Configure Voice to Form on Field Service Mobile from a fresh Field Service org. Voice to Form lets a mobile worker tap the microphone on a form or a record edit screen and dictate the contents. Einstein generative AI parses the speech and fills the matching fields.

There are two variants. They share a permission backbone but enable through different switches:

| Variant | What it does | Where it shows up | Underlying switch | |---|---|---|---| | **Voice to Record Edit (V2RE)** | Voice-fills the standard record edit screen on objects mobile workers can edit (Work Order, Service Appointment, Asset, Contact, Account, custom objects, etc.) | Mic icon on the Record Edit screen | `FieldServiceMobileSettings.IsShowEditFullRecord = true` (org-level row) + `FieldServiceVoiceToRecordEdit` system permission | | **Voice to Form Data Capture (V2F, Beta)** | Voice-fills Discovery Framework / Data Capture flows the admin built in Flow Builder | Mic icon on a Data Capture form | `FieldServiceVoiceToForm` system permission + per-form **LLM Targetable** flag (UI toggle only) |

This skill walks the complete setup for both, in the order Salesforce documents them at:

  • `help.salesforce.com/s/articleView?id=service.mfs_voice_to_form_setup.htm` (V2F Data Capture)
  • `help.salesforce.com/s/articleView?id=service.mfs_voice_to_record_edit_setup.htm` (V2 Record Edit)

The skill is idempotent. Re-running on an already-configured org applies zero changes.

> **Runtime contract:** every org interaction in this skill is a REST call > dispatched through the Codey runtime (`dispatch` locally / the hosted > Headless 360 MCP in shared surfaces). This skill has **no dependency on the > execution environment** — no `sf` CLI, no shell scripts, no local Python, no > `jq`, no temp files, no metadata deploy, no Apex. Detection is a set of REST > GETs; the LDS toggle is a Tooling `FieldServiceSettings.Metadata` PATCH; the > V2RE org switch is an sObject PATCH; the voice permset is a single sObject > POST; entitlement grants are association-object POSTs. The one step with no > callable API — the per-form **LLM Targetable** flag — is driven by the > agent-native browser MCP or handed to the admin as a Setup deeplink (a > click-through, not a shell step). Do not shell out.

---

Platform Notes

  • All API paths use `vXX.0` — pin to the org's current API version (v62.0 or later; the V2F Beta assumes a recent release).
  • Endpoints marked **Tooling** dispatch to `/services/data/vXX.0/tooling/...`; the rest are the core Data API (`/services/data/vXX.0/...`).
  • The Codey runtime resolves and refreshes the connected org and mints tokens on demand — this skill never manages org aliases, instance URLs, or access tokens.
  • A few setup steps are genuinely clicks-only in **Setup** (the Einstein base-setup wizard org pref, the per-form LLM Targetable flag). For those the skill surfaces the exact Setup deeplink for the admin to click; it never tries to script them.
  • Every SOQL below is dispatched as `GET /services/data/vXX.0/query?q=<soql>` (Data API) or `GET /services/data/vXX.0/tooling/query?q=<soql>` (Tooling). Reads that return records are handled inline by the agent — there is no shell parsing.

---

Editions and licensing

  • **Edition.** Field Service core features, managed package, and the mobile app are available in **Enterprise**, **Unlimited**, and **Developer** editions in Lightning Experience.
  • **Mobile entitlement.** Every mobile worker needs the **Field Service Mobile** PSL (`FieldServiceMobilePsl`) to log into the app. In modern Field Service orgs this is a permission-set license layered on top of any standard user license — there is NOT a separate "Field Service Mobile" user license SKU. (Earlier docs said otherwise; trust the live `PermissionSetLicense` query in Step 0.)
  • **V2RE entitlement.** Mobile workers who use Voice to Record Edit need the **Einstein for Field Service** PSL (`EinsteinFieldServicePsl`).
  • **V2F (Beta) entitlement.** Mobile workers who use Voice to Form on Data Capture need the **Agentforce for Field Service** PSL. The Voice to Form Beta also requires the V2F and V2RE system permissions on a custom permset (see Step 4 — a thin custom permset, NOT a clone). Confirm license entitlement with your account exec before assigning, to avoid unanticipated fees.
  • **App version.** V2RE requires Summer '25 or later of the Field Service Mobile App. V2F requires the latest version.

---

Prerequisites

Before running the setup sequence, confirm all of the following:

1. **Edition + add-on.** The org has Einstein for Field Service (V2RE) and/or Agentforce for Field Service (V2F). 2. **Einstein generative AI is fully ON, not just provisioned.** The Step 1.5 probe flags this. The `EinsteinLlm` runtime entitlement must be active (live LLM call returns 200, not `FUNCTIONALITY_NOT_ENABLED`). Trial and SDO orgs commonly have the PSLs assigned but the runtime never turned on — this

Read more
Ships withforcedotcom-sf-skills

This repository provides a curated collection of Salesforce agent skills for building applications.

Get the whole plugin

Other skills on forcedotcom-sf-skills.