Unable to update Customer Details (Edit Customer)
Path: Agency Dashboard → Customers → Manage Customer → Manage → Edit Customer Issue: When editing a customer and updating only the customer name, clicking “Save Changes” triggers the following error message: “The state.email has already been taken.” Expected Behavior: The customer details should update successfully when changing the name only, without triggering an email validation error if the email address has not been modified. Actual Behavior: Saving changes fails and displays an email duplication error even though the email was not changed. Changes cannot be made.

S.M about 6 hours ago
General
🐛 Bug Reports
Unable to update Customer Details (Edit Customer)
Path: Agency Dashboard → Customers → Manage Customer → Manage → Edit Customer Issue: When editing a customer and updating only the customer name, clicking “Save Changes” triggers the following error message: “The state.email has already been taken.” Expected Behavior: The customer details should update successfully when changing the name only, without triggering an email validation error if the email address has not been modified. Actual Behavior: Saving changes fails and displays an email duplication error even though the email was not changed. Changes cannot be made.

S.M about 6 hours ago
General
🐛 Bug Reports
Feature Request: Unified Multi-Location Dashboard
It would be extremely helpful to have a consolidated dashboard that shows analytics, reviews, ratings, and performance across all business locations in one view. Currently, users need to switch between locations individually, which becomes time-consuming for businesses managing multiple branches. An “All Locations” dashboard with combined insights and the ability to drill down into individual locations would provide much better visibility and reporting for business owners and managers.

Dinesh Babu Thangavel 1 day ago
💡 Feature Request
Feature Request: Unified Multi-Location Dashboard
It would be extremely helpful to have a consolidated dashboard that shows analytics, reviews, ratings, and performance across all business locations in one view. Currently, users need to switch between locations individually, which becomes time-consuming for businesses managing multiple branches. An “All Locations” dashboard with combined insights and the ability to drill down into individual locations would provide much better visibility and reporting for business owners and managers.

Dinesh Babu Thangavel 1 day ago
💡 Feature Request
Acknowledgement of edited Google reviews
When a diner edits a review from a while ago, Google sends a notification as a new review, reminding the GBP owner to reply. However, it is not showing in EMR. Especially when it’s a negative review turning into a positive, the owner wants to reply to thank the customer. The owner is not notified in EMR. Thanks for your consideration.
Kevin Huang 2 days ago
💡 Feature Request
Acknowledgement of edited Google reviews
When a diner edits a review from a while ago, Google sends a notification as a new review, reminding the GBP owner to reply. However, it is not showing in EMR. Especially when it’s a negative review turning into a positive, the owner wants to reply to thank the customer. The owner is not notified in EMR. Thanks for your consideration.
Kevin Huang 2 days ago
💡 Feature Request
Trustpilot Integration
After trying multiple variations of URL slugs, we are still getting kicked from Trustpilot.

Review Pulse 360 2 days ago
🐛 Bug Reports
Trustpilot Integration
After trying multiple variations of URL slugs, we are still getting kicked from Trustpilot.

Review Pulse 360 2 days ago
🐛 Bug Reports
EXIF GPS Data Image Editor
Google scans the image Exif info for GPS Data to make sure the image is local related. It would be great if the customer could change the GPS data if the image was not taken right at the Google Maps location. Maybe we could offer a tool like this as addon. https://tool.geoimgr.com/ I assume the google map api already can pull the Lat. an Lo. data? So when our customers manage their GBP account via EMR, this could be a nice feature?

Ma Gie 3 days ago
API
💡 Feature Request
EXIF GPS Data Image Editor
Google scans the image Exif info for GPS Data to make sure the image is local related. It would be great if the customer could change the GPS data if the image was not taken right at the Google Maps location. Maybe we could offer a tool like this as addon. https://tool.geoimgr.com/ I assume the google map api already can pull the Lat. an Lo. data? So when our customers manage their GBP account via EMR, this could be a nice feature?

