Overview
Additional instructions allow you to pass additional context to the agent at the time of the request. Typically, this is used to pass session or specific user data. For example, if user is already signed in on your application, and you know their email, there is no reason for the agent to as it again. So, you can simply add in additional instructions: “The current user’s email is myemail@example.com please use this to submit all customer support tickets”
Usage
To use additional instructions in widgets, simply add them in the third parameter in the ChatComponent ****init()
function like below.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>My Travel Planner</title>
</head>
<body>
<script
defer
src="https://openai-widget.web.app/ChatComponent.bundle.js"
></script>
<script>
document.addEventListener("DOMContentLoaded", function () {
// Check if the chat container exists
var chatContainer = document.getElementById("chat-container");
// If the chat container doesn't exist, create it
if (!chatContainer) {
chatContainer = document.createElement("div");
chatContainer.id = "chat-container";
document.body.appendChild(chatContainer);
}
let additionalInstructions = "User's favorite city is Paris."
// userId should be defined somewhere in your application
//additionalInstructions = "The current user id is" + userId
// Initialize the Chat component
if (window.ChatComponent) {
ChatComponent.init("<your-widget-id>", "#chat-container", additionalInstructions);
} else {
console.error("ChatComponent is not available");
}
});
</script>
</body>
</html>
Here’s an example of the Widget response based on this input:
CustomGPTs
To use additional instruction with CustomGPTs, add a script tag to handle your instructions or dynamic data to the Custom GPT. Here’s an example of how you can extend the above HTML code with a script:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>My Travel Planner</title>
</head>
<body>
<iframe
src="https://agencii.ai/custom-gpt/<your-custom-gpt-id>"
width="800"
height="800"
id="custom-gpt-iframe"
data-additional-instructions="User wants to visit Paris."
></iframe>
<script>
const iframe = document.getElementById("custom-gpt-iframe");
window.addEventListener("message", (event) => {
if (event.data === "iframe-ready" && event.origin === "https://agencii.ai") {
// Get additional instructions from the HTML data attribute or use your own logic to set it
let additionalInstructions = iframe.getAttribute("data-additional-instructions") || "";
// userEmail should be defined somewhere in your application
// additionalInstructions += "Current user's email is " + userEmail
// Send the additional instructions to the iframe
iframe.contentWindow.postMessage(
{
type: "additionalInstructions",
value: additionalInstructions,
},
"https://agencii.ai"
);
}
});
</script>
</body>
</html>
Here’s an example of the Custom GPT’s response based on this input:
API
For web api, simply use additionalInstructions
in get_completion
POST endpoint. For more details, see: API reference