Skip to main content
Ingest external feedback data into BuildBetter to analyze alongside your calls and documents. This includes support tickets, NPS surveys, Slack messages, and more.

Quick Start

1

Create a Feedback Source

Define where your feedback comes from (e.g., “Support Tickets”, “NPS Survey”)
2

Create or Update People

Ensure the person exists in your system
3

Send Feedback Records

Ingest structured feedback with content and metadata

Authentication

All requests require authentication:

Endpoints

Create Feedback Source

POST /v3/rest/feedback-sources

Creates a new feedback source to categorize your data.
Response:

Create or Update Person

PUT /v3/rest/people

Ensures a person exists before ingesting their feedback.
Response:

Ingest Feedback Record

POST /v3/rest/feedback-sources/{id}/records

Sends structured feedback data to a feedback source.
Response:

Field Structure

Categories

  • content - The actual feedback (comments, descriptions, messages)
  • created_at - Timestamp fields
  • identifier - External identifiers and references
  • identity - User or entity identification fields
  • metadata - Additional context (priority, tags, channel, etc.)

Types

  • boolean - True/false values
  • date - Date only values
  • datetime - Date and time values
  • float - Decimal numeric values
  • integer - Whole number values
  • json - Structured JSON data
  • string - Text content

Example Field

Implementation Examples

Best Practices

  • Use external_id to prevent duplicate records
  • Set display_ts to the original timestamp when the feedback was created
  • Validate data before sending to avoid errors
  • Use snake_case and descriptive field names for consistency
  • Include relevant metadata for better filtering and analysis

Error Handling

Common error responses and how to handle them:
Invalid request format or missing required fieldsCheck that:
  • All required fields are present
  • JSON is properly formatted
  • Field types match expected values
Invalid or missing API keyEnsure:
  • API key is included in X-BuildBetter-Api-Key header
  • Key format is correct
  • API key has necessary permissions
Feedback source or person not foundVerify:
  • Feedback source ID exists
  • Person ID is valid (if provided)
  • You have access to the resource
Duplicate external_id detectedResolution:
  • Use a unique external_id
  • Check if record already exists
  • Update existing record if needed

Rate Limits

  • Requests per minute: 100
  • Records per request: 1
  • Field size limit: 10KB per field value

Next Steps

Legacy GraphQL Reference

Reference legacy GraphQL queries during migration

Explore Webhooks

Set up real-time notifications for feedback events