You mean like an HTTP POST (or GET) formula? If there is, I somehow missed this game-changing interface. But I suspect you’re referring to a Coda formula in the AI Pack? If so, all of what I did below is possible using ChatGPT - I just wanted to prove the approach using the free PaLM AI models.
Indeed it does, but it comes with all the rigidity and complications of an inferencing process that may encounter unanticipated texts.
My hunch is a temperature setting of zero would make it fully deterministic and consistent. But in LLM land there always a risk of bias despite the LLM being trained on the broad content of the Interwebs. This is both a curse and a blessing.
A good example:
Mohammed bin Rashid al-Maktoum
It’s acceptable in Arab culture to express “al” (i.e., “the”) as a lowercase, hyphenated value. But the common use is capitalized without the hyphen. An AI solution would choose the latter, but both are acceptable (apparently). I say “apparently” because I’m not an international scholar in matters of addressing UAE royalty. 
But even this case can be enforced as a rule assertion in the AI prompt. It depends on your own interpretation of the name formats. Perhaps these could also be surfaced as configurators to the formula.
The beauty of LLMs is they already factor in localities and cultural perspectives as well as languages. Consider this list - it has many places where I attempt to trip up the AI. I butchered this one and it figured it out.
Pack Code
This is the Pack I created to test this hypothesis. There are many ways to approach this using AI; I was biased toward Google’s AGI services for many reasons.
/*
***********************************************************
ProperName : A Coda Column Format that embraces the proper
capitalization of names.
Copyright (c) 2023 by Global Technologies Corporation
ALL RIGHTS RESERVED
***********************************************************
*/
// import the packs sdk
import * as coda from "@codahq/packs-sdk";
// create the pack
export const pack = coda.newPack();
var cPaLMAPIKey = "<your PaLM API key goes here>";
var cPaLMEndpoint = "https://generativelanguage.googleapis.com/v1beta2/models/";
var oResponse;
// set the network domain
pack.addNetworkDomain('generativelanguage.googleapis.com');
// ################################################################
//
// properName
//
// ################################################################
pack.addColumnFormat({
name: "properName",
instructions: "This column formula formats names into proper case names.",
formulaName: "properName",
});
//
// define the column formula
//
pack.addFormula({
resultType : coda.ValueType.String,
name: "properName",
description: "The name to format.",
cacheTtlSecs: 0,
parameters: [
// cell content
coda.makeParameter({
type: coda.ParameterType.String,
name: "nameString",
description: "The name string.",
}),
],
// execute the formula
execute: async function ([nameString], context) {
console.log('nameString: ' + nameString);
console.log(JSON.stringify(context));
if (nameString) {
var expression = "123"
var text = `string text ${expression} string text`;
var prompt = `
Reformat this name using the proper name convention without explanations.
Do not assume that hypenated names are surnames.
Include only the name in the response.
Do not include any other text in the response.
Do not reorder the name parts. Use the proper formatting for the origin country of the person.
Return a consistent output format according to the examples.
Examples
Name: Mohammad bin Salman Al Saud
Output: Mohammad bin-Salman al-Saud
Name: Jean Paul Sartre
Output: Jean-Paul Sartre
Name: Jeanne D’arc
Output: Jeanne d'Arc
Name: Kim Jong UN
Output: Kim Jong-un
Name: ${nameString}\nOutput:`;
let thisPromise = await palmCreateTextCompletion(prompt, context)
.then(json => {
oResponse = json;
});
var thisResponse = await oResponse;
var result = await thisResponse.body.candidates[0].output;
return(result);
} else {
return("Name not provided to the formula.");
}
},
});
//
// PaLM TEXT COMPLETION
//
async function palmCreateTextCompletion(str, context)
{
var url = cPaLMEndpoint + "text-bison-001:generateText?key=" + cPaLMAPIKey;
var body = {
"prompt": {
"text" : str
},
"temperature": 0,
"candidate_count": 1,
"max_output_tokens" : 512,
"top_k" : 4,
"top_p" : 0.8,
}
const response = await context.fetcher.fetch( {
url : url,
method : 'POST',
headers: {
'Content-Type' : 'application/json'
},
'body' : JSON.stringify(body)
});
return(response);
}