Ma Gie 3 days ago
API
💡 Feature Request
In Progress
Link in widget no working
A link embedded in a widget isn't working; I've already edited it, but it still doesn't work.

Tom Lemmens 4 days ago
General
🐛 Bug Reports
In Progress
Link in widget no working
A link embedded in a widget isn't working; I've already edited it, but it still doesn't work.

Tom Lemmens 4 days ago
General
🐛 Bug Reports
Enforce Minimum Password Strength Requirements
EMR currently accepts any password without enforcing strength requirements. I was able to create a client team member account using a very weak password - abcdef01 - 6 letters + 2 digits, which registered as "Weak" on the Bitwarden password strength meter - https://bitwarden.com/password-strength/ EMR should enforce a baseline level of password strength across all user account types as this is now standard security practice everywhere with password strength meters now the norm and commonplace. Current Behaviour Any password is accepted at account creation, regardless of length or complexity. No feedback is given to the user about password strength. No restrictions on commonly used or breached passwords. Minimum Expected Behaviour At minimum, passwords should be validated against a baseline policy before being accepted. A reasonable starting point aligned with current NIST SP 800-63B guidelines would be the below: Required Minimum length of 12 characters (NIST recommends 8 as minimum, 12+ is now considered best practice minimum). Reject passwords found in known breach lists (e.g. via the Have I Been Pwned "Pwned Passwords" API). Reject obvious weak patterns (e.g. password123, abcdef01, sequential or repeated characters). Recommended Display a real-time strength meter during password creation to guide users. Allow long pass phrases, spaces, with the full ASCII/Unicode character set. Do not force complexity rules as current guidance has moved away from these as they tend to produce predictable patterns (Password1!) without meaningfully improving strength. Do not force rotation unless there's evidence of compromise. This should apply consistently to all account types: Agency users Client users Team members Any admin or service accounts Considerations Existing accounts: We should decide whether to a) force a password reset on next login for accounts that don't meet the new policy or b) prompt users to update at next login with a grace period. MFA: Strong passwords are only one layer. We should also have the option to force 2FA on user accounts too. This is an “optional” requirement as I know not many people are comfortable with 2FA but it is getting more widespread and Authenticator app is really easy to use. As I say - optional toggle perhaps. Passkeys: Another future option, passkeys are the future, easy, saved to password managers, iCloud keychain, Google Auth etc and are more and more widely used and can negate the whole password thing entirely. Optional and perhaps future implementation. Rate limiting & lockout: Ensure login endpoints are rate-limited to prevent brute-force attempts against any account. Need to decide on lock out time, 15-30 is usually the norm after 5 failed attempts or we then just rest password after these attempts. Storage: Confirm passwords are hashed with a modern algorithm not just SHA/MD5. Why This Matters Weak passwords are still one of the most common causes of account compromise. Given the platform handles agency and client data, a low-effort policy change here meaningfully reduces the risk of credential stuffing and brute-force attacks, and brings us in line with baseline industry standards.

