Vlocity Platform Developer (SVC-17A) — Questions and Answers
Question 1: What does the Vlocity Communications (CMT) Cloud primarily support?
- Telecommunications and media service providers with order management, billing, and CPQ (Correct answer)
- Energy utility customer and service order management
- Insurance policy administration and claims
- Healthcare payer and provider member management
Correct answer: Telecommunications and media service providers with order management, billing, and CPQ
The Vlocity Communications Cloud supports telecom and media service providers with features for order management, CPQ, and customer service.
Question 2: What does the 'Conditional View' property in OmniScript do?
- Validates user input format
- Shows or hides an element based on a boolean condition (Correct answer)
- Calculates a formula value
- Triggers a remote action
Correct answer: Shows or hides an element based on a boolean condition
Conditional View controls element visibility by evaluating a boolean expression against the OmniScript's data JSON.
Question 3: What is the 'Map' in a DataRaptor used for?
- Storing static configuration data
- Defining user-level permissions
- Defining field mappings between input/output and Salesforce fields (Correct answer)
- Rendering a geographic map view
Correct answer: Defining field mappings between input/output and Salesforce fields
The Map in a DataRaptor defines how input JSON fields correspond to Salesforce object fields and vice versa.
Question 4: What is a 'Price Rule' in Vlocity CPQ?
- A product constraint preventing invalid selections
- A condition-based rule that adjusts prices based on quote or product attribute values (Correct answer)
- A discount approval workflow for managers
- A fixed list of prices for specific products
Correct answer: A condition-based rule that adjusts prices based on quote or product attribute values
Price Rules evaluate conditions and automatically apply price adjustments such as discounts or surcharges based on product or quote attributes.
Question 5: What is a 'Bundle' in Vlocity CPQ?
- A deployment package of CPQ metadata
- A collection of FlexCards for the quote UI
- A parent product containing required or optional child product components (Correct answer)
- A grouped set of pricing rules
Correct answer: A parent product containing required or optional child product components
A Bundle in Vlocity CPQ is a parent product that contains required or optional child product components that are selected together.
Question 6: What is the primary purpose of an Integration Procedure in Vlocity?
- To configure product pricing
- To manage Salesforce page layouts
- To orchestrate multiple server-side actions in a single transaction (Correct answer)
- To build guided user interfaces
Correct answer: To orchestrate multiple server-side actions in a single transaction
Integration Procedures orchestrate multiple server-side actions such as DataRaptor calls, HTTP requests, and loops in a single server-side execution.
Question 7: How is an Integration Procedure invoked from an OmniScript?
- Using the HTTP Action element
- Using the Remote Action element
- Using the Integration Procedure Action element (Correct answer)
- Using the Formula element
Correct answer: Using the Integration Procedure Action element
OmniScript uses the Integration Procedure Action element to invoke a named Integration Procedure from within a guided script step.
Question 8: What is 'Revenue Recognition' in the context of Vlocity CPQ?
- The process of recording revenue at the correct time based on contract delivery terms (Correct answer)
- A pricing calculation methodology
- A step in the product configuration wizard
- A real-time revenue reporting dashboard
Correct answer: The process of recording revenue at the correct time based on contract delivery terms
Revenue Recognition in Vlocity CPQ tracks when and how revenue from contracts should be recorded based on delivery milestones or time periods.
Question 9: What best describes the 'Vlocity Industry Data Model'?
- A financial reporting object model
- A marketing automation data schema
- A set of pre-built Salesforce objects and fields tailored to specific industry verticals (Correct answer)
- A generic Salesforce CRM data model shared across all clouds
Correct answer: A set of pre-built Salesforce objects and fields tailored to specific industry verticals
Vlocity's Industry Data Model extends Salesforce with pre-built objects and fields specifically designed for industries like telecom, insurance, and healthcare.
Question 10: What does the 'Input Path' in a DataRaptor mapping specify?
- The dot-notation JSON path to the input data field (Correct answer)
- The Salesforce field API name to query
- The format of the output data
- The SOQL filter clause
Correct answer: The dot-notation JSON path to the input data field
The Input Path specifies the dot-notation JSON path to the input data field that the DataRaptor mapping reads from.
Question 11: What does the 'Response Action' in an Integration Procedure do?
- Triggers a platform event
- Formats and returns the final JSON output to the caller (Correct answer)
- Creates a Salesforce record
- Sends an HTTP response to an external service
Correct answer: Formats and returns the final JSON output to the caller
The Response Action assembles and returns the final JSON output from the Integration Procedure back to the calling OmniScript or API.
Question 12: What is the primary purpose of OmniScript in Vlocity?
- To generate reports
- To configure pricing rules
- To manage data storage
- To create guided step-by-step user experiences (Correct answer)
Correct answer: To create guided step-by-step user experiences
OmniScript builds guided, wizard-style processes for users in Salesforce Industries applications.
Question 13: What is a 'formula' in a DataRaptor used for?
- Setting field-level permissions
- Configuring error handling behavior
- Performing calculations or transformations on mapped field values (Correct answer)
- Writing SOQL queries
Correct answer: Performing calculations or transformations on mapped field values
Formulas in DataRaptor allow you to apply transformations, calculations, or string manipulations to field values during mapping.
Question 14: Which OmniScript element displays a list of Salesforce records in a tabular format?
- Type Ahead Block
- Selectable Items
- Remote Action
- DataTable (Correct answer)
Correct answer: DataTable
The DataTable element renders a list of records in rows and columns within an OmniScript step.
Question 15: What file format is used as the base for Vlocity Document Generation templates?
- HTML
- XML
- DOCX (Correct answer)
Correct answer: DOCX
Vlocity Document Generation templates are built on Microsoft Word DOCX files that contain special merge field markers replaced with Salesforce data at runtime.
Question 16: Which OmniScript property controls whether a user must fill in a field before proceeding?
- Validate
- Required (Correct answer)
- Mandatory
- ReadOnly
Correct answer: Required
The 'Required' property marks an OmniScript input element as mandatory, preventing the user from advancing without completing it.
Question 17: Which best practice should be followed when designing a DocGen Template that will be used across many different record types?
- Embed all record-type-specific logic in a single DOCX using many conditional sections
- Create a separate DocGen Template configuration for each record type referencing an appropriate DOCX file (Correct answer)
- Rely solely on Integration Procedures to pre-build document content before it reaches DocGen
- Use one generic DOCX with no conditions and apply post-processing scripts to customize output
Correct answer: Create a separate DocGen Template configuration for each record type referencing an appropriate DOCX file
Maintaining separate DocGen Template configurations per record type keeps templates focused and easier to maintain, reducing the risk of conditional logic errors affecting unrelated document types.
Question 18: What is an 'Interaction' record in Vlocity Industries?
- A record capturing a customer touchpoint such as a service call or chat session (Correct answer)
- A product configuration session record
- A DataRaptor execution record
- A pricing rule evaluation log
Correct answer: A record capturing a customer touchpoint such as a service call or chat session
An Interaction record in Vlocity Industries captures details of a customer touchpoint such as a service call, chat session, or in-person visit.
Question 19: How can an Integration Procedure be exposed as an external REST API?
- By enabling the Remote property and calling it via the standard Vlocity API endpoint (Correct answer)
- By configuring a Salesforce Connected App
- By creating a wrapper Apex REST class
- By writing custom Express middleware
Correct answer: By enabling the Remote property and calling it via the standard Vlocity API endpoint
Integration Procedures can be exposed as REST endpoints by enabling the Remote property and calling them via the standard Vlocity REST API URL.
Question 20: What is the 'Post Action' in an Integration Procedure used for?
- Performing bulk record updates
- Triggering Salesforce platform events
- Executing cleanup actions after the procedure completes regardless of errors (Correct answer)
- Sending HTTP POST requests
Correct answer: Executing cleanup actions after the procedure completes regardless of errors
Post Actions execute after all other actions in a procedure, similar to a 'finally' block, ensuring cleanup operations always run.
Question 21: What is 'OmniStudio' in the context of Salesforce Industries?
- An Apex development IDE provided by Salesforce
- The Salesforce Industries development platform including OmniScript, FlexCards, DataRaptors, and Integration Procedures (Correct answer)
- A standalone Salesforce product separate from Vlocity
- A Salesforce reporting and analytics tool
Correct answer: The Salesforce Industries development platform including OmniScript, FlexCards, DataRaptors, and Integration Procedures
OmniStudio is the Salesforce Industries development platform comprising OmniScript, FlexCards, DataRaptors, and Integration Procedures, rebranded from Vlocity's toolset.
Question 22: Which data source types can a FlexCard use to retrieve its data?
- Apex Remote only
- DataRaptor, Apex Remote, and Integration Procedure (Correct answer)
- SOQL queries written directly in the designer
- DataRaptor only
Correct answer: DataRaptor, Apex Remote, and Integration Procedure
FlexCards support multiple data sources including DataRaptors, Apex Remote methods, and Integration Procedures to populate their content.
Question 23: What is a DataRaptor in Salesforce Vlocity?
- A workflow automation engine
- A tool for reading, transforming, and writing Salesforce data (Correct answer)
- A UI component builder
- A pricing configuration tool
Correct answer: A tool for reading, transforming, and writing Salesforce data
DataRaptors are Vlocity ETL tools used to extract, transform, and load data from Salesforce objects.
Question 24: How do you make a FlexCard available in an Experience Cloud (Community) site?
- Deploy it as a Visualforce component
- Add it to a Visualforce page template
- Configure it in Salesforce Sites settings
- Enable the FlexCard for Experience Cloud and add it to a Community page via App Builder (Correct answer)
Correct answer: Enable the FlexCard for Experience Cloud and add it to a Community page via App Builder
FlexCards can be enabled for Experience Cloud and added to Community pages through the Lightning App Builder's page configuration.
Question 25: What is an 'Integration Procedure Action' in OmniScript used for?
- To send automated emails
- To call external REST APIs directly
- To merge PDF documents
- To invoke a Vlocity Integration Procedure (Correct answer)
Correct answer: To invoke a Vlocity Integration Procedure
The Integration Procedure Action element calls a Vlocity Integration Procedure from within an OmniScript to execute complex data operations.
Question 26: Which DataRaptor type would you use to merge data from multiple input sources into a single output?
- Transform (Correct answer)
- Turbo Extract
- Load
- Extract
Correct answer: Transform
DataRaptor Transform merges and reshapes data from multiple input sources into a consolidated output without accessing Salesforce.
Question 27: How does a FlexCard determine which records or data to display?
- Via the data source configuration and its input filter parameters (Correct answer)
- Via SOQL embedded in the component markup
- Via Salesforce list view definitions
- Via record page layouts
Correct answer: Via the data source configuration and its input filter parameters
FlexCards use their configured data source (DataRaptor, Apex, or Integration Procedure) along with input parameters and filters to retrieve displayed data.
Question 28: Which Integration Procedure action type invokes a custom Apex class method?
- Remote Action
- Custom Action
- HTTP Action
- Apex Action (Correct answer)
Correct answer: Apex Action
The Apex Action in an Integration Procedure calls a specified Apex class method to execute custom server-side business logic.
Question 29: Which post-processing action converts a Vlocity DocGen output from DOCX format into a PDF?
- Convert Action (Correct answer)
- PDF Export Action
- Render Action
- Transform Action
Correct answer: Convert Action
The Convert post-processing action in Vlocity DocGen handles format conversion, enabling the DOCX output to be converted to PDF before delivery or storage.
Question 30: What does the 'Flyout' property in a FlexCard element do?
- Navigates to a new Salesforce page
- Launches a full-screen modal dialog
- Expands an inline detail panel when the user interacts with a card element (Correct answer)
- Creates a browser popup window
Correct answer: Expands an inline detail panel when the user interacts with a card element
The Flyout property in FlexCards expands an inline panel showing additional information when a user clicks or hovers on a card element.
Question 31: What is the 'Menu' action type in FlexCards?
- A contextual right-click menu
- A dropdown button presenting multiple actions in a compact UI (Correct answer)
- A settings configuration panel for the card
- A Salesforce App Menu navigation item
Correct answer: A dropdown button presenting multiple actions in a compact UI
The Menu action in FlexCards creates a dropdown button that presents multiple action options to users in a single compact UI element.
Question 32: What does the 'Aggregate' action do in an Integration Procedure?
- Performs a Salesforce object JOIN
- Calls multiple DataRaptors simultaneously
- Filters records by a specified criteria
- Combines and summarizes data from a collection such as computing sums or groupings (Correct answer)
Correct answer: Combines and summarizes data from a collection such as computing sums or groupings
The Aggregate action summarizes or combines data from a JSON array, such as computing sums, counts, or groupings of records.
Question 33: What is the 'Custom Event' action in FlexCards used for?
- To call external REST APIs
- To emit Lightning events for inter-component communication (Correct answer)
- To send system emails
- To create new Salesforce records
Correct answer: To emit Lightning events for inter-component communication
Custom Event actions in FlexCards emit Lightning web component events that communicate with parent components or sibling FlexCards on the page.
Question 34: What is the purpose of the 'Formula' element in OmniScript?
- To validate field input formats
- To display formatted static output
- To call server-side Apex logic
- To compute derived values from existing JSON data (Correct answer)
Correct answer: To compute derived values from existing JSON data
The Formula element calculates derived values using mathematical or logical expressions applied to OmniScript data nodes.
Question 35: What does the Attachment post-processing action do in Vlocity Document Generation?
- Attaches the DOCX template to an email
- Adds a watermark layer to the PDF output
- Attaches merge field metadata to the template file
- Saves the generated document as a Salesforce File linked to the source record (Correct answer)
Correct answer: Saves the generated document as a Salesforce File linked to the source record
The Attachment post-processing action saves the generated document as a ContentDocument (Salesforce File) and relates it to the triggering Salesforce record.
Question 36: Which input format does a DataRaptor use to receive parameters?
- XML
- CSV
- Apex Map
- JSON (Correct answer)
Correct answer: JSON
DataRaptors accept input parameters in JSON format to filter, merge, and process their data operations.
Question 37: What does a 'bundle' in a DataRaptor Extract refer to?
- A Salesforce managed package
- A versioned copy of the DataRaptor
- A collection of DataRaptors packaged together
- A group of related object queries retrieving hierarchical data in one operation (Correct answer)
Correct answer: A group of related object queries retrieving hierarchical data in one operation
A bundle in DataRaptor Extract is a set of related object queries that retrieve parent-child hierarchical records in a single operation.
Question 38: Which element in OmniScript is used to group related input fields together on a step?
- Block (Correct answer)
- Step
- Remote Action
- Formula
Correct answer: Block
A Block element in OmniScript groups related input elements together within a step for organization.
Question 39: What is a 'Product Attribute' in Vlocity CPQ?
- A configurable characteristic of a product that defines its variants and can affect pricing (Correct answer)
- A standard Salesforce field on the Product2 object
- A formula used in price calculations
- A product category tag for filtering
Correct answer: A configurable characteristic of a product that defines its variants and can affect pricing
Product Attributes are configurable characteristics such as color, bandwidth, or term that define product variants and can influence pricing.
Question 40: What is a 'Product' in Vlocity CPQ?
- A Vlocity DataRaptor definition
- A pricing calculation rule
- A Salesforce record representing a good or service that can be sold (Correct answer)
- A FlexCard UI component
Correct answer: A Salesforce record representing a good or service that can be sold
A Product in Vlocity CPQ is a Salesforce record representing a saleable good or service that can be configured, priced, and quoted.
Question 41: Which DataRaptor type is used to read data from Salesforce objects?
- Load
- Extract (Correct answer)
- Transform
- Turbo Extract
Correct answer: Extract
The DataRaptor Extract type queries Salesforce objects and returns data in a structured JSON format.
Question 42: What does a DataRaptor Load do?
- Reads data from Salesforce
- Writes or updates data in Salesforce objects (Correct answer)
- Transforms data format
- Generates PDF reports
Correct answer: Writes or updates data in Salesforce objects
DataRaptor Load writes, creates, or updates records in Salesforce objects using the provided input data.
Question 43: Which OmniScript element is best suited for displaying a read-only merged text summary to the user?
- Display Text (Correct answer)
- Set Values
- Formula
- Block
Correct answer: Display Text
The Display Text element renders read-only HTML or merged text content to present information or summaries to the user.
Question 44: What internal data format does OmniScript use to store and pass data between elements?
- YAML
- XML
- JSON (Correct answer)
- CSV
Correct answer: JSON
OmniScript uses JSON as its internal data format to store and pass data between all elements and actions.
Question 45: Which action type in FlexCards allows a user to launch an OmniScript?
- OmniScript Action (Correct answer)
- Navigation Action
- Custom Event
- Apex Action
Correct answer: OmniScript Action
The OmniScript Action in FlexCards launches a specified OmniScript, enabling users to start guided processes directly from a card.
Question 46: What is the 'Repeat' block in OmniScript used for?
- Looping through external API calls
- Duplicating steps in the script
- Allowing users to add multiple instances of a group of fields (Correct answer)
- Creating multiple navigation paths
Correct answer: Allowing users to add multiple instances of a group of fields
The Repeat block lets users dynamically add multiple sets of related fields, such as entering multiple contacts.
Question 47: What is 'Conditional Rendering' in FlexCards?
- Rendering mobile and desktop card versions separately
- Conditionally fetching data from the server
- Automatically switching between card states
- Showing or hiding elements based on boolean expressions evaluated against card data (Correct answer)
Correct answer: Showing or hiding elements based on boolean expressions evaluated against card data
Conditional Rendering in FlexCards controls element visibility by evaluating boolean expressions against the card's data context.
Question 48: How does OmniScript implement branching logic to skip or jump between steps?
- Remote Actions with routing logic
- Validation Rules on steps
- Navigation Actions with conditional expressions (Correct answer)
- Step Groups with flags
Correct answer: Navigation Actions with conditional expressions
OmniScript uses Navigation Actions with conditional expressions to determine which step the user goes to next.
Question 49: Which OmniScript element type is used to embed a reusable child OmniScript inside a parent?
- Repeat Block
- Action Block
- OmniScript element (Correct answer)
- Remote Action
Correct answer: OmniScript element
The OmniScript element type embeds a child OmniScript within a parent, enabling modular reuse of common flows.
Question 50: Which Integration Procedure action type calls an external REST or SOAP API?
- Response Action
- HTTP Action (Correct answer)
- Apex Action
- DataRaptor Extract Action
Correct answer: HTTP Action
The HTTP Action in an Integration Procedure sends REST or SOAP requests to external web services and processes the response into the JSON context.
Question 51: Which Vlocity tool uses DataRaptors as a built-in action type?
- Integration Procedures (Correct answer)
- Salesforce Flow
- FlexCard Designer
- Vlocity CPQ rules engine
Correct answer: Integration Procedures
Integration Procedures include dedicated DataRaptor Extract and Load action types to call DataRaptors as part of a server-side workflow.
Question 52: What is the purpose of a DataRaptor Transform?
- To trigger workflow rules
- To display data in the UI
- To reshape data between formats without accessing Salesforce (Correct answer)
- To create new Salesforce records
Correct answer: To reshape data between formats without accessing Salesforce
DataRaptor Transform reshapes or converts data structure and format without performing any Salesforce DML operations.
Question 53: Which combination of action types can be added to a FlexCard?
- Apex actions only
- Navigation actions only
- OmniScript and Navigation actions only
- OmniScript, Navigation, Apex, DataRaptor, and Custom Event actions (Correct answer)
Correct answer: OmniScript, Navigation, Apex, DataRaptor, and Custom Event actions
FlexCards support multiple action types including OmniScript, Navigation, Apex, DataRaptor, and Custom Event actions for diverse user interactions.
Question 54: What is a 'Child Card' in FlexCards?
- A card rendered inside an OmniScript step
- A read-only version of the parent card
- A nested FlexCard embedded within a parent card to display related record data (Correct answer)
- A mobile-optimized card variant
Correct answer: A nested FlexCard embedded within a parent card to display related record data
A Child Card is a FlexCard embedded within a parent FlexCard to display hierarchically related data such as child Salesforce records.
Question 55: Which Integration Procedure action iterates over a collection of records?
- Repeat Action
- Loop Action (Correct answer)
- For Each Action
- Iterator Action
Correct answer: Loop Action
The Loop Action in an Integration Procedure iterates over a JSON array and executes its nested actions for each item in the collection.
Question 56: Which Salesforce custom object is used to configure data sources and post-processing actions for Vlocity document output?
- DocGen Batch
- DocGen Post Process
- DocGen Template (Correct answer)
- DocGen Package
Correct answer: DocGen Template
The DocGen Template object in Salesforce serves as the primary configuration record, linking the DOCX file to its data sources and post-processing actions.
Question 57: Which post-processing action in Vlocity DocGen enables the generated document to be automatically emailed to recipients?
- Email Action (Correct answer)
- Notify Action
- Chatter Post Action
- Outbound Message Action
Correct answer: Email Action
The Email post-processing action allows Vlocity DocGen to send the generated document as an email attachment to specified recipients immediately after generation.
Question 58: What is the 'Conditional' action in an Integration Procedure used for?
- Invoking Apex classes
- Looping through a record collection
- Executing nested actions only when a specified condition is true (Correct answer)
- Formatting the output response
Correct answer: Executing nested actions only when a specified condition is true
The Conditional action evaluates a boolean expression and executes its nested actions only when the condition evaluates to true.
Question 59: What are 'Vlocity Templates' used for?
- Pre-built OmniScripts, FlexCards, and DataRaptors for common industry processes (Correct answer)
- Salesforce page templates for record layouts
- Email templates for automated outreach
- Generic document templates for PDF generation
Correct answer: Pre-built OmniScripts, FlexCards, and DataRaptors for common industry processes
Vlocity Templates are pre-built combinations of OmniScripts, FlexCards, DataRaptors, and Integration Procedures that accelerate implementation of common industry processes.
Question 60: What does the 'Set Values' action in an Integration Procedure do?
- Calls external web APIs
- Assigns static or computed values to JSON path nodes (Correct answer)
- Sends HTTP POST requests
- Queries Salesforce records
Correct answer: Assigns static or computed values to JSON path nodes
The Set Values action assigns static or dynamically computed values to specific JSON path nodes in the procedure's shared context.
Question 61: What is 'Guided Selling' in Vlocity CPQ?
- A step-by-step process that helps sales reps select the right products for customers (Correct answer)
- An automated pricing engine that applies rules without rep input
- A contract lifecycle management workflow
- A product recommendation machine learning API
Correct answer: A step-by-step process that helps sales reps select the right products for customers
Guided Selling walks sales representatives through a series of qualification questions to recommend the most suitable products for a customer.
Question 62: Which DataRaptor feature allows you to conditionally include or exclude specific field mappings?
- Aggregate functions
- Transform formulas
- Required field flags
- Filter conditions on field mappings (Correct answer)
Correct answer: Filter conditions on field mappings
DataRaptor supports filter conditions on individual field mappings to conditionally include or exclude data rows based on criteria.
Question 63: What is the default output format of a DataRaptor Extract?
- Unformatted SOQL result set
- CSV
- XML
- JSON (Correct answer)
Correct answer: JSON
DataRaptor Extract returns data in JSON format by default, structured according to the defined field mappings.
Question 64: What is a 'Matrix Action' in an Integration Procedure?
- An action for performing matrix mathematics
- A loop over a two-dimensional array
- An action that retrieves values from a Vlocity Decision Matrix based on input criteria (Correct answer)
- A bulk data update action
Correct answer: An action that retrieves values from a Vlocity Decision Matrix based on input criteria
The Matrix Action retrieves values from a Vlocity Decision Matrix or Product Attribute Rule based on specified input criteria.
Question 65: What does the 'Set Values' element in OmniScript do?
- Assigns or calculates values without user input (Correct answer)
- Navigates to another step
- Displays a list of records
- Sends an HTTP request
Correct answer: Assigns or calculates values without user input
The Set Values element performs calculations and assigns values to JSON nodes without requiring user interaction.
Vlocity Platform Developer (SVC-17A)
The Vlocity Platform Developer exam validates skills in designing and configuring applications using Vlocity/OmniStudio tools including FlexCards, OmniScripts, DataRaptors, Integration Procedures, and Vlocity CPQ and Pricing for Salesforce Industries implementations.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong — answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds