Resolve feedback with AI

Let Cursor, Claude Code, or another MCP client read your clients' feedback, make the changes in your project, and mark each request done with a note.

Every feedback request carries the page, the element, the current and requested text, a screenshot, and the device. That's enough context for your AI coding assistant to find the spot in your code and make the change. You type "fix the open Dropl feedback for this site", review what it did, and your client gets an email for each finished request.

1. Connect Dropl to your assistant

Follow Set up with AI to add the MCP server and sign in. Leave the two Feedback permissions ticked when you approve the sign-in:

PermissionWhat it allows
feedback:readList requests and read them with their context and thread
feedback:writeReply to requests and change their status

Connected before Feedback existed? Your key doesn't have these permissions yet. Run npx -y @dropl/mcp login again and approve, or create a new key with the Feedback permissions.

2. Ask for the fixes

Open the client's website project in your editor and paste one of the prompts below.

What the assistant does

  1. Lists the requests. list_feedback returns the site's open and in-progress requests. It can filter by status, type, and page.
  2. Reads each one. get_feedback returns the page URL, the element (selector, text hint, and position), the current and requested text, a screenshot link, the device and window size, and the thread.
  3. Finds the code. It searches your project for the text or the element on that page.
  4. Makes the change. Text changes can usually be applied directly. For anything unclear, it replies to the client with reply_to_feedback instead of guessing.
  5. Checks its work. It runs your build.
  6. Marks it done. update_feedback_status sets the request to Done with a short note saying what changed. Your client gets an email with the note.

Nothing on the live site changes until you deploy, so you review the code first.

Guidance for the assistant

The Dropl tools tell the assistant to apply text changes directly and to ask when a request is ambiguous. These rules are worth repeating in your prompt:

  • Apply text changes directly when the current text is found and the new text is clear.
  • Ask, don't guess. If a request is ambiguous, can't be found, or needs a decision (design, content, cost), reply asking the client to clarify and leave it open.
  • Mark each request done with a short note saying what changed, in plain language for the client. Use Won't do with a reason when a request isn't going ahead.
  • Don't close what isn't finished. Use In progress for work that's started but not deployed.

Prompts to copy

Fix the open feedback

Fix the open Dropl feedback for this site. Use list_feedback to find the open requests and get_feedback to read each one, including the screenshot and the element details. Make the changes in this project. Apply text changes directly. If a request is ambiguous or you can't find the element, reply to the client with reply_to_feedback asking what they mean instead of guessing, and leave it open. Run the build, then mark each finished request done with update_feedback_status and a short note for the client saying what you changed.

Apply text changes only

Apply all open text-change requests in Dropl for the client site "SITE NAME". Use list_feedback with type text_change, then get_feedback for each request to see the current and requested text and the page. Find the current text in this project and replace it with the requested text exactly. If the current text appears in more than one place, or you can't find it, reply to the client asking which one they mean and skip it. Run the build, then mark each changed request done with a short note like: Changed the homepage heading to "...".

Ask about anything unclear

Go through the open Dropl feedback for this site. Don't change any code yet. For each request that's ambiguous, missing details, or needs a decision from the client, reply with reply_to_feedback asking one clear question in plain language. Then give me a list of the requests you asked about and the ones that are clear enough to do.

Summarize by page

Summarize the open Dropl feedback for this site, grouped by page. For each request, give the number, the type, who asked, what they want in one line, and how much work it looks like (quick text change, small layout change, or bigger). Don't change any code or statuses.

The Feedback tools

ToolWhat it's for
list_feedbackA site's requests. Defaults to open and in progress; filter by status, type, and page
get_feedbackOne request with its page, element, text, screenshot, device, and thread
reply_to_feedbackReply to the client on a request
update_feedback_statusSet open, in_progress, done, or wont_do, with an optional resolution note

Public API

Scripts and integrations can do the same with an API key that has the Feedback scopes. Paths are relative to the Public API base URL, https://www.dropl.io/api/v1.

Method and pathScopeWhat it does
GET /sites/{siteId}/feedbackfeedback:readA site's requests. Query: status (comma-separated, default open,in_progress), type, page, limit (default 50, up to 100), offset
GET /feedback/{requestId}feedback:readOne request with its context and thread
POST /feedback/{requestId}/repliesfeedback:writeReply. Body: { "message": "..." }
PATCH /feedback/{requestId}feedback:writeChange the status. Body: { "status": "done", "resolutionNote": "..." }

siteId is the client site's id from GET /sites. Resolution notes can be up to 2000 characters. A key without the scope gets INSUFFICIENT_SCOPE.

List the open requests:

curl "https://www.dropl.io/api/v1/sites/SITE_ID/feedback?status=open,in_progress" \
  -H "Authorization: Bearer $DROPL_API_KEY"

Mark one done with a note:

curl -X PATCH "https://www.dropl.io/api/v1/feedback/REQUEST_ID" \
  -H "Authorization: Bearer $DROPL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "done", "resolutionNote": "Changed the homepage heading to \"Fresh bread every morning\"."}'

Troubleshooting

The assistant is missing a permission (INSUFFICIENT_SCOPE). The connection was approved before Feedback existed or without the Feedback permissions. Run npx -y @dropl/mcp login again and leave them ticked.

The assistant can't find the element. The page may have changed since the request, or the text is built from data. Ask it to reply to the client, or open the request in the dashboard and use the screenshot.

The client didn't get an email. Clients get an email when you reply or mark a request done. Status changes to In progress don't send one.

Next steps