Daniel Fawcett 4 days ago
💡 Feature Request
Enforce Minimum Password Strength Requirements
EMR currently accepts any password without enforcing strength requirements. I was able to create a client team member account using a very weak password - abcdef01 - 6 letters + 2 digits, which registered as "Weak" on the Bitwarden password strength meter - https://bitwarden.com/password-strength/ EMR should enforce a baseline level of password strength across all user account types as this is now standard security practice everywhere with password strength meters now the norm and commonplace. Current Behaviour Any password is accepted at account creation, regardless of length or complexity. No feedback is given to the user about password strength. No restrictions on commonly used or breached passwords. Minimum Expected Behaviour At minimum, passwords should be validated against a baseline policy before being accepted. A reasonable starting point aligned with current NIST SP 800-63B guidelines would be the below: Required Minimum length of 12 characters (NIST recommends 8 as minimum, 12+ is now considered best practice minimum). Reject passwords found in known breach lists (e.g. via the Have I Been Pwned "Pwned Passwords" API). Reject obvious weak patterns (e.g. password123, abcdef01, sequential or repeated characters). Recommended Display a real-time strength meter during password creation to guide users. Allow long pass phrases, spaces, with the full ASCII/Unicode character set. Do not force complexity rules as current guidance has moved away from these as they tend to produce predictable patterns (Password1!) without meaningfully improving strength. Do not force rotation unless there's evidence of compromise. This should apply consistently to all account types: Agency users Client users Team members Any admin or service accounts Considerations Existing accounts: We should decide whether to a) force a password reset on next login for accounts that don't meet the new policy or b) prompt users to update at next login with a grace period. MFA: Strong passwords are only one layer. We should also have the option to force 2FA on user accounts too. This is an “optional” requirement as I know not many people are comfortable with 2FA but it is getting more widespread and Authenticator app is really easy to use. As I say - optional toggle perhaps. Passkeys: Another future option, passkeys are the future, easy, saved to password managers, iCloud keychain, Google Auth etc and are more and more widely used and can negate the whole password thing entirely. Optional and perhaps future implementation. Rate limiting & lockout: Ensure login endpoints are rate-limited to prevent brute-force attempts against any account. Need to decide on lock out time, 15-30 is usually the norm after 5 failed attempts or we then just rest password after these attempts. Storage: Confirm passwords are hashed with a modern algorithm not just SHA/MD5. Why This Matters Weak passwords are still one of the most common causes of account compromise. Given the platform handles agency and client data, a low-effort policy change here meaningfully reduces the risk of credential stuffing and brute-force attacks, and brings us in line with baseline industry standards.

Daniel Fawcett 4 days ago
💡 Feature Request
In Progress
Sales Intelligence - FONT SIZE [PROBLEM]
The biggest problem every time is that both I and the client have trouble figuring out who the competitor is (the font is too large). Am I the only one with this problem?!

Paweł Maćkowiak 7 days ago
General
🐛 Bug Reports
In Progress
Sales Intelligence - FONT SIZE [PROBLEM]
The biggest problem every time is that both I and the client have trouble figuring out who the competitor is (the font is too large). Am I the only one with this problem?!

Paweł Maćkowiak 7 days ago
General
🐛 Bug Reports
Customer specific custom sidebar links
To be able to provide easy access to customer specific links like Local Search Grid reports or other 3rd party dashboards. You would set these under the customer settings in Agency dashboard.

Severi 7 days ago
General
💡 Feature Request
Customer specific custom sidebar links
To be able to provide easy access to customer specific links like Local Search Grid reports or other 3rd party dashboards. You would set these under the customer settings in Agency dashboard.

Severi 7 days ago
General
💡 Feature Request
Private Feedback Notifications: Dynamic "Reply-To" Header + Automated Status Sync + Message Content Logging
Problem Statement: Standard private feedback notifications currently use a static ESP system email (repliesESP@mySaaS.com) in the Reply-To header. This prevents support teams from replying directly to customers, forcing agents to manually copy-paste the customer's email address. Proposed Solution: Implement a dynamic Reply-To header that uses the respondent's email address. To ensure this does not interfere with existing configurations for other Agencies/WL-SaaS, this feature could be disabled by default. UI Configuration & Path: The setting could be located under the form customization settings: Path: Feedback Forms > Content & Flow > Private Feedback Feature Toggle: "Advanced Direct Customer Reply by Email" Description: "When enabled, replying to a private feedback email notification will go directly to the customer's email address instead of the system default." Technical Requirements: Default State: Disabled (Off). Logic: If Enabled, the SMTP Reply-To header must be populated with the value from the {Email} field submitted in the feedback form. If Disabled, it should fall back to the current system default. Phase 2: Automated "Replied" Status Sync To avoid manual status updates inside EMR, can we implement an Email Proxy/Relay? Logic: Instead of the customer's direct email, the Reply-To would be a unique system-generated alias (e.g.,{feedback_id}@reply.revw.me). Action: When the server receives an email at this alias, the system should: 1. Parse the feedback_id and change the status of that entry to "Replied". 2. Forward the email content to the actual customer's email address. This would create a seamless loop where the software tracks external email interactions automatically. Phase 3: Message Content Logging: Action: When the system receives the proxy email, it should also parse the body of the reply. Goal: Store the agent's response text within the EMR database so the conversation history is visible in the dashboard. Requirement: Implement logic to strip signatures and original notification text to log only the new content. If needed, we can start with Phase 1 and 2 to solve the immediate workflow pain, leaving the content parsing for a later sprint.

