Skip to main content
Gleap is a customer feedback and bug reporting platform that helps product teams collect, manage, and analyze user feedback through in-app surveys, bug reports, feature requests, and live chat. It provides a unified inbox for managing all customer interactions and product insights.

Configuring Gleap as a Source

In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Gleap option from the list of connectors. Click Next and you’ll be prompted to add your access.

1. Add account access

You’ll need to provide your Gleap API credentials. You can find them in your Gleap dashboard under Project Settings > Security > API Key. The following configurations are available:
  • API Key: Your Gleap API key used to authenticate requests. This field is required.
  • Project ID: The Gleap project ID found in your project settings. This field is required.
  • Start Date: The earliest date from which records will be synced. Used for the first full sync and when no previous state exists. Format: YYYY-MM-DDTHH:mm:ssZ.
Once you’re done, click Next.

2. Select streams

Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.
Tip: The stream can be found more easily by typing its name.
Select the streams and click Next.

3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.
  • Layer: Choose between the existing layers on your catalog. This is where you will find your new extracted tables once the extraction runs successfully.
  • Folder: A folder can be created inside the selected layer to group all tables being created from this new data source.
  • Table name: We suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
  • Sync Type: You can choose between INCREMENTAL and FULL_TABLE.
    • Incremental: Each run fetches only new or updated records since the last replicated timestamp. Recommended for ongoing syncs so you keep every event without re-reading full history.
    • Full table: Each run re-exports all data from the configured start date. Use when you need to backfill or fully refresh the dataset.
Once you are done configuring, click Next.

4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated. Optionally, you can define some additional settings:
  • Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
  • Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
Once you are ready, click Next to finalize the setup.

5. Check your new source

You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.
For you to be able to see it on your Catalog, you need at least one successful source run.

Streams and Fields

