A record producer presents a catalog-style form and creates a record in a specified table from the submitted values. It gives users a guided form without exposing the underlying table, and it maps variables to fields in a script.
Before you start
You should be comfortable with catalog items and tables. This article covers record producers and their mapping.
Step-by-step walkthrough
Step 1: Choose the target table
A record producer creates a record in one table, chosen when you configure it. The variables become the form fields the user fills, and the mapping script copies them into the record. Picking the right table keeps the resulting records consistent with the workflow.
Step 2: Map variables in the script
The producer’s script runs on submit and sets fields on the new record from the variables, such as current.short_description = producer.short_description. This is where defaults, derived values and conditional mappings belong.
Step 3: Respect the single-table and producer limits
One producer targets one table, so creating linked records across tables needs additional logic, often a business rule or flow. Large tables split across record producers complicate querying, so plan how the records will be found and reported on.
Worked scenario
The producer maps its variables to the incident fields.
// Record producer script
current.short_description = producer.short_description;
current.description = producer.description;
current.category = producer.category;
current.caller_id = gs.getUserID();Walk through the example
On submit, the script creates an incident with the values the user entered, and sets the caller to the current user. The user interacted with a friendly form, not the incident table, which reduces the fields they must understand while still producing a standard record.
Common mistake
Assuming one producer can create records in several tables, which it cannot without extra logic. Another is leaving the target table’s required fields unset, so submission fails or produces incomplete records.
Verify the behavior
Submit the producer and confirm a record appears in the target table with the mapped values. Leave a required field empty and confirm the failure. Query the created records to confirm they are findable and reportable.
Interview exercise
When is a record producer better than a form on the table itself?
Answer and reasoning
When the audience should not interact with the underlying table directly, or you want a guided, simplified form with only relevant variables and a controlled mapping. It hides table complexity and enforces the mapping in one place. For power users editing the record directly, the table form is appropriate.
Continue learning
Compare catalog intake in GlideAjax contracts and flows in Flow Designer. Read the ServiceNow record producer documentation and try the ServiceNow interview questions.