Leandro Teixeira 7 days ago
💡 Feature Request
Private Feedback Notifications: Dynamic "Reply-To" Header + Automated Status Sync + Message Content Logging
Problem Statement: Standard private feedback notifications currently use a static ESP system email (repliesESP@mySaaS.com) in the Reply-To header. This prevents support teams from replying directly to customers, forcing agents to manually copy-paste the customer's email address. Proposed Solution: Implement a dynamic Reply-To header that uses the respondent's email address. To ensure this does not interfere with existing configurations for other Agencies/WL-SaaS, this feature could be disabled by default. UI Configuration & Path: The setting could be located under the form customization settings: Path: Feedback Forms > Content & Flow > Private Feedback Feature Toggle: "Advanced Direct Customer Reply by Email" Description: "When enabled, replying to a private feedback email notification will go directly to the customer's email address instead of the system default." Technical Requirements: Default State: Disabled (Off). Logic: If Enabled, the SMTP Reply-To header must be populated with the value from the {Email} field submitted in the feedback form. If Disabled, it should fall back to the current system default. Phase 2: Automated "Replied" Status Sync To avoid manual status updates inside EMR, can we implement an Email Proxy/Relay? Logic: Instead of the customer's direct email, the Reply-To would be a unique system-generated alias (e.g.,{feedback_id}@reply.revw.me). Action: When the server receives an email at this alias, the system should: 1. Parse the feedback_id and change the status of that entry to "Replied". 2. Forward the email content to the actual customer's email address. This would create a seamless loop where the software tracks external email interactions automatically. Phase 3: Message Content Logging: Action: When the system receives the proxy email, it should also parse the body of the reply. Goal: Store the agent's response text within the EMR database so the conversation history is visible in the dashboard. Requirement: Implement logic to strip signatures and original notification text to log only the new content. If needed, we can start with Phase 1 and 2 to solve the immediate workflow pain, leaving the content parsing for a later sprint.

Leandro Teixeira 7 days ago
💡 Feature Request
In Progress
Monthly AI Insights report displays weekly data instead of monthly data
The AI Insights (analysis) and the AI Insights reports are currently linked in an incompatible way. When a monthly AI Insights report is created, the data included in that report still always refers to a weekly period. In other words, the report is sent monthly, but the information shown only covers one week rather than the full month. This makes the report frequency largely irrelevant, except when a weekly frequency is selected, since that is the only case in which it matches the analysis, which is weekly by default. Given this dependency between the AI analysis and the data displayed in the report, I suggest resolving the issue in one of the following ways: Keep the current link, but allow the AI analysis execution frequency to be configured as weekly, biweekly, or monthly. Break this link, allowing the report to generate an AI analysis based on its own frequency. In other words, the report period should match the period of the data shown in the report. Personally, I believe the second option makes more sense. ———————————————————————————-- Formal Bug Report: Steps to Reproduce Go to the AI Insights Reports configuration. Create a new report with the frequency set to Monthly. Wait for the report to be generated and sent. Open the generated report and review the data period covered. Expected Result A report configured with a Monthly frequency should include data covering the full monthly period. Actual Result A report configured with a Monthly frequency is sent monthly, but the data included in the report only covers a weekly period instead of the full month. Additional Notes The AI analysis appears to be tied to a weekly default execution period, and the report inherits that same weekly dataset regardless of the selected report frequency. As a result, the selected report frequency becomes effectively irrelevant unless the report is also configured as Weekly. Suggested Solutions Allow the AI analysis frequency to be configured as Weekly, Biweekly, or Monthly. Decouple the report from the current analysis frequency, so that the report period matches the data period shown in the report. Preferred Solution Decoupling the report from the analysis frequency makes the most sense, so that each report generates data according to its own selected period.

Leandro Teixeira 8 days ago
General
🐛 Bug Reports
In Progress
Monthly AI Insights report displays weekly data instead of monthly data
The AI Insights (analysis) and the AI Insights reports are currently linked in an incompatible way. When a monthly AI Insights report is created, the data included in that report still always refers to a weekly period. In other words, the report is sent monthly, but the information shown only covers one week rather than the full month. This makes the report frequency largely irrelevant, except when a weekly frequency is selected, since that is the only case in which it matches the analysis, which is weekly by default. Given this dependency between the AI analysis and the data displayed in the report, I suggest resolving the issue in one of the following ways: Keep the current link, but allow the AI analysis execution frequency to be configured as weekly, biweekly, or monthly. Break this link, allowing the report to generate an AI analysis based on its own frequency. In other words, the report period should match the period of the data shown in the report. Personally, I believe the second option makes more sense. ———————————————————————————-- Formal Bug Report: Steps to Reproduce Go to the AI Insights Reports configuration. Create a new report with the frequency set to Monthly. Wait for the report to be generated and sent. Open the generated report and review the data period covered. Expected Result A report configured with a Monthly frequency should include data covering the full monthly period. Actual Result A report configured with a Monthly frequency is sent monthly, but the data included in the report only covers a weekly period instead of the full month. Additional Notes The AI analysis appears to be tied to a weekly default execution period, and the report inherits that same weekly dataset regardless of the selected report frequency. As a result, the selected report frequency becomes effectively irrelevant unless the report is also configured as Weekly. Suggested Solutions Allow the AI analysis frequency to be configured as Weekly, Biweekly, or Monthly. Decouple the report from the current analysis frequency, so that the report period matches the data period shown in the report. Preferred Solution Decoupling the report from the analysis frequency makes the most sense, so that each report generates data according to its own selected period.

Leandro Teixeira 8 days ago
General
🐛 Bug Reports
Add scheduled batch sending to review request campaigns
Type: Feature request Module: Campaign editor — Planification (scheduling) Some users want to send all their review requests at a chosen moment instead of in a constant trickle. Two reasons come up: Deliverability — avoid off-hours and saturated time windows. Conversion — reach customers when they are actually available to read and click (typically evenings or weekends for the beauty/wellness vertical). Concrete example: a salon owner wants every review request collected during the week to be sent on Sunday at 7pm, when their clients are home and relaxed. Proposed solution Add a sending mode selector inside the existing Planification module of the campaign editor: Instant send — current behaviour (delay in hours after the trigger event). Scheduled batch send — new mode. Accumulates eligible requests and releases them at the configured time slot. Scope (v1) Inside scheduled batch mode: Recurrence preset dropdown — Once / Daily / Weekly on [day] / Monthly / Custom. Pattern inspired by Google Calendar's recurrence picker. Custom recurrence panel — pick days of the week, set the exact time, choose timezone. Live preview line — "All pending requests will be sent Sunday at 7:00 PM. Next batch: Sunday, May 10." Existing "stop sequence on review attempt" logic must keep working — pending batched requests are dropped if the contact already left a review. tHt UX reference See attached mockup. Layout follows the current Planification module; recurrence UI mirrors Google Calendar's Personnaliser panel for familiarity. User value Better open / click / review rates through smarter timing. Marketing-grade control over send moments. Brings EMR closer to standard email/SMS campaign tools.

Jean-Gabriel 9 days ago
💡 Feature Request
Add scheduled batch sending to review request campaigns
Type: Feature request Module: Campaign editor — Planification (scheduling) Some users want to send all their review requests at a chosen moment instead of in a constant trickle. Two reasons come up: Deliverability — avoid off-hours and saturated time windows. Conversion — reach customers when they are actually available to read and click (typically evenings or weekends for the beauty/wellness vertical). Concrete example: a salon owner wants every review request collected during the week to be sent on Sunday at 7pm, when their clients are home and relaxed. Proposed solution Add a sending mode selector inside the existing Planification module of the campaign editor: Instant send — current behaviour (delay in hours after the trigger event). Scheduled batch send — new mode. Accumulates eligible requests and releases them at the configured time slot. Scope (v1) Inside scheduled batch mode: Recurrence preset dropdown — Once / Daily / Weekly on [day] / Monthly / Custom. Pattern inspired by Google Calendar's recurrence picker. Custom recurrence panel — pick days of the week, set the exact time, choose timezone. Live preview line — "All pending requests will be sent Sunday at 7:00 PM. Next batch: Sunday, May 10." Existing "stop sequence on review attempt" logic must keep working — pending batched requests are dropped if the contact already left a review. tHt UX reference See attached mockup. Layout follows the current Planification module; recurrence UI mirrors Google Calendar's Personnaliser panel for familiarity. User value Better open / click / review rates through smarter timing. Marketing-grade control over send moments. Brings EMR closer to standard email/SMS campaign tools.

Jean-Gabriel 9 days ago
💡 Feature Request
Planned
Rebilling client for SMS usage.
Hi, would it be possible to have a rebilling feature to charge clients for their SMS usage?

Nalu Okimoto 10 days ago
General
💡 Feature Request
Planned
Rebilling client for SMS usage.
Hi, would it be possible to have a rebilling feature to charge clients for their SMS usage?

Nalu Okimoto 10 days ago
General
💡 Feature Request
In Progress
Email, Status, and Activity Sync to CRM via Zapier
Right now, there is no way to extract the email address, “status,” or most recent activity from EMR using review exports, Zapier, or the API. Why This Is Important When using a CRM to trigger a review request via EMR, it can’t get data on the request’s status or the reviewer’s last action. This makes it difficult to track progress or segment contacts by their status. If the CRM could access this data, it would have complete details on the review requests and be able to follow them from start to finish. Possible Applications for This Sync segment contacts by review rating segment contacts by the date of the last review activity trigger automations to upsell and/or cross sell to satisfied customer send a “reward” for customers who have completed the review process Data to Be Shared from EMR to CRM via Zapier Email address (to identify the contact within the CRM) Status (to indicate the contact’s response to a feedback form, such as a rating between 1 and 5 stars) Last activity (to show the final result of the request, like being redirected to leave a review) Date of last activity (to record when the contact last engaged with a review request) All these details can currently be viewed here within EMR (see screenshot): /request-reviews/contacts?statusFilter=completed
Dominic Leger 10 days ago
API
💡 Feature Request
In Progress
Email, Status, and Activity Sync to CRM via Zapier
Right now, there is no way to extract the email address, “status,” or most recent activity from EMR using review exports, Zapier, or the API. Why This Is Important When using a CRM to trigger a review request via EMR, it can’t get data on the request’s status or the reviewer’s last action. This makes it difficult to track progress or segment contacts by their status. If the CRM could access this data, it would have complete details on the review requests and be able to follow them from start to finish. Possible Applications for This Sync segment contacts by review rating segment contacts by the date of the last review activity trigger automations to upsell and/or cross sell to satisfied customer send a “reward” for customers who have completed the review process Data to Be Shared from EMR to CRM via Zapier Email address (to identify the contact within the CRM) Status (to indicate the contact’s response to a feedback form, such as a rating between 1 and 5 stars) Last activity (to show the final result of the request, like being redirected to leave a review) Date of last activity (to record when the contact last engaged with a review request) All these details can currently be viewed here within EMR (see screenshot): /request-reviews/contacts?statusFilter=completed
Dominic Leger 10 days ago
API
💡 Feature Request
In Progress
Request to Make AI Hub an Independent Feature in the Platform
Description Currently, AI Hub is integrated as a complementary feature within the API & Webhooks module. This means that when API access is sold, clients automatically gain access to AI Hub without the ability to control or monetize it separately. Since other AI-related features like AI Insights and Search AI are offered as independent features, I request that AI Hub also be separated from the API module and offered as a standalone feature. Benefits of this Separation Allows agencies and the platform to monetize AI Hub as an autonomous product with its own plans and pricing. Provides greater control over AI Hub activation and access for clients based on their plans or needs, without it being tied to API access purchase. Enables a more flexible and segmented commercial strategy, similar to that applied to AI Insights and Search AI. Current Impact The direct dependency of AI Hub on the API module limits monetization potential and bundles both features together, which may not be ideal for all clients. Separating AI Hub would allow it to be offered as an upsell or premium add-on, improving profitability and sales options.
DJ Fonseca 11 days ago
API
💡 Feature Request
In Progress
Request to Make AI Hub an Independent Feature in the Platform
Description Currently, AI Hub is integrated as a complementary feature within the API & Webhooks module. This means that when API access is sold, clients automatically gain access to AI Hub without the ability to control or monetize it separately. Since other AI-related features like AI Insights and Search AI are offered as independent features, I request that AI Hub also be separated from the API module and offered as a standalone feature. Benefits of this Separation Allows agencies and the platform to monetize AI Hub as an autonomous product with its own plans and pricing. Provides greater control over AI Hub activation and access for clients based on their plans or needs, without it being tied to API access purchase. Enables a more flexible and segmented commercial strategy, similar to that applied to AI Insights and Search AI. Current Impact The direct dependency of AI Hub on the API module limits monetization potential and bundles both features together, which may not be ideal for all clients. Separating AI Hub would allow it to be offered as an upsell or premium add-on, improving profitability and sales options.
DJ Fonseca 11 days ago
API
💡 Feature Request
GBP keyword brand name logic
The new feature now assumes that the location name = business name for branded keywords. Personally I don’t find many cases where you’d set the location name in the dashboard to the actual branded business name (I could also be wrong). Suggestion: use the Organization name across all locations as the default branded keyword, or pull the Place name for each location directly from Google for a more accurate default value (I assume the name is already saved in the database when the Google connection is set up?). It would also be helpful to have a one time (persistent until clicked) visual prompt on the dashboard to check the branded keywords. Great addition to the dashboard though, thanks a lot!

