Solution: Requesting ChatGPT to respond in JSON Format

The solution to our problem is two-folds:
- First, Instead of receiving a long text response from ChatGPT, we need ChatGPT to output its analysis in JSON format.
- Next, we need to force Make.com to parse the structured JSON data produced by ChatGPT and convert that data into mappable keys.
But how do we request ChatGPT to respond in JSON format?
Simple.
We need to extend our current prompt to include one more instruction:
Respond in the following JSON format:
{
"category_scores": {
"technical_expertise": 0,
"ecommerce_domain_knowledge": 0,
"project_experience": 0,
"skills_verification": 0
},
"overall_weighted_score": 0,
"justifications": {
"technical_expertise": "Brief justification.",
"ecommerce_domain_knowledge": "Brief justification.",
"project_experience": "Brief justification.",
"skills_verification": "Brief justification."
},
"top_strengths": [
"Strength 1",
"Strength 2",
"Strength 3"
],
"areas_for_improvement": [
"Improvement 1",
"Improvement 2"
],
"final_recommendation": "Strong Hire | Potential Hire | Need More Information | Not Recommended"
}
If you observe the JSON format we have provided, it is confining ChatGPT's output to achieve data reliability.
In other words, we are telling ChatGPT to follow certain rules when generating data.
For example:
- We are telling the scores should be in numeric format by providing
0
, a numeric value, as the placeholder. - We are telling to generate only
3
top strengths by providing "Strength 1", "Strength 2", "Strength 3" as values for the"top_strengths"
key.
Finally, we are restricting the "final_recommendation"
key to have only four values:
- Strong Hire
- Potential Hire
- Need More Information
- Not Recommended
You get the idea, right?
You can get as specific and creative as you want here.
Also, the JSON data was structured to create separate mappable keys for each key detail generated by ChatGPT.
This way, we can force Make.com to parse the structured JSON data produced by ChatGPT and convert that JSON data into mappable keys.
In other words, we will be just asking Make.com to do what it does usually.
And of course, I didn't come up with this JSON by myself.
I asked Claude.ai to do it for me by saying:
I want the final analysis in a json format with key and values.
Here is my full conversation with Claude to create the final prompt:
https://claude.ai/share/2b188777-6a7b-4dcd-973c-390eeafe9d6f
Go through it. You might pick up a new learning.
And here is the full prompt that I want you to update inside your ChatGPT module:
You are an expert technical recruiter specializing in e-commerce development. Please analyze the provided resume text for a WooCommerce developer position requiring 5 years of experience.
# WooCommerce Expert Resume Evaluation Instructions
## Primary Evaluation Areas
### 1. Technical Expertise (40% of total score)
Assess proficiency in:
- WooCommerce core functionality and customization
- PHP development
- WordPress theme and plugin development
- Payment gateway integration
- Custom extension development
- REST API implementation
- Performance optimization
- Security best practices
### 2. E-commerce Domain Knowledge (25% of total score)
Evaluate understanding of:
- Online store operations
- Inventory management
- Order processing workflows
- Shipping and tax configurations
- Customer management
- Analytics and reporting
- Multi-currency handling
- Digital/physical product management
### 3. Project Experience (20% of total score)
Review:
- Scale and complexity of WooCommerce projects
- Number of successful implementations
- Custom solutions developed
- Problem-solving examples
- Client industry variety
- Team collaboration evidence
### 4. Skills Verification (15% of total score)
Check for:
- Specific examples of technical achievements
- Quantifiable results (e.g., performance improvements, sales increases)
- Relevant certifications
- Contributing to WooCommerce community
- Code portfolio or GitHub presence
## Scoring Guidelines
### Rating Scale
- Each category should be rated from 0-10
- Final weighted score will be calculated based on percentages above
### Final Recommendation Categories
- Strong Hire (8-10)
- Potential Hire (6-7.9)
- Need More Information (5-5.9)
- Not Recommended (<5)
## Required Output Format
1. Individual category scores (0-10)
2. Overall weighted score (0-10)
3. Brief justification for each score (2-3 sentences)
4. Top 3 strengths
5. Top 2 areas for improvement
6. Final recommendation
## Warning Signals
- Missing specific WooCommerce examples
- Overemphasis on basic WordPress without e-commerce focus
## Positive Indicators
- Performance optimization metrics
- Security implementation details
- Active community participation
- Client testimonials or recommendations
Respond in the following JSON format:
{
"category_scores": {
"technical_expertise": 0,
"ecommerce_domain_knowledge": 0,
"project_experience": 0,
"skills_verification": 0
},
"overall_weighted_score": 0,
"justifications": {
"technical_expertise": "Brief justification.",
"ecommerce_domain_knowledge": "Brief justification.",
"project_experience": "Brief justification.",
"skills_verification": "Brief justification."
},
"top_strengths": [
"Strength 1",
"Strength 2",
"Strength 3"
],
"areas_for_improvement": [
"Improvement 1",
"Improvement 2"
],
"final_recommendation": "Strong Hire | Potential Hire | Need More Information | Not Recommended"
}

Great.
Once you update the prompt, save the changes.
And to check if we are getting it right this time:
- Run the automation once
- Fill and submit the Tally form yet again
This will result in:

And bang!
"What happened, Bro?"
ChatGPT is doing its job correctly. It responded to us in the JSON format.
But if you notice the data type of the result from ChatGPT, it is still a long string.
So, we still can't use this response to map key details of resume to corresponding columns of Airtable.
But don't worry.
We can easily fix this problem by configuring the "Parse JSON" and "Response Format" settings of the ChatGPT module.
You can only see these advanced settings if you enable the "Show advanced settings" toggle:

So:
- Click on the "Show advanced settings" toggle to enable it
- Next, choose "JSON Object" for the "Response Format" option so that ChatGPT responds in true JSON format rather than a fake JSON in long string format.
- After that, say "Yes" to the "Parse JSON Response" field so that the JSON response gets converted into mappable dynamic keys inside the Data mapping panel
- Finally, save the changes, run the automation once and submit the form one more time :D
Performing the above steps results in:

And there we go.
Make.com did its magic by converting JSON data produced by ChatGPT into mappable keys as usual.

Awesome, right?
That's all, we can now easily map the key details from ChatGPT’s verdict to the corresponding columns in the Airtable base:

I have tested this automation by submitting resumes of applicants with different profiles, and here is how my "CV Analysis" base looks now:

As you can see, our ChatGPT prompt and the entire automation is working in a reliable way.
I provided three resumes that portray little to no WordPress experience, and ChatGPT generated near zero scores that are accurate.
You can also test using different resume docs and profiles.
I have downloaded the following resumes from Canva, so feel to use them for your testing purposes:
jiara-martins-resumeDownloadolivia-wilson-resumeDownloadkim-chun-resumeDownload
Anyway, our job is not done yet :D
I have a couple of challenges for you to improve the resume screener automation.
I will throw the first challenge in the next lesson.