Get Started

Iterato is an AI-powered product manager designed to help businesses collect, analyze, and act on feedback directly from their digital products (websites, web apps, and mobile apps). By embedding a script and triggering context-specific feedback requests, Iterato captures real-time user insights and presents them in a structured, actionable format.
Iterato helps:
- Gather live user feedback on features and interactions.
- Track events and tie them to user responses.
- Provide AI-summarized conversations and diagnostics.
Hierarchy & Verbiage
Understanding the structure of how data flows in Iterato:
Project
The top-level container. Every business or department can create one or more projects. Each
project has its own unique project_id
. A user can belong to multiple projects.
Event
Within a project, multiple events are created. Each event corresponds to a feedback
collection point (e.g., after a live stream, after a payment, during onboarding, etc.). Each
event has a unique event_id
.
Feedback
Associated with a specific event. Feedback is collected from users and includes:
reaction
(positive/negative)user_info
(optional user metadata such as name, email, UID)console_log
(browser logs at the time of feedback)ip_details
(IP address, location, etc.)browser
(user agent)connectivity
(network status)conversation_summary
(AI-generated summary of the user's inputs)
Project ├── Event 1 │ ├── Feedback 1 │ └── Feedback 2 └── Event 2 └── Feedback 3
What is a Project ID?
A project_id
is a unique identifier assigned to every project created in Iterato. It
acts as the primary reference key to:
- Initialize the service
- Fetch or filter feedback
- Identify feedbacks within a business use case
This ID must be used to initialize Iterato SDK on your website/app.
IteratoService.init("project-ms6djd");
What is an Event ID?
An event_id
refers to a specific moment or scenario within a project where feedback is
collected.
You define an event_id
for any context you want to capture feedback for—like a live
session, purchase completion, or onboarding.
Example Use Cases:
live-event-poiu82
checkout-success-239sdj
feature-toggle-darkmode
How it's used:
IteratoService.collect("live-event-poiu82", ["interacted-with-chat"]);
Every feedback is mapped back to an event_id
for context and segmentation.
Integration Guide
Include Iterato Script
Place the following script tag in the <head>
section of your HTML page:
<script src="https://cdn.jsdelivr.net/gh/Iterato-ai/js/1.0.min.js.js"></script>
If you face problems with above minified JS, You can include: https://cdn.jsdelivr.net/gh/Iterato-ai/js/1o0.js
Initialize the Service
IteratoService.init(project_id)
Description: Initializes the Iterato service for your project.
Input: project_id
(String) — the unique identifier for your
Iterato project.
Returns: Promise<Boolean>
— resolves to true
on successful initialization.
Example Usage (Best Practice):
(async function () {
try {
const initIterato = await IteratoService.init("project-5woc8");
if (initIterato) {
console.log("Service initiated successfully!");
} else {
console.log("Iterato Service initiation failed!");
}
} catch (error) {
console.error("Error during Iterato Service initiation:", error);
}
})();
Set User Context
IteratoService.setUser(userObject)
Description: Associates user data with feedback collected.
Input:
uid
(String): A unique user ID.userName
(String): The name of the user.userEmail
(String): The email of the user.- Any other key-value pair (optional): You can pass plan, feature list, etc.
Returns: Boolean
— returns true
if the user object
was set successfully.
Structure:
{
uid: "string", // optional
userName: "string", // optional
userEmail: "string", // optional
...otherMeta // optional
}
Example Usage:
const userSet = IteratoService.setUser({
uid: "User12617246148791",
userName: "John",
userEmail: "john@email.com",
plan: "Premium",
Features: ["Live Streaming", "Video Uploads", "Subscriptions"]
});
console.log(userSet); // true or false
Trigger Feedback Toast
IteratoService.collect(event_id, tags)
Description: Triggers a feedback toast based on an event.
Inputs:
event_id
(String): The event identifier (must be predefined in your dashboard).tags
(String | Array<String>): Contextual tags related to the event.
Returns: None (fires feedback toast if valid).
Accepted Tag Formats:
- Single string:
'interacted-with-chat'
- Array of strings:
['live-836', 'interacted-with-chat']
Example Usage:
IteratoService.collect('live-event-poiu82', ['live-836', 'interacted-with-chat']);
IteratoService.collect('live-event-poiu82', ['interacted-with-chat']);
IteratoService.collect('live-event-poiu82', 'interacted-with-chat');
Notes:
- Make sure you call
init()
before any other function. - Use
setUser()
early if you want to track user-specific insights. - Events and tags should be meaningful and consistently used for best results in analytics.
For any support or help, contact us at founder@iterato.in.
API Documentation
This section provides comprehensive information on how to use the Iterato API to fetch feedback data.
POST /fetchFeedbacks
Endpoint
https://api.iterato.in/fetchFeedbacks
Method
POST
Authentication
All requests must include a Bearer Token in the header.
Authorization: Bearer <secret_key>
Content-Type: application/json
Request Parameters
Name | Type | Required | Description |
---|---|---|---|
project_id |
String | Yes | The unique project ID associated with the Iterato account. |
tag |
String | No | Optional filter tag to narrow down feedback results. |
event_id |
String | No | Optional event identifier to filter feedback for a specific event. |
Example Request
curl --location 'https://api.iterato.in/fetchFeedbacks' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer your_secret_key' \
--data '{
"project_id": "project-2141as",
"tag": "tag_name",
"event_id": "event-251351"
}'
Response Fields
Field Name | Type | Description |
---|---|---|
event_id |
String | The associated event ID. |
user_info |
JSON | User details passed during setUser() . |
reaction |
String | Either positive or negative . |
conversation_summery |
String | AI-generated summary of the feedback conversation (only if the output is negative). |
created_at |
DateTime | Timestamp in ISO 8601 (GMT +0:00) format. |
Example Response
{
"1746612495284guamgm3xe75": {
"event_id": "live-event-2511",
"user_info": {"username": "John", "userEmail": "john@gmail.com"},
"reaction": "positive",
"created_at": "2025-05-07T10:08:20.714Z"
},
"1746612510250po1gvf4bcmg": {
"event_id": "live-event-2511",
"user_info": {},
"reaction": "negative",
"conversation_summery": "User was facing issue with live chat, reported lag",
"created_at": "2025-05-010T11:18:26.714Z"
}
}
Error Responses
Status Code | Description |
---|---|
400 | Missing required fields (e.g., project_id ). |
401 | Authentication failure (Invalid secret key or mismatched ID). |
500 | Internal server error. |
Need Help?
Contact us at founder@iterato.in for support.