Below you’ll find all available data streams from Gleap and their corresponding fields:
FieldTypeDescription
idstringUnique ticket identifier
bugIdintegerNumeric bug ID
titlestringTicket title
descriptionstringTicket description
typestringTicket type (BUG, FEATURE_REQUEST, etc.)
statusstringCurrent status (OPEN, CLOSED, etc.)
prioritystringPriority level (HIGH, MEDIUM, LOW)
sentimentstringDetected sentiment
createdAtdatetimeWhen the ticket was created
updatedAtdatetimeWhen the ticket was last updated
closedAtdatetimeWhen the ticket was closed
dueDatedatetimeDue date for the ticket
processingUserstringAssigned user ID
processingTeamstringAssigned team ID
sessionstringAssociated session ID
tagsarrayTags assigned to the ticket
archivedbooleanWhether the ticket is archived
isSpambooleanWhether the ticket is marked as spam
conversationClosedbooleanWhether the conversation is closed
conversationRatingstringRating given by the user
hasAgentReplybooleanWhether an agent has replied
upvotesCountintegerNumber of upvotes
duplicatesCountintegerNumber of duplicates
scorenumberTicket score
channelstringChannel information
aiSummarystringAI-generated summary
shareTokenstringShare token for public access
formDatastringForm data (JSON)
customDatastringCustom data (JSON)
metaDatastringMetadata (JSON)
slaBreachedbooleanWhether SLA was breached
snoozedbooleanWhether the ticket is snoozed
snoozedUntildatetimeSnooze end date
firstAssignmentAtdatetimeWhen the ticket was first assigned
notificationsUnreadintegerCount of unread notifications
FieldTypeDescription
idstringUnique session identifier
gleapIdstringGleap internal ID
gleapHashstringGleap hash
userIdstringUser identifier
namestringUser display name
emailstringUser email address
phonestringUser phone number
langstringUser language
locationstringUser location
avatarstringAvatar URL
companyIdstringCompany identifier
companyNamestringCompany name
deviceTypestringDevice type
platformstringPlatform (web, iOS, Android)
planstringUser plan
valuenumberUser value
slanumberSLA value
sessionsnumberNumber of sessions
blockedbooleanWhether the user is blocked
unsubscribedbooleanWhether the user unsubscribed
emailOnlybooleanWhether it is an email-only contact
firstActivitydatetimeFirst activity date
lastActivitydatetimeLast activity date
lastHeardFromdatetimeLast heard from date
lastPageViewstringLast page viewed
countFeedbackReportsintegerNumber of feedback reports
countFeedbackCommentsintegerNumber of feedback comments
tagsarrayTags assigned to the session
customDatastringCustom data (JSON)
eventDatastringEvent data (JSON)
FieldTypeDescription
idstringUnique message identifier
ticketstringAssociated ticket ID
typestringMessage type
statusstringMessage status
botbooleanWhether the message is from a bot
isNotebooleanWhether it is an internal note
kaiChatbooleanWhether it is from the AI assistant
outboundbooleanWhether it is an outbound message
sendToChannelbooleanWhether it was sent to a channel
sessionNotificationsUnreadbooleanUnread notification flag
createdAtdatetimeWhen the message was created
updatedAtdatetimeWhen the message was last updated
datastringMessage content (JSON)
translatedDatastringTranslated content (JSON)
commentstringComment text
ratingstringMessage rating
userstringSender user ID
sessionstringAssociated session ID
emailIdstringAssociated email ID
messageRefstringMessage reference
replyTostringReply-to message ID
outboundTemplatestringOutbound template ID
outboundSubjectstringOutbound email subject
attachmentsstringAttachments (JSON)
actionsstringActions (JSON)
channelstringChannel information (JSON)
aiDatastringAI data (JSON)
FieldTypeDescription
idstringUnique team identifier
namestringTeam name
assignmentMethodstringHow tickets are assigned (random, balanced, manual, circular)
membersarrayList of team member IDs
selectOnlyOnlineMembersbooleanWhether to assign only to online members
limitTicketAmountbooleanWhether there is a ticket limit per member
ticketAmountnumberMaximum tickets per member
createdAtdatetimeWhen the team was created
updatedAtdatetimeWhen the team was last updated
FieldTypeDescription
idstringUnique survey identifier
namestringSurvey name
typestringSurvey type
statusstringSurvey status
createdAtdatetimeWhen the survey was created
updatedAtdatetimeWhen the survey was last updated
configstringSurvey configuration (JSON)
FieldTypeDescription
idstringUnique response identifier
survey_idstringParent survey ID
sessionstringRespondent session ID
createdAtdatetimeWhen the response was submitted
updatedAtdatetimeWhen the response was last updated
responsesstringResponse data (JSON)
readbooleanWhether the response has been read

Data Model

The following diagram illustrates the relationships between the core data streams in Gleap. The arrows indicate the join keys that link the different entities, providing a clear overview of the data structure.

Implementation Notes & Troubleshooting

Incremental Sync & Pagination

  • The connector natively supports incremental extractions (state capability enabled) using cursor-based pagination and URL-encoded date filtering for high reliability. This ensures no data is missed across extraction windows.
  • Ensure that the start date format matches YYYY-MM-DDTHH:mm:ssZ if you decide to alter it via configuration.

Troubleshooting

IssuePossible causeSolution
Authentication errorsWrong API Key or Project IDVerify your API credentials in your Gleap dashboard under Project Settings > Security > API Key.
Missing recent recordsState configuration issueFor incremental syncs, make sure the prior runs finished successfully. The connector uses a URL-encoded start date marker automatically tracking the last fetched object to continue the process accurately.
Nested JSON objectsUnparsed propertiesData structures such as customData, metaData, or eventData are delivered as JSON strings. Apply proper JSON parsing (e.g. JSON_EXTRACT) in your downstream SQL queries inside Nekt Explorer to unnest them into individual fields.

Skills for agents

Download Gleap skills file

Gleap connector documentation as plain markdown, for use in AI agent contexts.