Hey when I'm looking to set structured outputs titles via Claygent (w/OpenAI model), I'm specifying the titles of each fields should be "Personalized_content_01", "Personalized_content_02" etc. However it is converting it into "Personalized Content_01" "Personalized Content_02" etc, and the capitalization change and space instead of underscore breaks my ability to pass it as custom variables into Salesloft. I've tried being very forceful in instructions, nothing works. I think I can fix this with a formula or something, but this seems like a newer change to Claygent -- have you modified something on your end to force sentence case and spaces?
The documentation shows that Salesloft's custom fields have specific requirements - they don't support HTML or newlines, and custom fields must be manually defined in Salesloft before they can be exported from Clay. [1] However, there's no information about recent changes to Claygent's structured output formatting behavior.
Since you're experiencing JSON-related formatting issues with structured outputs, could you paste the exact prompt and structured output configuration you're using in Claygent so I can help troubleshoot the formatting problem?
Hi, the prompt is very long, so here's the relevant bit in the prompt where I tell it how to format the JSON fields. { "Personalized_content_01": "subject line 1", "Personalized_content_02": "full email body 1 including signoff", "Personalized_content_03": "subject line 2", "Personalized_content_04": "full email body 2 including signoff", "Personalized_content_05": "subject line 3", "Personalized_content_06": "full email body 3 including signoff", "Personalized_content_07": "full email body 4 including signoff (RE: uses subject from Touch 3)", "Personalized_content_08": "subject line 5", "Personalized_content_09": "full email body 5 including signoff" } And then I define the field titles in outputs
Looking at your setup, the issue isn't with recent Claygent changes - it's likely how the AI model is interpreting your field names. The underscores in "Personalized_content_01" might be getting converted to spaces by the OpenAI model itself.
Try these fixes:
In your prompt, be more explicit: "Use EXACTLY these field names with underscores: Personalized_content_01, Personalized_content_02, etc. Do NOT add spaces or change formatting."
Use a formula after Claygent to replace spaces with underscores: SUBSTITUTE([Claygent Column], " ", "_")
The second option is probably your quickest fix for the Salesloft integration. [1]
Did that answer your question?
I've already done that for step 1 and plan on doing step two. However this seems like a recent change that is specific to Claygent, not OpenAI's model. The same problem happens when I use Anthropic. Seems to be on your end
The documentation doesn't mention any recent changes to Claygent's structured output formatting behavior. The field name conversion you're experiencing with underscores becoming spaces isn't documented as a known issue or recent update. [1]
Since you're seeing JSON formatting issues with structured outputs, could you paste your exact Claygent prompt and the JSON schema configuration you're using so I can help troubleshoot this specific formatting problem?
This is going in circles a bit, would appreciate human support
I understand your frustration, and I’m connecting you to a human teammate now who can assist you further.
Our support team has got your message and we'll get back to you soon!
If you’re dealing with a specific table, drop the URL below so we can help you quicker. Otherwise, someone from our team will be in touch soon!

Hey Dan, thanks for flagging this, checking now and will circle back shortly.
Checked and I believe I know what's happening there. When we get data back in snake case or words split by underscores, we display them in a more human-friendly notation when browsing the response.
However, I'm curious why you're not able to pass these fields as custom variables in Salesloft. The field name shouldn't matter at all when passing data from Clay to Salesloft. You simply refer to the field in the right custom variable field. Check out the screenshot below. You'll also notice the referenced field name is what you were expecting: 'Personalized_Content_1'.
Thank you Smit! That makes perfect sense. Hmm, I think maybe the Salesloft issue was unrelated to something on Clay's end and this stuck out as the likely cause to me but is concidental. I appreciate your prompt help!
Just my 2 cents it's maybe worth considering that other clients might find this titling change for readability's sake confusing if they're looking to similarly have fields named an exact way to pipe to other providers, maybe that's an edge case problem that's outweighed by the larger benefit of simplifying JSON titles for most users, though
Totally hear you, in all honesty it threw off at first as well. Will take this learning and share it with the team as feedback!
