Response Object

Represents a tracked submission.

2 minPrerequisites: Understand trackResponse()

Problem: trackResponse() returns an object but you are not sure what fields it contains or what they mean.

Solution: The response object has seven fields — ID, projectId, type, payload, metadata, status, and timestamps.

Type

typescript
interface Response {
  id: string;                           // Unique response ID
  projectId: string;                    // Project it belongs to
  type: string;                         // Response type you set
  payload: Record<string, any>;         // Form data submitted
  metadata?: Record<string, any>;       // Optional context
  status: 'reply' | 'waiting' | 'done';
  createdAt: string;                    // ISO 8601 timestamp
}

Example

json
{
  "id": "resp_abc123def456",
  "projectId": "proj_xyz789",
  "status": "need_reply",
  "type": "demo_request",
  "payload": {
    "name": "John Doe",
    "email": "[email protected]",
    "company": "Acme Inc"
  },
  "metadata": {
    "pageUrl": "/pricing",
    "source": "pricing_page"
  },
  "createdAt": "2026-05-22T10:30:00Z"
}

Result: You now understand every field in a response object and can use the returned data in your application.

Common Questions

What does the response object from trackResponse() contain?

ID (unique identifier), projectId, status (need_reply initially), type (the label you set), payload (form data), metadata (optional context), and timestamps for created and updated.