Skip to main content

CRM Complete Batch - Full Personality Analysis

Process up to 10 profiles concurrently with complete personality analysis including OCEAN, MBTI, and buyer playbooks.

When to Use

See the consolidated guidance: When to Use Each Batch Endpoint

Endpoint Details

PropertyValue
EndpointPOST /crm_batch
Cost2 credits × number of profiles
Max Profiles10 per request
Tier RequiredComplete
Processing Time~8-10 seconds for 5 profiles

Overview

The CRM Complete Batch endpoint provides comprehensive personality analysis for multiple profiles simultaneously, including OCEAN scores, MBTI types, and detailed buyer playbooks. You only pay for successfully analyzed profiles.

Key Features

  • Concurrent Processing: Up to 10 profiles analyzed simultaneously
  • Pay-per-Success: Only charged for successfully analyzed profiles
  • Time Efficient: ~65% faster than sequential single requests
  • Complete Analysis: OCEAN, MBTI, buyer manual, impact language, and more

Request

Headers

HeaderRequiredValue
Content-TypeYesapplication/json
x-api-keyYesYour API key

Request Body

{
"profiles": [
{
"primeiro_nome": "Satya",
"ultimo_nome": "Nadella",
"empresa": "Microsoft",
"contexto_adicional": "Optional context"
},
{
"primeiro_nome": "Sundar",
"ultimo_nome": "Pichai",
"empresa": "Google"
}
]
}

Parameters

ParameterTypeRequiredDescription
profilesarrayYesArray of profile objects (max 10)
profiles[].primeiro_nomestringYesFirst name
profiles[].ultimo_nomestringYesLast name
profiles[].empresastringYesCompany name
profiles[].contexto_adicionalstringNoAdditional context

Example Request

cURL

curl -X POST "https://api.fluenceinsights.com/crm_batch" \
-H "Content-Type: application/json" \
-H "x-api-key: your-api-key-here" \
-d '{
"profiles": [
{"primeiro_nome": "Satya", "ultimo_nome": "Nadella", "empresa": "Microsoft"},
{"primeiro_nome": "Sundar", "ultimo_nome": "Pichai", "empresa": "Google"}
]
}'

Python

import requests

API_URL = "https://api.fluenceinsights.com/crm_batch"
API_KEY = "your-api-key-here"

profiles = [
{"primeiro_nome": "Satya", "ultimo_nome": "Nadella", "empresa": "Microsoft"},
{"primeiro_nome": "Sundar", "ultimo_nome": "Pichai", "empresa": "Google"},
{"primeiro_nome": "Tim", "ultimo_nome": "Cook", "empresa": "Apple"}
]

response = requests.post(
API_URL,
headers={
"Content-Type": "application/json",
"x-api-key": API_KEY
},
json={"profiles": profiles}
)

if response.status_code == 200:
data = response.json()
summary = data['batch_summary']
print(f"✅ Processed {summary['successful']}/{summary['total_profiles']} profiles")
print(f"⚡ Time: {summary['processing_time_ms']/1000:.1f}s")
print(f"💰 Credits: {data['billing_info']['creditos_utilizados']}")

# Access personality insights
for result in data['results']:
if result['success']:
analise = result['analise']
print(f"\n{result['input']['primeiro_nome']} {result['input']['ultimo_nome']}:")
print(f" MBTI: {analise['mbti']['tipo']}")
print(f" Openness: {analise['ocean']['openness']:.1f}")
else:
print(f"❌ Error: {response.json()}")

JavaScript/Node.js

const axios = require('axios');

const API_URL = 'https://api.fluenceinsights.com/crm_batch';
const API_KEY = 'your-api-key-here';

