Insights
This page has all the methods related to Insights (Feedbacks).
Note that "Insights" and "Feedbacks" are the same thing. Internally, we just call them Feedbacks because that's what they were called when Productlane was first launched :)
Submit an insight
Creates a new insight (feedback).
This is different from /submitFeedback:
-
createFeedbackrequires an API key. It can set more fields (like the status). On Productlane, it's the method that gets called when you create an insight from the Dashboard. -
submitFeedbackdoes not require an API key, but requires the Public Roadmap to be enabled. On Productlane, it's the method that gets called when a user submits feedback on your Public Roadmap.
Params
- Name
text- Type
- string
- Description
Text to be included in the feedback
- Name
painLevel- Type
- "UNKNOWN" | "LOW" | "MEDIUM" | "HIGH"
- Description
How critical this feature is to the user.
In the Productlane Portal and Dashboard, these are displayed differently:
"LOW"is called Medium "MEDIUM"is called High "HIGH"is called Critical
- Name
email- Type
- string
- Description
Email of the user who's submitting the feedback
- Name
projectId- Type
- string
- (optional)
- Description
ID of the project the user is submitting feedback for
- Name
notify- (optional)
- Description
- Name
notify.slack- Type
- boolean
- (optional)
- Description
Whether to send a Slack notification to the channel configured for the slack integration
- Name
state- Type
- "NEW" | "PROCESSED" | "COMPLETED"
- (optional)
- Description
"NEW"is the default and places the feedback in the inbox"PROCESSED"places the feedback in the repository"COMPLETED"places the feedback in the inbox, and marks it as completed (ready for follow-up)
Result
- Name
result- Type
- Feedback
- Description
The newly created feedback
- Name
error- Type
- Error
- Description
Null if the request succeeded, otherwise an error object
Request
{
"params": {
"text": "I just want to tell you how I'm feeling, gotta...",
"painLevel": "LOW",
"email": "rick@example.com",
"projectId": "0040954e-8887-...",
"notify": { "slack": true },
"state": "PROCESSED"
}
}
Response
{
"result": {
"id": "276ed589-3e53-40a3-b986-fc89b390c847",
"createdAt": "2023-02-18T14:02:06.722Z",
"updatedAt": "2023-02-18T14:02:06.722Z",
"text": "",
"userEmail": "test@example.com",
"painLevel": "UNKNOWN",
"state": "NEW",
"origin": "API",
"organizationId": "922eb553-8dc5-4a00-a16b-01735334be53",
"customerId": "2dbfb552-5157-4abc-96c6-2fa2c3eef659",
"companyId": null,
"reporterId": "5790549e-1a6f-4efe-837a-e70360e25cf0",
"organization" { ... },
// All insights created through the API will have a special "reporter".
// That's because the API gets its own user.
// You will likely not need this :P
"reporter": {
"id": "5790549e-1a6f-4efe-837a-e70360e25cf0",
"createdAt": "2022-12-13T01:57:57.435Z",
"updatedAt": "2023-02-07T14:52:30.200Z",
"email": "922eb553-8dc5-4a00-a16b-01735334be53@rpc.productlane.io", // <org_id>@rpc.productlane.io
"imageUrl": "https://...",
"name": "API",
"role": "API",
"feedbackEmailsEnabled": false,
"changelogEmailsEnabled": false,
"unpublishedProjectsEmailsEnabled": false,
}
},
"error": null
}