Have something to say?
API invite returns 200 but contact is not enrolled in the right campain when it already exists from a CSV import
Hi Mannie, Here is a bug report following the Loom I recorded. This is on organization 149 (S Code Coiffeur), location 195. Summary When a contact already exists in an organization because it was imported through a CSV into a reactivation campaign, an API invite to a different campaign returns a 200 "Invites sent successfully" with the existing contact's UUID, but the contact is never enrolled in the target campaign. It stays on its reactivation schedule. No error is returned, so our automation records the invite as sent. Setup Campaign 224 "Campagne réactivation" (923431c2-17d4-4b5e-9f12-d0b7247cd016): 2,710 contacts imported from a CSV on October 1, drip sending every 20 minutes, email only. Campaign 222 "Campagne d'avis après rendez-vous" (fe228f9f-2ff6-46b3-82d1-42c2f258bfd4): post-appointment invitations sent via API from our n8n workflow, SMS first. Both campaigns appear to use the same contact list (contact_list_id 171). Duplicate filter set to 1 day on both campaigns. Steps to reproduce Import a CSV of existing clients into campaign 224. After the import, send an API invite to campaign 222 for a contact whose email is already in the CSV. The API returns 200 "Invites sent successfully" with the existing contact UUID. The contact does not appear in campaign 222 and receives nothing from it. Its next scheduled message remains the one from campaign 224. Evidence October 3, 13:20 UTC: Valentin (vpl29@outlook.fr), not in the CSV. The API returned contact 43498325-1e5b-…, created and enrolled in campaign 222 as expected. SMS sent 3 hours later. October 5, 14:20 UTC: Gwen (gwenfily29@gmail.com) and Guillaume (guiguicabon@hotmail.fr), both in the CSV. The API returned 200 with UUIDs b6daff6f-… and e8eb014f-…. Neither was enrolled in campaign 222. Across all 7 post-appointment invites since October 2, the 6 contacts present in the CSV were not enrolled. The only contact not in the CSV was. Adding one of these contacts manually to campaign 222 from the dashboard (jllemoigne78@gmail.com) works immediately. The issue seems specific to the API path. Impact 30 of the 31 clients with upcoming appointments at this salon are in the CSV. As things stand, almost none of them will receive the post-appointment SMS, which is our main source of reviews Expected behavior An API invite to a given campaign ID should enroll the contact in that campaign, even if it already exists through another campaign or list. If the system decides not to enroll it, the API should return an explicit error or status explaining why, rather than a 200 success. The contact activity log should show that decision too.
Reviews tab and date filters for Sales Agent dashboard
I'd like to submit a feature request for the Sales Agent dashboard. I've attached two screenshots: Current view: what a Sales Agent sees today when logged in. It currently has only Dashboard, Customers, and Settings, with no way to view or work through reviews. Mock-up: what I'm proposing, with a Reviews tab and filters so the agent can manage every client's reviews from one screen. Since the mock-up is a static image, it can only show a single moment in time. It can't show reviews moving between filters as they're handled. In the actual Sales Agent dashboard, the idea is that it works as a live queue: as each review is answered or updated, it moves out of "Needs Response" and into the matching status filter, and the counts update in real time. I've described this in more detail below. The use case: I set up an employee as a Sales Agent with access to manage all of our customer locations. Their main job is to monitor reviews across every client and respond to the ones that need attention. Without a Reviews tab, they can't see or work through reviews from one place. The only workaround is giving them full login access to our agency dashboard, which exposes everything (billing, settings, platform configuration). We'd rather keep their access limited to what they actually need. This would help a lot of EMR agencies, not just us. Any agency offering done-for-you review management could add a Sales Agent whose only job is to keep the review queue at zero across all their customers. The agency owner can then focus on sales, onboarding, and other work, knowing nothing is waiting for a response. What we're requesting: A Reviews tab in the Sales Agent dashboard A single view of all reviews from every client location the agent is assigned to. Filter dropdowns (shown in the mock-up) These are what make the tab efficient. Instead of opening each customer one by one, the agent can narrow thousands of reviews down to just the ones that need attention: Status: Needs Response, In Progress, Responded, Do Not Respond, Flagged Review. The most important is "Needs Response," which turns the tab into a working queue. Once a review is responded to, it automatically moves out of "Needs Response" and into "Responded," and the next review that needs a response moves to the top of the list. A review counter at the top shows how many reviews are left in the queue, and it goes down each time one is answered, so the agent always knows how much work remains and when they've hit zero. The other status filters work the same way: clicking "Responded" shows all responded reviews with their count, clicking "Flagged Review" shows all flagged reviews with their count, and so on, so the totals at the top always match the filter selected. Source: Google, Facebook, Yelp, TripAdvisor, and others Location: all locations or a single customer Review type: rating only, rating with content, includes images, updated reviews, removed or non-removed reviews Keywords: food, service, staff, cleanliness, delivery, and more A date range dropdown (the most important filter) This lets the agent focus on a specific period, with options for: Last 7 days Last 30 days Current month Current quarter Last quarter All time Custom period (pick a start and end date) Combined with the "Needs Response" status filter, the agent can pull up something like "all reviews from the last 30 days that still need a reply" across every client in seconds, work through the list, and know the queue is clear. Why it matters: For agencies managing reviews across many locations, this keeps responses fast and consistent, lets a team member own day-to-day review
Request for adding www.resend.com as Email Provider
Can you please add https://resend.com for email provider as soon as possible? This is best and cheap I found so far and I am using this on my website this is perfect for all of us to use it as its very cheap and easy to use.
Send Testimonials responses
When responding to testimonials in-platform they are currently not sent anywhere. Indicates sent but actually goes nowhere
SMS Successfully Sent but Still Showing as Pending in Campaign Tracking
I manually added around 10 SMS messages to an existing campaign. In the campaign's sending history, the status is inconsistent: For some contacts, it correctly shows "SMS sent". For others, it only shows "Added to campaign", with the next step being Message #2 — Email, scheduled to be sent in 3 days. This makes it look as though the SMS is still pending and has not actually been sent. However, the SMS has been sent successfully. When checking the actual sending activity, the tool was triggered and the SMS was successfully sent through GatewayAPI. What's strange is that the SMS sending itself works correctly, but the "SMS sent" status is sometimes missing from the campaign's sending history. Steps to Reproduce Manually add SMS messages to a campaign. Open the sent message (campaing) in the interface. Check whether the SMS step is displayed in the campaign flow. Compare it with the data available in GatewayAPI to confirm that the SMS messages were actually sent. Observed result: The SMS step may be missing from the campaign interface even though the corresponding SMS messages are present in GatewayAPI. Expected behavior Whenever a manually added SMS has been successfully sent through GatewayAPI, the campaign history and statistics should reflect this and show the SMS as sent, rather than leaving it as "Added to campaign" or "Pending".
Gamified Feedback and Testimonial Collection (Spin-The-Wheel)
I’m requesting a QR-code-powered spin-the-wheel widget that encourages customers to submit honest feedback in exchange for a reward. Suggested Flow Customer scans a QR code. They complete a short form or sign in with Google. They submit feedback through a Google review, private survey, written review, video testimonial, or another supported platform. The system confirms participation and unlocks the wheel. The customer spins to receive a prize. Customer, feedback, and prize data are sent through webhooks. If supported by Google’s API and privacy policies, it would be useful to detect whether a new Google review was submitted after the customer’s participation. However, rewards should be based on submitting honest feedback—not on receiving a positive rating. The feature should support alternatives to Google reviews, including internal reviews, video testimonials, surveys, and other review platforms. An integration with Boomerangme would also be amazing, allowing customers to automatically receive digital coupons, loyalty cards, discounts, and other rewards. Thanks!
Failed payment EMR account block - Grace Period
Currently all services and accounts get temp blocked, would be great to have 7-14 days grace period before this happens. Credit cads expire, banks change life happens. An immediate block seems too harsh.
Allow External Google Places Ranking Data in Local Search Grid
It would be very useful if agencies could use their own ranking provider or import externally calculated ranking measurements into the Local Search Grid. We currently measure regional Google Maps visibility using Google Places Text Search (New) with our own Google API key. Each measurement contains: Google Place ID Keyword Measurement-point latitude and longitude Measurement date and time Ranking position Number of returned results Data provider We would like to import these measurements into EMR and use the existing Local Search Grid timeline, reports and client dashboards to track development over time. Ideally, EMR could support one or both of the following options: Allow agencies to select Google Places Text Search as an alternative ranking provider to DataForSEO through BYOK. Add a REST API endpoint for importing external ranking observations, for example: place_id, keyword, latitude, longitude, measured_at, rank, result_depth, and provider. The important requirement is methodological consistency. If the initial analysis uses Google Places ranking data but later tracking uses DataForSEO, the results may not be directly comparable. Supporting external observations would allow agencies to use the same measurement method for the initial baseline and all future development reports. This could also make EMR’s Local Search Grid more flexible for agencies that already operate their own ranking infrastructure while still using EMR for scheduling, historical comparisons, reports and client dashboards.
Review Request Invite Endpoint
We are integrating with the review-request invite endpoint: POST /api/v1/request-reviews/campaigns/{campaign}/invite We need clarification on correlation and read-only reconciliation behavior so that we can safely handle an HTTP response being lost without accidentally creating a duplicate invite. Could you please confirm the following? What exact resource does the id returned in a successful 202 Accepted invite response identify? Is that ID unique and stable for one specific invite/request? If so, what is its uniqueness scope—for example globally, per account, per campaign, or per contact? When the API returns 202 for a contact that is silently ignored because of the campaign deduplication window, what does the returned id represent? When an invite is queued because it falls outside the campaign send window, what does the returned id represent? Is there a supported read-only REST API endpoint that can later retrieve the specific invite/request using that ID? If so, could you provide the method, route, required permissions, and response/status fields? Can that lookup distinguish states such as accepted, queued, processing, sent, failed/rejected, and delivered? Please clarify the exact semantics of any statuses returned. Does the REST invite endpoint support a caller-generated idempotency key, correlation ID, external reference, client request ID, custom metadata value, or similar identifier that EmbedMyReviews persists and can later return or query? We saw X-Correlation-Id documented for the MCP endpoint. Does that header—or any equivalent correlation mechanism—also apply to the REST invite endpoint? If so, is it persisted with the resulting invite and available for later lookup? Critical failure scenario: suppose our system submits one valid invite, EmbedMyReviews receives/processes it, but the HTTP connection fails before we receive the response and therefore we never learn the returned id. Is there any supported authoritative method to locate that exact request later without submitting another invite and without matching heuristically by email, phone, campaign, or timestamp? Are there webhook events for individual review-request invite creation, queueing, sending, failure, or delivery? If so, what stable identifier links those webhook events back to the original invite API request? If an individual invite/status lookup API is not publicly documented, is such a capability available privately, in another API version, or planned? If a lookup returns “not found,” what guarantees—if any—does that provide? In particular, are there retention, indexing-delay, or visibility limitations that would mean “not found” does not prove that the original invite was never accepted? Our objective is read-only reconciliation only. We are specifically trying to avoid duplicate sends after ambiguous network failures, and we will not interpret a missing record or lookup failure as permission to resend. No customer or production-identifying data is needed for this clarification.
Option to Update Saved Design in social share
Currently, users can save a custom design in social share for repeat use. But if they make a small adjustment, and want to update an existing saved design, there is no such option. The only workaround for them is to save with a new name and deleted the old one. Which they might not be able to figure out or think as a beginner. The other issue this limitation creates is with social template blueprints. We have re-sync option with blueprints, but it doesn’t work here cause we can’t update the original blueprint source of social template.
Social Images customization controls
The current social image design tool works great & easy to use for begginers but the design possibilities are quite limited with current control options. The idea is to add a few more low effort controls that increases the design posiblities and improve outcome by a great margin. 1. Custom gradient backgrounds Problem: gradients are fixed presets. A business cannot produce a background in its own brand colours, which is the single most common thing an SMB wants from a template. Today the only path to a brand-coloured background is a flat solid fill. Behaviour: two colour stops with hex input, plus an angle control. Keep the existing presets as a starting row. Implementation: two hex fields and eight fixed angles (0, 45, 90, 135, 180, 225, 270, 315) rather than a free dial, which is easier to build and produces better results from non-designers. Add a "generate from brand colour" button that derives a second stop by lightening the brand colour by roughly 25% and shifting hue 15 to 20 degrees. That button is the plug-and-play path, and most users will never touch the hex fields. 2. Automatic text contrast Problem: with the card removed, review text is a fixed colour. Any user who picks a light background gets an unreadable image. Live bug in the two existing no-card templates. Behaviour: compute relative luminance beneath the text and switch the text stack between light and dark. Applies to review text, author name, rating number, and the Google wordmark together. Implementation: WCAG relative luminance. Sample at the text block's centroid for gradients; after the overlay for photos. Ship automatic with no user-facing control. 3. Background overlay, 0 to 70% darken Problem: photo backgrounds only work behind an opaque card, so the photo is wallpaper. With the card off, text on a raw photo is unreadable on most uploads. Behaviour: one slider applying a black overlay to the background layer only. Implementation: one composited layer between background and content. Default 0% for colour and gradient, 40% when a photo is set. Unlocks: photo backgrounds with the card removed, the layout style that reads as native social content rather than a template. 4. Text alignment, left or centred Problem: every template is left-aligned. Behaviour: one toggle covering review text, author row, and star row as a group. Logo and rating stay in the bar. Implementation: trivial. Flag it in the template preset. Unlocks: a visibly distinct variant of every existing template. 5. Bar treatment, height and style Problem: the bar is a fixed-height strip whose only variable is colour, and it only exists when the card background is on. Behaviour: a height option (compact / standard / tall) and a style option (solid / hairline / none). Allow a bar when the card is off. Implementation: the bar becomes an independent layer rather than a child of the card. Hairline renders a 2px rule in the brand colour with the logo and rating on the background. None floats them directly. Unlocks: the split-block layout via tall, the editorial look via hairline, and a light bar on dark templates.
Add source to https://www.anmeld-haandvaerker.dk
It would be greatly appreciated if you could add the source to https://www.anmeld-haandvaerker.dk/. It’s one of the biggest review sources in Denmark for craftsmen.
Rewrite the subject line of AI Insights
Currently, it sounds like something urgent that they have to deal with instantly, instead I think it would be better if the subject line is much softer and aligns with its purpose their regular ai insights report is ready. Current version: “Action Required: Critical insights for organization name“ Even better, if the agencies get the option to set their own subject lines/content, for such report and insight emails.
Please Add Quickbooks
Can you guys please add Quickbooks integration so that we can have our customer base from that platform. For US and Canada if it varies… https://quickbooks.intuit.com/
jameda.de = znanylekarz.pl
Please add a German equivalent (same company) for Poland. https://www.jameda.de = https://znanylekarz.pl They differ only in name
Wrong Booking.com page url (carries agency domain)
After booking.com connected, the external link to the booking.com page, was wrongly configured and carries the agency domain in the domain part.
Private mode only for regulated professions
For regulated professions that are not permitted to collect customer reviews for public display, would it be possible to offer them a secure, private collection method that prevents publication, so as not to be considered an illegal solution? This would allow them to collect reviews to improve their service. And responding to unsolicited reviews is not prohibited by law. Responding to reviews helps show Google that the GBP is active, and the keywords used contribute to local SEO.