async function analyzeBatch() {
const profiles = [
{ primeiro_nome: 'Satya', ultimo_nome: 'Nadella', empresa: 'Microsoft' },
{ primeiro_nome: 'Sundar', ultimo_nome: 'Pichai', empresa: 'Google' }
];

try {
const response = await axios.post(
API_URL,
{ profiles },
{
headers: {
'Content-Type': 'application/json',
'x-api-key': API_KEY
}
}
);

const { batch_summary, results, billing_info } = response.data;
console.log(`${batch_summary.successful}/${batch_summary.total_profiles} profiles`);
console.log(`💰 Credits: ${billing_info.creditos_utilizados}`);

results.forEach(result => {
if (result.success) {
const { analise, input } = result;
console.log(`\n${input.primeiro_nome}: ${analise.mbti.tipo}`);
}
});
} catch (error) {
console.error('❌ Error:', error.response?.data || error.message);
}
}

analyzeBatch();

Response

Success Response (200)

{
"success": true,
"batch_summary": {
"total_profiles": 2,
"successful": 2,
"failed": 0,
"processing_time_ms": 5234.67
},
"results": [
{
"success": true,
"profile_index": 0,
"input": {
"primeiro_nome": "Satya",
"ultimo_nome": "Nadella",
"empresa": "Microsoft"
},
"analise": {
"cargo": "Chairman and CEO",
"tipo_stakeholder": "C-Level Executive",
"ocean": {
"openness": 8.5,
"conscientiousness": 9.0,
"extraversion": 7.5,
"agreeableness": 8.0,
"neuroticism": 3.0
},
"mbti": {
"tipo": "ENTJ",
"descricao": "The Commander - Strategic, ambitious, natural leader",
"pontos_fortes": [
"Strategic thinking",
"Decisive leadership",
"Innovation focus"
],
"comunicacao_preferida": "Direct, goal-oriented, data-driven"
},
"manual_comprador": {
"dores": [
"Digital transformation challenges",
"Cloud migration complexity",
"Competitive market pressure"
],
"ganhos_procurados": [
"Innovation acceleration",
"Market leadership",
"Business growth"
],
"prioridades": [
"Technology innovation",
"Customer success",
"Organizational culture"
]
},
"linguagem_impacto": [
"Innovation drives growth",
"Empowering transformation",
"Customer-first approach"
]
}
},
{
"success": true,
"profile_index": 1,
"input": {
"primeiro_nome": "Sundar",
"ultimo_nome": "Pichai",
"empresa": "Google"
},
"analise": {
"cargo": "CEO",
"tipo_stakeholder": "C-Level Executive",
"ocean": {...},
"mbti": {...},
"manual_comprador": {...},
"linguagem_impacto": [...]
}
}
],
"billing_info": {
"creditos_por_perfil": 2,
"perfis_processados": 2,
"creditos_utilizados": 4,
"creditos_restantes": 196,
"tipo_plano": "complete"
}
}

Complete Tier Analysis Fields

FieldTypeDescription
cargostringCurrent position/title
tipo_stakeholderstringStakeholder classification
oceanobjectOCEAN personality scores (0-10)
ocean.opennessfloatOpenness to experience
ocean.conscientiousnessfloatConscientiousness level
ocean.extraversionfloatExtraversion level
ocean.agreeablenessfloatAgreeableness level
ocean.neuroticismfloatNeuroticism level
mbtiobjectMBTI personality type
mbti.tipostring4-letter MBTI type (e.g., ENTJ)
mbti.descricaostringPersonality description
mbti.pontos_fortesarrayKey strengths
mbti.comunicacao_preferidastringPreferred communication style
manual_compradorobjectBuyer playbook
manual_comprador.doresarrayPain points
manual_comprador.ganhos_procuradosarrayDesired gains
manual_comprador.prioridadesarrayTop priorities
linguagem_impactoarrayImpact language phrases

Error Responses

Insufficient Credits (402)

{
"error": "Insufficient credits",
"message": "Batch requires 20 credits but you have 15",
"profiles_requested": 10,
"credits_per_profile": 2,
"credits_available": 15
}

Batch Size Exceeded (400)

{
"error": "Batch size exceeds maximum",
"message": "Maximum 10 profiles per batch, received 15",
"max_batch_size": 10,
"profiles_received": 15
}

Partial Batch Failure (200)

