Maxim Logo
How to/Evaluate Workflows via API

Transform API data with Workflow scripts

Customize your API requests and responses using Workflow scripts

Maxim Workflows provide powerful scripting capabilities to modify requests and responses. These scripts help you transform data, add authentication, and handle complex response structures.

Scripts are optional - you'll only need them when you want to modify your API's behavior.

Pre-request Script

The prescript function runs before sending requests to your API. Use it to modify request parameters, add headers, or transform data.

function prescript(request) {
	// Add an authorization header
	request.headers["Authorization"] = "Bearer your-token";
 
	// Modify the request body
	request.data = {
		...JSON.parse(request.data || "{}"),
		timestamp: Date.now(),
	};
 
	return request;
}

Post-response Script

The postscriptV2 function processes API responses before displaying them. Use it to transform response data or extract specific fields:

function postscriptV2(response, request) {
	// Extract only the 'message' field from response
	return {
		content: response.data.message,
		confidence: response.data.metadata?.confidence || 1.0,
	};
}

Simulation Scripts

Simulation scripts only run for multi-turn conversations. They won't execute for single-turn tests.

Use these scripts to set up and clean up multi-turn conversation tests:

// Initialize conversation context
function preSimulation() {
	return {
		sessionId: generateUUID(),
		startTime: Date.now(),
	};
}
 
// Clean up after simulation
function postSimulation() {
	return {
		status: "completed",
		endTime: Date.now(),
	};
}

Supported models

You don't need to use require or import to use these modules in scripts. These are directly available in the script environment.

  • axios: Axios is a popular HTTP client library for JavaScript. It provides a simple API for making HTTP requests and supports various features like request and response interceptors, request cancellation, and automatic JSON parsing.

On this page