Severi 13 days ago
General
💡 Feature Request
GBP keyword brand name logic
The new feature now assumes that the location name = business name for branded keywords. Personally I don’t find many cases where you’d set the location name in the dashboard to the actual branded business name (I could also be wrong). Suggestion: use the Organization name across all locations as the default branded keyword, or pull the Place name for each location directly from Google for a more accurate default value (I assume the name is already saved in the database when the Google connection is set up?). It would also be helpful to have a one time (persistent until clicked) visual prompt on the dashboard to check the branded keywords. Great addition to the dashboard though, thanks a lot!

Severi 13 days ago
General
💡 Feature Request
Feature Request – AI Fake Review Detector & Google Flag Assistant
This is just a suggestion from a platform user, I hope it’s useful for the roadmap. A quick feature idea that I think would be a real differentiator for EMR: An AI layer that automatically scans incoming reviews, detects potential Google policy violations (fake reviews, competitor attacks, spam, hate speech), scores each review with a Flaggability Score (0-100%), and generates a ready-to-submit flag report citing the exact Google policy being violated. Why it matters: • Most businesses never flag violations because they don’t know how • A structured, policy-cited report gets significantly better results from Google than manual flags • Fake and competitor reviews are a growing problem in many markets • Adds clear, defensible value that helps agencies justify their monthly retainers Thanks for everything you’re building.

Eng.Sultan Alharbi 14 days ago
💡 Feature Request
Feature Request – AI Fake Review Detector & Google Flag Assistant
This is just a suggestion from a platform user, I hope it’s useful for the roadmap. A quick feature idea that I think would be a real differentiator for EMR: An AI layer that automatically scans incoming reviews, detects potential Google policy violations (fake reviews, competitor attacks, spam, hate speech), scores each review with a Flaggability Score (0-100%), and generates a ready-to-submit flag report citing the exact Google policy being violated. Why it matters: • Most businesses never flag violations because they don’t know how • A structured, policy-cited report gets significantly better results from Google than manual flags • Fake and competitor reviews are a growing problem in many markets • Adds clear, defensible value that helps agencies justify their monthly retainers Thanks for everything you’re building.

Eng.Sultan Alharbi 14 days ago
💡 Feature Request
Webhook event for opt-in submissions + API access to consent records
Currently the platform stores opt-in consent data behind the scenes, but there's no way for agencies to access it programmatically. For US agencies operating under TCPA rules, having a real-time and exportable consent trail is becoming a hard requirement. Two requests: Add a new webhook event (e.g. "optin-created") that fires when a customer submits the campaign opt-in page. The payload should include: contact name, phone/email, timestamp, IP address, and the consent text they agreed to. This would let agencies automatically store consent records on their side without needing to raise a support ticket each time. As a simpler first step, include consent record fields (opted-in timestamp, IP, consent language) in the API response when listing campaign contacts. This would be a strong differentiator for EMR — most competing platforms don't offer webhook-level consent tracking, and US agencies are increasingly looking for this as TCPA enforcement tightens. Having it built in would give EMR a compliance edge that competitors like Birdeye and Podium don't currently offer.

Yoan Pumar 14 days ago
API
💡 Feature Request
Webhook event for opt-in submissions + API access to consent records
Currently the platform stores opt-in consent data behind the scenes, but there's no way for agencies to access it programmatically. For US agencies operating under TCPA rules, having a real-time and exportable consent trail is becoming a hard requirement. Two requests: Add a new webhook event (e.g. "optin-created") that fires when a customer submits the campaign opt-in page. The payload should include: contact name, phone/email, timestamp, IP address, and the consent text they agreed to. This would let agencies automatically store consent records on their side without needing to raise a support ticket each time. As a simpler first step, include consent record fields (opted-in timestamp, IP, consent language) in the API response when listing campaign contacts. This would be a strong differentiator for EMR — most competing platforms don't offer webhook-level consent tracking, and US agencies are increasingly looking for this as TCPA enforcement tightens. Having it built in would give EMR a compliance edge that competitors like Birdeye and Podium don't currently offer.

Yoan Pumar 14 days ago
API
💡 Feature Request
Custom Package Visibility
Hi, I would like to submit feedback regarding Custom Package visibility. Right now, whenever a Sales Agent attempts to add a new account to his/her dashboard, they can see all of the available custom plans - even those that are designated as ‘hidden’. It would be helpful if we could designate certain plans to ONLY sales agents, and other plans to the general public. Secondly, it would also be useful if we could toggle off any client-facing visibility to the billing section. When our agency is fully responsible for managing customer reviews and direct billing, it becomes a challenge for/when they see the available plans (with pricing). Hiding the custom plans only solves half the problem, because now those customers who have signed up directly can no longer see the other plans to upgrade to. https://www.loom.com/share/5dcb9289baea4aac85642747214efe86

Review Pulse 360 15 days ago
📥 Feedback
Custom Package Visibility
Hi, I would like to submit feedback regarding Custom Package visibility. Right now, whenever a Sales Agent attempts to add a new account to his/her dashboard, they can see all of the available custom plans - even those that are designated as ‘hidden’. It would be helpful if we could designate certain plans to ONLY sales agents, and other plans to the general public. Secondly, it would also be useful if we could toggle off any client-facing visibility to the billing section. When our agency is fully responsible for managing customer reviews and direct billing, it becomes a challenge for/when they see the available plans (with pricing). Hiding the custom plans only solves half the problem, because now those customers who have signed up directly can no longer see the other plans to upgrade to. https://www.loom.com/share/5dcb9289baea4aac85642747214efe86

Review Pulse 360 15 days ago
📥 Feedback