Skill kit custom output field population

manjee_91
Tera Contributor

manjee_91_0-1752831755577.png

 

Question: Custom Output Fields Not Populating in Now Assist Skill Kit

Hi Community,

I'm working with the Now Assist Skill Kit to create a generative AI skill that extracts incident details from a transcript — such as urgency, category, subcategory, assignment group, and caller — and returns them as structured outputs.

I’ve defined the following custom output fields in the skill:

  • urgency (String)

  • category (String)

  • subcategory (String)

  • assignmentgroup (String)

  • ncaller (String)

In the prompt, I have clearly instructed the model to return a JSON response like:

{
  "description": "User cannot access payroll...",
  "category": "Software",
  "subcategory": "Application",
  "urgency": "1 - High",
  "impact": "1 - High",
  "assignmentgroup": "Access Team",
  "ncaller": "Sarah (Finance)"
}

However, while testing:

  • The response field is populated with the full JSON string.

  • My custom output fields (e.g., urgency, category) are not populated individually in the Test panel.

🔍 What I’ve Done:

  • Set Response format = Structured (JSON).

  • Output fields are defined correctly with matching names.

  • Prompt returns well-structured JSON.

  • Tried both model_output and plain JSON return structures.

  • Using Now LLM Generic in the default config.

What am I missing?

  • Is there a special binding or parsing setting I need to enable for the LLM to map outputs to the skill output fields?

  • Do I need to parse the model_output key manually?

  • Or is there a more specific response mapping mechanism for custom fields in Now Assist?

Any guidance or examples from the community would be greatly appreciated. Thanks in advance!

Screenshot for reference:
(Attach your screenshot from the test panel showing JSON response and output fields)


Would you like me to post it for you or refine this further for Developer Portal/Slack/Now Community based on your preferred channel?

1 ACCEPTED SOLUTION

AribZ
Tera Expert

Hi @manjee_91 !

The following Skill Kit Article (updated 3 weeks ago) clearly shows that, as of now, there's no functionality to create a mapping to outputs. Hope they'll add it soon.

Article - Now Assist Skill Kit (NASK) FAQ

AribZ_0-1754251887297.png
If this answer was useful. Please click 👍 Helpful and Accept as Solution.

View solution in original post

5 REPLIES 5

abirakundu23
Mega Sage

Hi @manjee_91 ,

As per understanding please check below point -

Ensure the LLM returns a top-level JSON object with field names that exactly match your defined output fields. Avoid wrapping the output in "model_output" . Instruct the model to return only the JSON no extra text.

Please check the Article for reference :

https://www.servicenow.com/community/now-assist-articles/now-assist-skill-kit-tool-and-deployment-op...

https://www.youtube.com/watch?v=33QDnrhbp_o

Please try and let me know if your issue resolve.

Please mark helpful and correct answer if it's worthy for you.

manjee_91
Tera Contributor

no still exploring ways to do so.

 

wojasso
Giga Guru

Hi @manjee_91

The Now Assist Skill Kit only populates your custom output fields when the LLM’s JSON matches the field names and the skill knows where to look. A few points to be aware of:

  • Top‑level keys must match – If the LLM response is wrapped in an envelope such as model_output or response, the kit won’t automatically map it. Either return a single JSON object with keys like category, urgency, etc., or specify the JSON path in each output field.
  • Define JSON paths for custom fields – In the Skill Kit UI, each output field has a “JSON path” property. Populate this with the path to your value, e.g. $.category or $.model_output.urgency. Without these mappings, only the generic response field will be filled.
  • Return only structured JSON – In your prompt, instruct the model to return only the JSON with no narrative. Extra text before or after the JSON can prevent parsing.
  • Match names exactly – Output field names are case‑sensitive and must exactly match the keys in the JSON.

For example, with the following simple response the kit can map directly to your fields:

{"category":"Software", "subcategory":"Application", "urgency":"1 - High", "assignmentgroup":"Access Team", "ncaller":"Sarah (Finance)"}

If your model wraps the JSON in model_output, set the path for each output field accordingly (e.g. $.model_output.category). Otherwise you would need to parse the JSON yourself in a script and populate the output variables.

Once you adjust the response structure or the JSON paths, your custom fields should populate in the test panel.

💥 Was this answer useful? 👉 If so, click 👍 Helpful 👍 or Accept as Solution 💡🛠️🧑‍🦰👌

Can you share some sample for same with screens, as my skill always wraps it in model though I have instructed not to.