Thought this might be useful for somebody. This is assuming that you have already run through this post to get the initial setup done: ServiceNow – ChatGPT Integration.
This is a very basic configuration and it may be better to do it through a flow, but as an example of how you could potentially update a task (incident in this case) and provide recommendations from ChatGPT when the description is updated. This is a fairly flexible approach so you might have other ideas!
Firstly, open up the incident table. We are going to create a new column called “ChatGPT Recommendations”. Give this column the type of “String” and a max length of 2000. Copy the column name (should be u_chatgpt_recommendations) and submit.
Open the incident form and make sure the new column is showing on the form.

We will now create a business rule to deliver the result. Configure the business rule conditions as follows:
| Name: | Set recommendations based on description |
| Table: | Incident |
| Advanced: | true (checked) |
| When to run | |
| When: | before |
| Insert: | true (checked) |
| Update: | true (checked) |
| Short description: | changes |

Now on the advanced tab we will enter the following code:
(function executeRule(current, previous /*null when async*/ ) {
// Create an instance of the ChatGPT class
var chatGPT = new global.ChatGPT();
// Set the premise for the chat with the assistant. The premise helps set the context of the conversation.
var premise = chatGPT.setPremise("You are an IT professional providing recommendations to non-technical users. You should give the recommendations only, no pretext.");
// Create a message requesting ChatGPT to send some recommendations.
var message1 = chatGPT.createMessage("user", "Provide some recommendations for this: " + current.description);
// Submit the chat to the GPT-3.5 Turbo model (default). The chat consists of the premise and the user's request.
// The 'submitChat' function accepts an array of messages which form a conversation.
var result = chatGPT.submitChat([premise, message1]);
// Extract only the response from the message.
var extracted_message = chatGPT.extractAssistantMessage(result);
// Populate our new field.
current.u_chatgpt_recommendations = extracted_message;
})(current, previous);
Once submitted, we should be good to go! As an example, I logged a new incident about my monitor being broken. The system showed the following:
