This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.
You've finished building a site for a client and want them to review it before it goes live. You give them a link that stays open for the review period, then work through what they left.
To collect client feedback on a site:
Call Create Feedback Session with an expirationDate at the end of the review period, and fields set to SHARE_URL:
Send the returned shareUrl to the client. They review the site and leave comments through it.
Call Query Comments, filtering on feedbackId with the feedback session's id, to retrieve the comments left through the session.
Triage and reply to each comment with the Comments API.
A site can have several feedback sessions open at once, for example one per stakeholder. You want to show the ones that still accept comments, with a link to each, so a teammate can resend a link or see what's open.
To list the review links still collecting feedback:
Call Query Feedback Sessions, filtering on expirationDate later than now, and with fields set to SHARE_URL:
Page through the results with the cursors.next value returned in pagingMetadata, and display each session's shareUrl and expirationDate.
Old review rounds pile up on a site you keep iterating on. You want to remove the feedback sessions that no longer accept comments, while keeping the comments left through them.
To clean up expired feedback sessions:
expirationDate earlier than now.cursors.next value returned in pagingMetadata, collecting every session's id.Last updated: 4 October 2026