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.