Bewertungseinladungen
Bewertungseinladungs-Kampagnen, Vorlagen und Empfänger erstellen und verwalten.
create_review_campaign
Create a new review-invite (acquisition) campaign — an email/SMS flow that asks customers to leave a review, screens them by rating, and routes happy customers to a public review site. Created as a draft; use run_campaign_action with op "publish" to launch it once configured. locationId is required; everything else can be filled in now or with update_review_campaign later. Returns the created campaign. You don't pass an agency — it comes from your credentials.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_review_campaign",
"arguments": {
"locationId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
update_review_campaign
Edit an existing review-invite campaign's configuration. Pass only the fields you want to change. Identify the campaign by its id (from list_review_campaigns or create_review_campaign). To change the campaign's lifecycle status (publish/stop/clone/archive) use run_campaign_action instead of setting `status` directly here. Returns the updated campaign, or throws if not found.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_review_campaign",
"arguments": {
"campaignId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
run_campaign_action
Run a lifecycle action on a review-invite campaign. Actions: "publish" launches the campaign — if autoSend is on this starts sending real emails/SMS to recipients immediately, and it is gated per channel: a campaign whose channels include EMAIL requires a verified sending domain for the client, and one whose channels include SMS requires a carrier-verified number for the location (either failure returns an explanatory error); "stop" halts an active campaign; "clone" duplicates it as a new draft (returns the clone); "autoSend" turns automatic sending on/off for new recipients (pass `on`); "archive" archives it (only allowed once stopped — a still-active campaign is silently skipped, check the response); "unarchive" restores an archived campaign. Identify the campaign by its id.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run_campaign_action",
"arguments": {
"campaignId": "string",
"op": "publish"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
add_campaign_recipients
Add recipients to a review-invite campaign. Each recipient needs at least an email or phone. If the campaign is already launched with autoSend on (and sends both email and SMS), adding recipients here immediately triggers a real send to the new rows — not just a data insert. Returns the number of recipients added. Identify the campaign by its id (from list_review_campaigns or create_review_campaign).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "add_campaign_recipients",
"arguments": {
"campaignId": "string",
"recipients": [
{}
]
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
list_invite_templates
List the agency's saved review-invite message templates (reusable email/SMS content for campaigns). Use this to find a template's id before update_invite_template or delete_invite_template.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_invite_templates",
"arguments": {}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
create_invite_template
Create a reusable review-invite message template. `content` is the rich-text JSON shape the campaign builder's editor produces (pass the same shape as an existing template's `content` if adapting one). Optionally assign it to specific locations so it shows as a suggested template there. Returns the created template.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_invite_template",
"arguments": {
"name": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
update_invite_template
Edit an existing review-invite template. Pass only the fields you want to change. Identify the template by its id (from list_invite_templates). Returns the updated template, or throws if not found.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_invite_template",
"arguments": {
"templateId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
delete_invite_template
Permanently delete a review-invite template. This does not affect campaigns already using its content — it only removes the reusable template. Identify the template by its id (from list_invite_templates).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_invite_template",
"arguments": {
"templateId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
find_campaign_recipients
Search the agency's review-invite recipients by name, email or phone, across every campaign, location and source (manual, CSV, CRM). Use this when you know who someone is but not which campaign or location they're in — unlike list_campaign_recipients, this needs no clientId or locationId. Returns matching contacts with their id, campaign, location, source, contact type, and whether they've already been messaged. The id is what update_campaign_recipient and move_campaign_recipients take.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "find_campaign_recipients",
"arguments": {
"query": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
update_campaign_recipient
Correct a review-invite recipient's details — name, email, phone or contact type. Pass only the fields you're changing. Identify the recipient by id (from find_campaign_recipients or list_campaign_recipients). Editing email or phone on a contact who has ALREADY been messaged is refused: the delivered message and any reply are tied to the address it went to, so changing it would misattribute them. Returns the updated contact.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_campaign_recipient",
"arguments": {
"recipientId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.
move_campaign_recipients
Move review-invite recipients to a campaign at a different location — the fix when an import filed contacts under the wrong branch. A recipient's location IS its campaign's location, so this takes a target campaignId; use list_review_campaigns to find campaigns at the location you want. Contacts that have already been messaged cannot be moved (the delivered message belongs to the location it was sent from), and moving pending contacts into a live auto-sending campaign is refused unless you pass allowSend:true, because it would message them immediately. Returns how many moved.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "move_campaign_recipients",
"arguments": {
"recipientIds": [
"string"
],
"campaignId": "string"
}
}
}{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "..."
}
]
}
}Die Antwortform dient nur zur Veranschaulichung — der tatsächliche Inhalt hängt vom Tool und Ihren Daten ab.