{
"success": true,
"batch_summary": {
"total_profiles": 3,
"successful": 2,
"failed": 1
},
"results": [
{
"success": true,
"profile_index": 0,
"analise": {...}
},
{
"success": false,
"profile_index": 1,
"input": {"primeiro_nome": "John", "empresa": "Unknown"},
"error": "Profile not found",
"error_code": "PROFILE_NOT_FOUND"
},
{
"success": true,
"profile_index": 2,
"analise": {...}
}
],
"billing_info": {
"creditos_utilizados": 4
}
}

Credit Calculation

ScenarioCalculationTotal Credits
5 profiles, all successful2 × 510 credits
10 profiles, all successful2 × 1020 credits
10 profiles, 8 successful2 × 816 credits

Note: You are only charged for successfully analyzed profiles. Failed analyses do not consume credits.

Performance Benchmarks

ProfilesSingle RequestsBatch RequestTime Saved
5 profiles~20-25 sec~8-10 sec60% faster
10 profiles~40-50 sec~15-20 sec65% faster

Use Cases

Sales Intelligence

def build_sales_intelligence(prospects):
"""Analyze prospects for sales team"""
batch_size = 10
enriched_prospects = []

for i in range(0, len(prospects), batch_size):
batch = prospects[i:i + batch_size]
response = requests.post(API_URL, json={"profiles": batch}, headers=headers)

if response.status_code == 200:
for result in response.json()['results']:
if result['success']:
enriched_prospects.append({
'name': f"{result['input']['primeiro_nome']} {result['input']['ultimo_nome']}",
'company': result['input']['empresa'],
'mbti': result['analise']['mbti']['tipo'],
'communication_style': result['analise']['mbti']['comunicacao_preferida'],
'pain_points': result['analise']['manual_comprador']['dores']
})

return enriched_prospects

Personality-Based Segmentation

def segment_by_personality(batch_results):
"""Segment contacts by MBTI type"""
segments = {}

for result in batch_results['results']:
if result['success']:
mbti = result['analise']['mbti']['tipo']
if mbti not in segments:
segments[mbti] = []
segments[mbti].append(result)

return segments

Best Practices

1. Batch Size Optimization

  • Recommended: 10 profiles per batch (maximum)
  • For large datasets: Process in sequential batches of 10
  • Add delays: 0.5-1s between batches for large-scale processing

2. Credit Management

# Verify sufficient credits before batch processing
credits_needed = len(profiles) * 2 # 2 credits per profile
current_credits = check_credits(API_KEY)

if current_credits < credits_needed:
print(f"⚠️ Insufficient credits: {current_credits} available, {credits_needed} needed")
else:
process_batch(profiles)

3. Processing Large Datasets

def process_large_dataset(profiles, batch_size=10):
"""Process large datasets in optimized batches"""
results = []
total_credits = 0

for i in range(0, len(profiles), batch_size):
batch = profiles[i:i + batch_size]
response = requests.post(API_URL, json={"profiles": batch}, headers=headers)

if response.status_code == 200:
data = response.json()
results.extend(data['results'])
total_credits += data['billing_info']['creditos_utilizados']

print(f"Progress: {min(i + batch_size, len(profiles))}/{len(profiles)}")
print(f"Credits used: {total_credits}")

time.sleep(0.5) # Rate limiting

return results, total_credits

When to Use This Endpoint

✅ Use CRM Complete Batch When:

  • Need full personality insights for multiple profiles
  • Building personality-based sales strategies
  • Segmenting contacts by communication preferences
  • Analyzing team dynamics at scale
  • Processing 2-10 profiles at once

❌ Use Single Endpoint When:

  • Analyzing only 1 profile
  • Real-time interactive analysis needed
  • Immediate feedback required

Comparison with Other Tiers

FeatureBasic BatchComplete BatchPlus Batch
Credits per profile123
OCEAN scores
MBTI type
Buyer playbookBasicCompleteComplete
AI insights
Processing time~8-10s~8-10s~15-25s

Next Steps