AskNicely
Overview
Integration
This integration imports AskNicely survey responses into Birdie so they can be analyzed alongside other feedback sources. The connector currently supports NPS and CSAT responses and maps them into Birdie Feedback.
Requirements
To connect AskNicely to Birdie, you need:
AskNicely base URL: the URL you use to access AskNicely in your browser (must include
https://).AskNicely API key: AskNicely authenticates API requests via a per-user API key.
Recommendation: create a dedicated AskNicely user for Birdie and use that user’s API key.
Setup in AskNicely
1) Find your AskNicely base URL
Log in to AskNicely.
Copy the full URL from your browser address bar.
Use that as the base URL in Birdie (including
https://).
2) Generate an API key
AskNicely API requests are authenticated using the X-apikey header.
Log in to AskNicely.
Go to Settings.
Open Users.
Select the user that will be used for the Birdie integration (or create a dedicated user).
Copy the API key for that user.
References:
https://demo.asknice.ly/help/apidocs/
Connect to Birdie
Provide the following to Birdie (share credentials via a secure, one-time channel):
domain: AskNicely base URL (must include scheme, e.g.https://…)api_key: AskNicely API key
Birdie manages the import window internally (start/end timestamps) as part of the scheduled sync.
Data in scope
Entities imported
Survey responses (NPS and CSAT)
Endpoint and authentication
Birdie fetches responses from AskNicely using:
Method:
GETPath:
/api/v1/responses/desc/100/{page}/0/jsonQuery:
realdates=yesAuth header:
X-apikey: <api_key>Accept:
application/json
Pagination
Page-based pagination (
{page}starts at 1).Fixed page size of 100 responses per page.
Pagination stops when a page returns fewer than 100 items.
Incremental/time window behavior
Birdie filters responses by the AskNicely
respondedtimestamp to match the scheduled start/end time window.Birdie applies an overlap window by subtracting
overlap_secondsfrom the requested start time to avoid missing late-arriving responses. Responses are deduplicated usingresponse_id.
Primary keys and idempotency
Birdie uses AskNicely
response_idas the stable identifier for each feedback.Birdie’s
feedback_idis derived fromresponse_idto keep updates consistent across reprocessing.
Mapping
AskNicely fields are mapped as follows:
question_type→ feedback kind (nps/csat)answer→ ratingcomment→ textsurvey_template→ titleresponded→ posted_at
Security notes
Treat the API key as a secret (do not paste into chat/email).
Rotate keys if you suspect exposure.
Prefer a dedicated AskNicely user for the integration.
Troubleshooting
“missing protocol scheme” / URL errors
Cause: The base URL was provided without https://.
Fix: Use the full AskNicely base URL exactly as in the browser address bar (including https://).
401/403 Unauthorized
Cause: API key is invalid, revoked, or belongs to a user without access. Fix: Regenerate/copy the correct API key and ensure the user has access to responses.
Non-200 response errors
Symptom: Connector fails with an error that includes HTTP status and response body. Cause: AskNicely API returned a non-200 (rate limit, auth, server error). Fix: Verify API key, base URL, and retry later if it’s a transient API issue.
Rate limiting (429)
Cause: AskNicely API rate limit reached. Fix: Retry after a short delay. Birdie’s client retries 429 responses, but sustained throttling may still fail the run.
“invalid responded timestamp …”
Cause: AskNicely returned a responded value that cannot be parsed as unix seconds/millis or datetime.
Fix: Confirm responses are being recorded correctly in AskNicely; share a sample payload with Birdie support.
“invalid response answer …” / “missing response answer”
Cause: answer is missing or not numeric.
Fix: Ensure the response type is NPS/CSAT and returns numeric answers.
References
AskNicely API docs: https://demo.asknice.ly/help/apidocs/
Last updated