Hushh Intelligence Portal — Post-Submit Results Guide (Agentic APIs)
The Hushh Intelligence Portal is an internal workflow in this repo that:
- Collects a lead’s Email, Full Name, and Phone
- Calls multiple agentic APIs in sequence
- Merges all agent responses into one “best profile” (with Gemini prioritized)
- Renders the Analysis Complete results screen with a structured breakdown of user details
This guide documents exactly what is rendered after the user enters details and how to reproduce the same behavior via APIs.
Portal entry (opens in a new tab): hushh.ai/intelligence-portal
1) What happens after the user clicks “Analyze Profile”
The UI collects:
emailfullNamecountryCode(e.g.,+91,+1)phoneNumber(digits only; 10–15 digits)
Then the portal generates a single detailed prompt asking an agent to return a strict JSON profile that includes (examples):
- user ID, full name, email, phone
- address, age, gender
- demographics (marital status, children)
- professional (occupation, education, income)
- lifestyle (diet, cuisine, gym)
- technology + interests
- needs/wants/desires
- intents for 24h / 48h / 72h
2) Which agents are called (and in what order)
The portal calls these agents sequentially (so progress can be displayed):
brand— Brand/CRM Agenthushh— Hushh (Supabase Query) Agentpublic— OpenAI Public Data Agentgemini— Gemini Public Data Agent
Note: In the results merge logic, agents are merged in order brand → hushh → public → gemini so Gemini overwrites/fills last (i.e., Gemini is prioritized).
3) How the portal calls agents (the exact API path)
From the client, the portal calls the local proxy route:
POST /api/a2a/{agent}
Content-Type: application/jsonSo for example:
/api/a2a/brand/api/a2a/hushh/api/a2a/public/api/a2a/gemini
If you’re calling from outside the app, use the fully-qualified site URL:
https://hushh.ai/api/a2a/{agent}
Request body
The proxy accepts:
{
"text": "<prompt>",
"sessionId": "session-1735...",
"id": "task-abc123"
}sessionId and id are optional.
4) Reproducing the portal with cURL (agent-by-agent)
Use the same prompt text you’d send via the UI.
Public Data Agent
curl -X POST "https://hushh.ai/api/a2a/public" \
-H "Content-Type: application/json" \
-d "{\"text\":\"Can you provide me with a detailed JSON profile of Sundar Pichai having email sundar.pichai@example.com and phone +1 6505559001. The output should strictly be in JSON format.\"}"Gemini Public Data Agent
curl -X POST "https://hushh.ai/api/a2a/gemini" \
-H "Content-Type: application/json" \
-d "{\"text\":\"Can you provide me with a detailed JSON profile of Sundar Pichai having email sundar.pichai@example.com and phone +1 6505559001. The output should strictly be in JSON format.\"}"Hushh (Supabase Query) Agent
curl -X POST "https://hushh.ai/api/a2a/hushh" \
-H "Content-Type: application/json" \
-d "{\"text\":\"Can you fetch all the details of the user having email sundar.pichai@example.com and phone +1 6505559001? Return JSON.\"}"Brand (CRM) Agent
curl -X POST "https://hushh.ai/api/a2a/brand" \
-H "Content-Type: application/json" \
-d "{\"text\":\"Create a JSON profile for Sundar Pichai (email sundar.pichai@example.com, phone +1 6505559001) and summarize top preferences and intents.\"}"5) How the portal merges the agent outputs (important)
After all agent calls finish, the portal:
- Extracts a text blob from common JSON-RPC response shapes (e.g.,
result.status.message.parts[0].text) - Strips markdown fences like ```json
- Parses JSON
- If the JSON has a
userProfilewrapper, it mergesuserProfile - Merges agents in this order:
brand→hushh→public→gemini
This means:
- If multiple agents provide the same field, the value from Gemini wins (because it merges last)
- If a field is missing from some sources, later sources can fill it
6) What the “Analysis Complete” screen renders
After merging, the portal renders these sections and fields.
BASIC INFORMATION
- Full Name
- Phone
- Age
- Gender
LOCATION
- Address
- City
- State
- Postal Code
- Country
DEMOGRAPHICS
- Marital Status
- Household Size
- Children Count
PROFESSIONAL
- Occupation
- Education
- Income Bracket
- Home Ownership
- City Tier
LIFESTYLE
- Diet Preference
- Favorite Cuisine
- Coffee or Tea
- Fitness Routine
- Gym Membership
- Shopping Preference
- Grocery Store Type
- Fashion Style
- Transport
- Sleep Chronotype
- Eco-Friendliness
TECHNOLOGY
- Tech Affinity
- Primary Device
- Favorite Social Platform
- Social Media Usage Time
- Content Preference
INTERESTS
- Sports Interest
- Gaming Preference
- Travel Frequency
INTENT ANALYSIS
- Needs (array)
- Wants (array)
- Desires (array)
- Intent Timeline:
- 24 hours: category, budget, timeWindow, confidence
- 48 hours: category, budget, timeWindow, confidence
- 72 hours: category, budget, timeWindow, confidence
ANALYSIS METADATA
- Confidence Score (from
confidence_score/confidence) - Accuracy Score (from
accuracy_score/accuracy) - Total Fields (count of keys in merged JSON)
- Response Time (average across agents)
7) Viewing Raw Data (debugging)
The portal also provides a Show Raw Data modal that displays:
- The submitted user input
- The merged/parsed profile JSON
- The full per-agent result payloads
- Metadata
Next steps
- Open the Intelligence Portal: hushh.ai/intelligence-portal