Alle MCP-Werkzeuge
Jedes Werkzeug des SmartChat-MCP-Servers, nach Bereich sortiert. Claude sieht genau diese Namen, Beschreibungen und Felder.
Die technische Referenz unten ist auf Englisch, genau so, wie Namen und Felder in der API und in Claude erscheinen.
161 tools · MCP server: https://mcp.smartchat.marketing
Zweistufige Aktionen
Werkzeuge, die senden, planen, einreichen oder löschen, liefern zuerst eine Vorschau und ein confirm_token. Ruf dasselbe Werkzeug mit confirm_token nochmal auf, um es auszuführen. Beim ersten Aufruf passiert nichts.
Contacts
search_contacts · Search contacts
Searches the business's contacts by name, phone number or email (partial matches, case-insensitive). Without a query it returns the most recently created contacts. Returns id, name, phone, email, tags and opt-in status.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
query | string | nein | Name, phone number or email, or part of it. max length 100 |
limit | integer | nein | Maximum number of results (default 25, maximum 100). min 1 · max 100 · default 25 |
Ruft auf: GET /v1/contacts
get_contact · Get contact
Returns one contact with all fields, tags and WhatsApp/email opt-in status.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id | string | ja | ID of the contact. min length 1 · max length 100 |
Ruft auf: GET /v1/contacts/undefined
create_contact · Create contact
Creates a new contact. Needs a phone number or an email address; duplicates are rejected. A new contact starts without marketing consent (opt-in status 'none'), so send_message is not possible until the contact has confirmed the opt-in.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
name | string | ja | Full name or company name. min length 1 · max length 120 |
phone | string | nein | Phone number in international format, e.g. +4915112345678. max length 40 |
email | string | nein | Email address. format email · max length 254 |
acquisition | string ("marketing", "service", "automation") | nein | Where the contact comes from. Default: marketing. |
Ruft auf: POST /v1/contacts
update_contact · Update contact
Changes name, phone number or email of an existing contact. Only the fields sent are changed. Changing the phone number or email resets the opt-in for that channel.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id | string | ja | ID of the contact. min length 1 · max length 100 |
name | string | nein | New name. min length 1 · max length 120 |
phone | string | nein | New phone number in international format. max length 40 |
email | string | nein | New email address. format email · max length 254 |
Ruft auf: PATCH /v1/contacts/undefined
add_contact_tag · Add tag to contact
Adds a tag (label such as 'regular customer') to a contact. Adding a tag that is already there changes nothing.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id | string | ja | ID of the contact. min length 1 · max length 100 |
tag | string | ja | The tag, e.g. 'regular customer'. min length 1 · max length 60 |
Ruft auf: POST /v1/contacts/undefined/tags
list_contacts · List contacts
Lists contacts with their opt-in state and tags.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
type | string | nein | |
search | string | nein |
Ruft auf: POST /v1/tools/list_contacts
add_contact · Add contact
Adds a contact. A new contact still has to confirm the sign-up.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
name | string | nein | |
email | string | nein | |
phone | string | nein |
Ruft auf: POST /v1/tools/add_contact
resend_optin_confirmation · Resend confirmation
Sends the sign-up confirmation to a contact again. First call returns a preview and confirm_token.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id | string | ja | |
confirm_token | string | nein |
Ruft auf: POST /v1/tools/resend_optin_confirmation
tag_contacts · Tag contacts
Adds tags to one or more contacts.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
tag | string | ja | |
contact_ids | array of any | ja | |
grund | string | nein |
Ruft auf: POST /v1/tools/tag_contacts
untag_contacts · Remove tags
Removes tags from one or more contacts.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
tag | string | ja | |
contact_ids | array of any | ja |
Ruft auf: POST /v1/tools/untag_contacts
export_contacts · Export contacts
Exports the contacts as CSV text.
Keine Eingabefelder.
Ruft auf: POST /v1/tools/export_contacts
get_last_import · Get last contact import
Returns the status and result of the last contact import.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_last_import
preview_unconfirmed_contacts · Preview unconfirmed contacts
Shows how many contacts have not confirmed their WhatsApp sign-up yet and would get the confirmation again.
Keine Eingabefelder.
Ruft auf: POST /v1/app/preview_unconfirmed_contacts
resend_to_unconfirmed_contacts · Resend confirmation to all unconfirmed
Sends the confirmation message again to all contacts who have not confirmed yet. Sends real WhatsApp messages.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Same fields as the app sends (usually none). |
Ruft auf: POST /v1/app/resend_to_unconfirmed_contacts
get_optin_queue · Get opt-in queue
Returns confirmation messages that are waiting to be sent.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_optin_queue
send_optin_queue · Send opt-in queue
Sends the waiting confirmation messages now. Sends real WhatsApp messages.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/send_optin_queue
get_consent_check · Get consent proof check
Returns the result of the consent proof check for imported contacts.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_consent_check
start_consent_check · Start consent proof check
Starts or answers the consent proof check for imported contacts.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Same fields as the app (answer of the check). |
Ruft auf: POST /v1/app/start_consent_check
unsubscribe_contact · Unsubscribe a contact
Unsubscribes a contact: they get no more marketing messages. contact_id from search_contacts.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id | string | ja | ID (contact id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/unsubscribe_contact
remove_contact_tag · Remove a tag from a contact
Removes one tag from a contact.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id | string | ja | ID (contact id). min length 1 · max length 200 |
tag | string | ja | ID (tag). min length 1 · max length 200 |
Ruft auf: POST /v1/app/remove_contact_tag
delete_contact · Delete a contact
Deletes a contact completely. Cannot be undone.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id | string | ja | ID (contact id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/delete_contact
export_all_data · Export all account data
Returns the complete data export of the account (as in Settings).
Keine Eingabefelder.
Ruft auf: POST /v1/app/export_all_data
Messages and inbox
send_message · Send WhatsApp message
Sends a free-text WhatsApp message to one contact. Only works for contacts with a confirmed WhatsApp opt-in; otherwise the send is rejected with the reason. Counts against the monthly message quota. WhatsApp only delivers free text within 24 hours of the contact's last message; outside that window use send_template.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id | string | ja | ID of the contact. min length 1 · max length 100 |
text | string | ja | Message text (maximum 4000 characters). min length 1 · max length 4000 |
idempotency_key | string | nein | Optional unique key for this action (1-255 printable ASCII characters, no spaces). Repeating the call with the same key within 24 hours returns the first result instead of sending again. min length 1 · max length 255 |
Ruft auf: POST /v1/messages
get_send_status · Get template send status
Returns the status of a template message queued with send_template: queued, sent, delivered, read, failed or skipped (with reason).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
send_id | string | ja | ID of the send. min length 1 · max length 100 |
Ruft auf: GET /v1/sends/undefined
list_conversations · List inbox conversations
Lists inbox conversations (WhatsApp and email), newest first, with contact and last message preview.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
channel | string ("whatsapp", "email") | nein | Only this channel. |
limit | integer | nein | Maximum number of results (default 25, maximum 100). min 1 · max 100 · default 25 |
offset | integer | nein | Number of results to skip, for paging (default 0). min 0 · max 100000 · default 0 |
Ruft auf: GET /v1/inbox/conversations
get_conversation_messages · Get conversation messages
Returns the most recent messages of one conversation in chronological order. Use offset to page further back.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
conversation_id | string | ja | ID of the conversation. min length 1 · max length 100 |
limit | integer | nein | Maximum number of results (default 25, maximum 100). min 1 · max 100 · default 25 |
offset | integer | nein | Number of results to skip, for paging (default 0). min 0 · max 100000 · default 0 |
Ruft auf: GET /v1/inbox/conversations/undefined/messages
list_ai_conversations · List SmartChat AI conversations
Lists the conversations with SmartChat AI (the chat inside the app).
Keine Eingabefelder.
Ruft auf: POST /v1/app/list_ai_conversations
get_ai_conversation_messages · Read a SmartChat AI conversation
Returns all messages of one SmartChat AI conversation.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
conversation_id | string | ja | ID (conversation id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/get_ai_conversation_messages
mark_conversation_read · Mark conversation as read
Marks an inbox conversation as read.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
conversation_id | string | ja | ID (conversation id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/mark_conversation_read
reply_in_conversation · Reply in an inbox conversation
Sends a reply inside an inbox conversation (text, or an image/video from the media library). Sends a real WhatsApp message.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
conversation_id | string | ja | ID (conversation id). min length 1 · max length 200 |
body | object | nein | { text } and optional { media_id } - same fields as the app. |
Ruft auf: POST /v1/app/reply_in_conversation
save_reply_as_learned · Save reply as learned answer
Saves an answer from a conversation so the AI reply uses it next time.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
conversation_id | string | ja | ID (conversation id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/save_reply_as_learned
get_conversation_ai_mode · Get AI mode of a conversation
Returns whether the AI answers in this conversation or a human took over.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
conversation_id | string | ja | ID (conversation id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/get_conversation_ai_mode
set_conversation_ai_mode · Set AI mode of a conversation
Switches the AI reply on or off for one conversation (take over / hand back).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
conversation_id | string | ja | ID (conversation id). min length 1 · max length 200 |
body | object | nein | { enabled: true|false } - same fields as the app. |
Ruft auf: POST /v1/app/set_conversation_ai_mode
list_learned_answers · List learned answers
Lists the answers the AI reply has learned.
Keine Eingabefelder.
Ruft auf: POST /v1/app/list_learned_answers
update_learned_answer · Change a learned answer
Changes one learned answer.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
answer_id | string | ja | ID (answer id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/update_learned_answer
delete_learned_answer · Delete a learned answer
Deletes one learned answer.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
answer_id | string | ja | ID (answer id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/delete_learned_answer
Newsletters
list_newsletters · List newsletters
Lists newsletters with status (draft, scheduled, sending, sent) and scheduled time.
Keine Eingabefelder.
Ruft auf: GET /v1/newsletters
schedule_newsletter · Schedule newsletter
Schedules an existing newsletter for a future time. At that time it is sent to all opted-in recipients. Sending immediately is not available through this server.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja | ID of the newsletter. min length 1 · max length 100 |
scheduled_at | string | ja | Send time in ISO 8601 with time zone, e.g. 2026-10-01T10:00:00Z. format date-time · max length 40 |
Ruft auf: POST /v1/newsletters/undefined/schedule
create_newsletter · Create newsletter
Creates a WhatsApp newsletter as draft. Texts are used word for word; media_id adds an image or video from the media library.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
subject | string | ja | |
content | string | ja | |
channel | string | nein | |
media | object | nein | |
cta | object | nein | |
segment | object | nein |
Ruft auf: POST /v1/tools/create_newsletter
update_newsletter · Change newsletter
Changes text, image, video or button of a newsletter. Texts are used word for word.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja | |
subject | string | nein | |
content | string | nein | |
media | any | nein | |
cta | any | nein | |
segment | any | nein |
Ruft auf: POST /v1/tools/update_newsletter
send_newsletter · Send newsletter now
Sends a newsletter to all confirmed contacts. First call returns the number of recipients and a confirm_token; the second call with confirm_token sends.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja | |
confirm_token | string | nein |
Ruft auf: POST /v1/tools/send_newsletter
test_newsletter · Send test newsletter
Sends a newsletter to the test phone number only.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja | |
to | string | nein |
Ruft auf: POST /v1/tools/test_newsletter
cancel_newsletter · Cancel newsletter
Cancels a scheduled newsletter.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja |
Ruft auf: POST /v1/tools/cancel_newsletter
get_newsletter · Get newsletter
Returns one newsletter with text, media, state and recipients.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja |
Ruft auf: POST /v1/tools/get_newsletter
count_newsletter_recipients · Count newsletter recipients
Returns how many contacts a newsletter would reach.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/count_newsletter_recipients
preview_newsletter · Preview a newsletter
Returns exactly how the newsletter arrives on the phone.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja | ID (newsletter id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/preview_newsletter
get_newsletter_progress · Get newsletter sending progress
Returns the sending state of a newsletter (sent, waiting, stopped).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja | ID (newsletter id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/get_newsletter_progress
resume_newsletter · Resume a newsletter
Continues sending a newsletter that stopped (for example after credits ran out). Sends real WhatsApp messages.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja | ID (newsletter id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/resume_newsletter
pause_newsletter · Pause a newsletter
Stops a newsletter that is being sent right now.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja | ID (newsletter id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/pause_newsletter
delete_newsletter · Delete a newsletter
Deletes a newsletter from the list.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
newsletter_id | string | ja | ID (newsletter id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/delete_newsletter
get_test_number · Get test phone number
Returns the phone number that receives test newsletters.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_test_number
set_test_number · Set test phone number
Sets the phone number that receives test newsletters.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { phone } in international format. |
Ruft auf: POST /v1/app/set_test_number
Templates
send_template · Send approved WhatsApp template
Sends an approved WhatsApp message template to one contact. Works outside the 24-hour window. Only for contacts with a confirmed WhatsApp opt-in and only for templates with status 'approved' (see list_templates, field 'sendable'). Template variables are filled from the contact (name, email, phone and custom fields) and from 'variables'; list_templates shows which variables can be set ('settable_variables'). The message is queued and sent within seconds through the same checks as in the SmartChat app (opt-out list, quota). Returns a send_id for get_send_status and the final text. Counts against the monthly message quota.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id | string | ja | ID of the contact. min length 1 · max length 100 |
template_id | string | ja | ID of the template. min length 1 · max length 100 |
variables | object | nein | Values for template variables that do not come from the contact, e.g. { "date": "12 October" }. Maximum 20, each at most 1024 characters. |
idempotency_key | string | nein | Optional unique key for this action (1-255 printable ASCII characters, no spaces). Repeating the call with the same key within 24 hours returns the first result instead of sending again. min length 1 · max length 255 |
Ruft auf: POST /v1/messages
list_templates · List message templates
Lists the message templates with their WhatsApp (Meta) approval status, language, variables, the variables a caller can set ('settable_variables') and whether they can be sent now ('sendable').
Keine Eingabefelder.
Ruft auf: GET /v1/templates
create_template · Create WhatsApp template draft
Creates a WhatsApp marketing template as a draft in SmartChat. Nothing is sent to WhatsApp yet; use submit_template to request Meta's approval. Variables are written in double curly braces, e.g. 'Hi {{name}}, your table is ready on {{date}}.' ({{name}} is the contact's first name).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
name | string | ja | Internal template name. min length 1 · max length 120 |
text | string | ja | Template text (WhatsApp allows at most 1024 characters). min length 1 · max length 1024 |
language | string | nein | Language of the text as a Meta language code, e.g. en, en_US, de, it, fr, es. Default: the account language. min length 2 · max length 10 |
Ruft auf: POST /v1/templates
submit_template · Submit template to WhatsApp
Submits a template draft to WhatsApp (Meta) for approval. SmartChat checks the template against Meta's rules first and rejects it with the reason if it would fail. Approval usually takes minutes to a few hours; list_templates shows the status. Changing an approved template later requires a new approval.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
template_id | string | ja | ID of the template. min length 1 · max length 100 |
Ruft auf: POST /v1/templates/undefined/submit
update_template · Change template
Changes text, image or buttons of a template. Texts are used word for word.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
template_id | string | ja | |
name | string | nein | |
content | string | nein | |
subject | string | nein | |
buttons | any | nein | |
media | any | nein | |
verbatim | array of string | nein |
Ruft auf: POST /v1/tools/update_template
delete_template · Delete template
Deletes a template.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
template_id | string | ja |
Ruft auf: POST /v1/tools/delete_template
submit_all_templates · Submit all templates
Submits all open templates to WhatsApp. First call returns the list and confirm_token; the second call with confirm_token submits.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
confirm_token | string | nein |
Ruft auf: POST /v1/tools/submit_all_templates
Follow-ups
create_followup_sequence · Create follow-up sequence
Creates a follow-up sequence (messages after sign-up).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
name | string | ja | |
steps | array of object | ja | |
activate | boolean | nein | |
verbatim | array of string | nein |
Ruft auf: POST /v1/tools/create_followup_sequence
update_followup_step · Change follow-up step
Changes text, image or timing of one follow-up message. Texts are used word for word.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
step_id | string | ja | |
content | string | nein | |
subject | string | nein | |
delay_hours | number | nein | |
verbatim | array of string | nein |
Ruft auf: POST /v1/tools/update_followup_step
add_followup_step · Add follow-up step
Adds a message to a follow-up sequence.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
sequence_id | string | ja | |
channel | string | nein | |
delay_hours | number | nein | |
content | string | ja | |
button | any | nein | |
media | object | nein | |
verbatim | array of string | nein |
Ruft auf: POST /v1/tools/add_followup_step
delete_followup_step · Delete follow-up step
Deletes one message from a follow-up sequence.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
step_id | string | ja |
Ruft auf: POST /v1/tools/delete_followup_step
rename_followup_sequence · Rename follow-up sequence
Renames a follow-up sequence.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
sequence_id | string | ja | |
name | string | ja |
Ruft auf: POST /v1/tools/rename_followup_sequence
set_followup_status · Pause or start follow-ups
Pauses or starts a follow-up sequence.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
sequence_id | string | ja | |
status | string ("active", "paused") | ja |
Ruft auf: POST /v1/tools/set_followup_status
Automations
list_automations · List automations
Lists all automations with trigger type and status (active or paused).
Keine Eingabefelder.
Ruft auf: GET /v1/automations
trigger_automation · Run automation
Starts an automation once by hand. Depending on its steps this can send WhatsApp messages or emails to contacts.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | ID of the automation. min length 1 · max length 100 |
Ruft auf: POST /v1/automations/undefined/trigger
create_automation · Create automation
Creates an automation (trigger and actions).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
name | string | ja | |
trigger_type | string | ja | |
trigger_config | object | nein | |
actions | array of object | ja | |
contact_fields | array of string | nein | |
activate | boolean | nein |
Ruft auf: POST /v1/tools/create_automation
update_automation · Change automation
Changes an automation, or pauses and activates it.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | |
name | string | nein | |
status | string | nein | |
actions | any | nein | |
trigger_config | any | nein |
Ruft auf: POST /v1/tools/update_automation
test_automation · Test automation
Runs an automation once with test data.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | |
sample_payload | object | nein |
Ruft auf: POST /v1/tools/test_automation
get_automation_setup · Get automation setup
Returns how an automation is connected (webhook address, fields).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja |
Ruft auf: POST /v1/tools/get_automation_setup
connect_calendar · Connect calendar
Connects a calendar (private iCal address) to an automation.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | |
calendar_url | string | nein | |
provider | string | nein | |
lead_minutes | number | nein |
Ruft auf: POST /v1/tools/connect_calendar
get_automation_runs · Get automation runs
Returns the latest runs of an automation.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | |
limit | number | nein |
Ruft auf: POST /v1/tools/get_automation_runs
delete_automation · Delete automation
Deletes an automation. First call returns a summary and confirm_token.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | |
confirm_token | string | nein |
Ruft auf: POST /v1/tools/delete_automation
create_free_automation · Create custom automation
Creates an automation from a custom rule. First call returns a preview; the second call with confirmed: true creates it.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
name | string | ja | |
regel | object | ja | |
actions | array of object | ja | |
contact_fields | array of string | nein | |
activate | boolean | nein | |
confirmed | boolean | nein |
Ruft auf: POST /v1/tools/create_free_automation
get_automation_connection · Get automation connection status
Returns whether an automation receives data (webhook, calendar).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | ID (automation id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/get_automation_connection
get_automation_endpoint · Get automation endpoint
Returns the webhook address and setup of an automation.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | ID (automation id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/get_automation_endpoint
get_automation_timeline · Get automation timeline
Returns the timeline of what an automation did.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | ID (automation id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/get_automation_timeline
check_automation_calendar · Check automation calendar
Checks the connected calendar of an automation.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
automation_id | string | ja | ID (automation id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/check_automation_calendar
get_calendar_guides · Get calendar guides
Returns how to find the private calendar address in Google, Outlook and Apple.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_calendar_guides
Landing page and popup
update_landing · Change landing page texts
Changes texts and settings of the landing page. Texts are used word for word.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
headline | string | nein | |
subheadline | string | nein | |
cta_text | string | nein | |
success_message | string | nein | |
texte | object | nein | |
steps_title | string | nein | |
steps_intro | string | nein | |
faq_title | string | nein | |
proof_title | string | nein | |
problem | object | nein | |
solution | object | nein | |
offer | object | nein | |
steps | array of object | nein | |
faq | array of object | nein | |
reviews | array of object | nein | |
color | string | nein | |
heading_color | any | nein | |
background_color | any | nein | |
button_color | any | nein | |
font | string | nein | |
design_mood | string | nein | |
font_pair | string | nein | |
hero_image | string | nein | |
hero_media | object | nein | |
images | array of string | nein | |
verbatim | array of string | nein | Namen der Felder, deren Text der Nutzer WÖRTLICH vorgegeben hat (z.B. ["headline"]). Diese Texte werden exakt so gespeichert - ohne Kritiker, ohne Politur. Setze das IMMER, wenn du einen Text übernimmst, den der Nutzer selbst geschrieben hat. |
Ruft auf: POST /v1/tools/update_landing
swap_landing_image · Change landing page image
Replaces an image on the landing page with an image or video from the media library.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
position | any | ja | |
query | string | nein |
Ruft auf: POST /v1/tools/swap_landing_image
get_landing_blocks · Get landing page blocks
Returns all blocks of the landing page with their ids and content.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
position | any | nein |
Ruft auf: POST /v1/tools/get_landing_blocks
add_landing_block · Add landing page block
Adds a block (section) to the landing page.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
type | string | ja | |
data | object | nein | |
variant | string | nein | |
ton | string | nein | |
position | any | nein | |
stil | array of object | nein |
Ruft auf: POST /v1/tools/add_landing_block
remove_landing_block · Remove landing page block
Removes a block from the landing page.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
position | any | ja |
Ruft auf: POST /v1/tools/remove_landing_block
move_landing_block · Move landing page block
Moves a block to another position on the landing page.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
from | any | ja | |
to | any | ja |
Ruft auf: POST /v1/tools/move_landing_block
set_landing_style · Change landing page style
Changes colors, fonts and background of the landing page or of one block.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
radius | any | nein | |
shadow | any | nein | |
spacing | any | nein | |
width | any | nein | |
button | any | nein | |
image | any | nein | |
stil | array of object | nein |
Ruft auf: POST /v1/tools/set_landing_style
update_landing_block · Change landing page block
Changes the content or design of one block. Texts are used word for word.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
position | any | ja | |
karte | any | nein | |
data | object | nein | |
variant | string | nein | |
ton | string | nein | |
stil | array of object | nein |
Ruft auf: POST /v1/tools/update_landing_block
publish_landing · Publish landing page
Publishes the landing page so the changes are live.
Keine Eingabefelder.
Ruft auf: POST /v1/tools/publish_landing
set_landing_tracking · Set tracking pixel
Sets tracking pixels (Meta, Google, TikTok) on the landing page.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
meta_pixel_id | string | nein | |
meta_capi_token | string | nein | |
google_id | string | nein | |
gtm_id | string | nein | |
tiktok_id | string | nein | |
tiktok_events_token | string | nein |
Ruft auf: POST /v1/tools/set_landing_tracking
find_text · Find text
Finds where a text appears: landing page, popup, templates, follow-ups and newsletters. Argument: text.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
text | string | ja |
Ruft auf: POST /v1/tools/find_text
update_website_popup · Change website popup
Changes texts, look and timing of the sign-up popup on the business website.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
headline | string | nein | |
text | string | nein | |
button | string | nein | |
thanks_headline | string | nein | |
thanks_text | string | nein | |
image | any | nein | |
triggers | array of string ("time", "exit", "scroll") | nein | |
delay_seconds | number | nein | |
scroll_percent | number | nein |
Ruft auf: POST /v1/tools/update_website_popup
refresh_reviews · Reload reviews
Loads the latest Google reviews for the landing page.
Keine Eingabefelder.
Ruft auf: POST /v1/tools/refresh_reviews
get_landing_page · Get landing page
Returns the landing page with its settings, address and publish state.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_landing_page
preview_landing_page · Preview landing page HTML
Returns the rendered HTML of the landing page.
Keine Eingabefelder.
Ruft auf: POST /v1/app/preview_landing_page
unpublish_landing_page · Unpublish landing page
Takes the landing page offline.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/unpublish_landing_page
get_website_popup · Get website popup
Returns the settings and texts of the website sign-up popup.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_website_popup
get_popup_stats · Get popup statistics
Returns how often the website popup was seen and how many signed up.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_popup_stats
Media and files
list_media · List media
Lists the images and videos in the media library with id, number, type and description.
Keine Eingabefelder.
Ruft auf: POST /v1/tools/list_media
save_to_library · Save to media library
Saves an uploaded file permanently to the media library. Argument: media_id.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
media_id | string | ja |
Ruft auf: POST /v1/tools/save_to_library
delete_media · Delete a media file
Deletes an image, video or file from the media library. media_id from list_media.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
media_id | string | ja | ID (media id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/delete_media
get_upload_cost · Get upload cost
Returns what an upload costs in credits and time (for example for video processing).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
kind | string | nein | Optional filter 'kind'. |
size | string | nein | Optional filter 'size'. |
Ruft auf: POST /v1/app/get_upload_cost
get_profile_media · Get profile media
Returns the profile media: logo and avatar of the business.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_profile_media
update_profile_media · Change profile media
Sets logo or avatar of the business to an image from the media library.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields as in the app, e.g. { logo_media_id } or { avatar_media_id }. |
Ruft auf: POST /v1/app/update_profile_media
list_knowledge_documents · List knowledge documents
Lists the documents the AI knows about the business (PDF, text).
Keine Eingabefelder.
Ruft auf: POST /v1/app/list_knowledge_documents
delete_knowledge_document · Delete a knowledge document
Deletes a knowledge document.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
document_id | string | ja | ID (document id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/delete_knowledge_document
upload_media · Upload image, video or file
Uploads an image, video or PDF to the media library, from a public address or as base64. Returns the media id, which can then be used in newsletters, templates, follow-ups and the landing page.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
url | string | nein | Public address (https) of the file. SmartChat downloads it. |
data_base64 | string | nein | The file itself, base64 encoded (alternative to url, for small files). |
filename | string | nein | File name with extension, e.g. photo.jpg. Required with data_base64. |
mime | string | nein | Optional file type, e.g. image/jpeg. |
usage | string | nein | Optional purpose: generic, landing, newsletter, template, logo, avatar. |
Ruft auf: POST /v1/media
upload_knowledge_document · Upload knowledge document
Uploads a document (PDF, text, Word) the AI reply uses as knowledge about the business, from a public address or as base64.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
url | string | nein | Public address (https) of the file. SmartChat downloads it. |
data_base64 | string | nein | The file itself, base64 encoded (alternative to url, for small files). |
filename | string | nein | File name with extension, e.g. photo.jpg. Required with data_base64. |
mime | string | nein | Optional file type, e.g. image/jpeg. |
Ruft auf: POST /v1/knowledge/documents
SmartChat AI and knowledge
ask_smartchat_ai · Ask SmartChat AI
Gives a task to SmartChat AI, the assistant inside SmartChat, and returns its answer. Use it for everything the other tools do not cover: create or change WhatsApp newsletters, follow-up sequences, automations, the landing page and the website popup, write message texts, or answer questions about the account. Write the task in plain words, exactly as the user wants it. When SmartChat AI asks for a confirmation (for example before sending or submitting), show the question to the user and call this tool again with the user's answer. If the status is 'working', call get_smartchat_ai_reply after about a minute.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
message | string | ja | The task or question for SmartChat AI, in the user's words. min length 1 · max length 4000 |
Ruft auf: POST /v1/ai/chat
get_smartchat_ai_reply · Get SmartChat AI reply
Returns the latest answer of SmartChat AI. Use it after ask_smartchat_ai returned the status 'working'.
Keine Eingabefelder.
Ruft auf: GET /v1/ai/reply
scan_website · Scan website
Scans the business website again and updates the stored data. Argument: url (optional).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
url | string | ja |
Ruft auf: POST /v1/tools/scan_website
set_constraint · Set a content rule
Stores a rule for all content, for example a topic that must never be mentioned.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
value | string | ja | |
kind | string | nein |
Ruft auf: POST /v1/tools/set_constraint
search_knowledge · Search business knowledge
Searches the stored knowledge about the business (website, documents). Argument: query.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
query | string | ja | |
limit | number | nein |
Ruft auf: POST /v1/tools/search_knowledge
refresh_brain · Rebuild business knowledge
Rebuilds the stored knowledge about the business from its website and documents.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
force | boolean | nein |
Ruft auf: POST /v1/tools/refresh_brain
get_growth_plan · Get growth plan
Returns a growth plan for the business based on its data.
Keine Eingabefelder.
Ruft auf: POST /v1/tools/get_growth_plan
get_next_step · Get next step
Returns the most useful next step for the account.
Keine Eingabefelder.
Ruft auf: POST /v1/tools/get_next_step
web_research · Research on the web
Researches a question on the web and returns sources. Argument: query.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
query | string | ja | |
language | string | nein |
Ruft auf: POST /v1/tools/web_research
get_ai_reply_settings · Get AI reply settings
Returns the AI reply settings: on/off, name of the AI, delays, confidence.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_ai_reply_settings
update_ai_reply_settings · Change AI reply settings
Switches the AI reply on or off and changes its name and settings.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields as in the app, e.g. { enabled, name }. |
Ruft auf: POST /v1/app/update_ai_reply_settings
analyze_reply_style · Analyze reply style
Analyzes the answer style of the business from past messages.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/analyze_reply_style
approve_reply_style · Approve reply style
Approves the analyzed answer style so the AI uses it.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/approve_reply_style
discard_reply_style · Discard reply style
Discards the analyzed answer style.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/discard_reply_style
get_auto_reply_faq · Get auto-reply FAQ
Returns the FAQ and settings of the automatic reply.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_auto_reply_faq
update_auto_reply_faq · Change auto-reply FAQ
Changes the FAQ and settings of the automatic reply.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/update_auto_reply_faq
Account and settings
get_stats · Get account statistics
Returns account figures: contacts, messages sent, open conversations and remaining credits.
Keine Eingabefelder.
Ruft auf: GET /v1/stats
get_business_profile · Get business profile
Returns the stored business profile: name, industry, description and website.
Keine Eingabefelder.
Ruft auf: GET /v1/settings/profile
get_overview · Get account overview
Returns an overview of the account: landing page, templates, follow-ups, newsletters, automations and contacts with their IDs and states.
Keine Eingabefelder.
Ruft auf: POST /v1/tools/get_overview
update_brand · Change brand
Changes brand data: name, colors, logo, tone.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
color | string | nein | |
tonality | string | nein |
Ruft auf: POST /v1/tools/update_brand
set_legal_urls · Set legal pages
Sets the addresses of imprint and privacy policy.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
imprint_url | string | nein | |
privacy_url | string | nein |
Ruft auf: POST /v1/tools/set_legal_urls
set_whatsapp_profile_photo · Set WhatsApp profile photo
Sets the profile photo of the connected WhatsApp number from an image in the media library.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { media_id } |
Ruft auf: POST /v1/app/set_whatsapp_profile_photo
list_widgets · List website widgets
Lists the website widgets (popup and chat button).
Keine Eingabefelder.
Ruft auf: POST /v1/app/list_widgets
get_widget_snippet · Get widget embed code
Returns the code to paste into the website.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
widget_id | string | ja | ID (widget id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/get_widget_snippet
update_widget · Change a widget
Changes a website widget, for example the WhatsApp number or allowed domains.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
widget_id | string | ja | ID (widget id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/update_widget
rotate_widget_token · Renew widget token
Renews the token of a widget. The old embed code stops working.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
widget_id | string | ja | ID (widget id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/rotate_widget_token
get_whatsapp_link · Get WhatsApp link
Returns the wa.me link of the business.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_whatsapp_link
get_whatsapp_qr · Get WhatsApp QR code
Returns the QR code for the WhatsApp number.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_whatsapp_qr
get_notifications · Get notification settings
Returns which emails the account gets (new messages, problems, reports).
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_notifications
update_notifications · Change notification settings
Switches notification emails on or off.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/update_notifications
invite_team_member · Invite a team member
Invites a person to the team by email.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { email, role } - same fields as the app. |
Ruft auf: POST /v1/app/invite_team_member
change_team_role · Change a team role
Changes the role of a team member.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
member_id | string | ja | ID (member id). min length 1 · max length 200 |
body | object | nein | { role } |
Ruft auf: POST /v1/app/change_team_role
remove_team_member · Remove a team member
Removes a person from the team.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
member_id | string | ja | ID (member id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/remove_team_member
get_billing · Get plan and subscription
Returns the current plan and subscription state.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_billing
list_invoices · List invoices
Lists the invoices of the account.
Keine Eingabefelder.
Ruft auf: POST /v1/app/list_invoices
get_credits · Get credits
Returns the credit balance.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_credits
get_credit_history · Get credit history
Returns the history of credits used and added.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_credit_history
list_rewards · List rewards
Lists the bonus tasks and their state.
Keine Eingabefelder.
Ruft auf: POST /v1/app/list_rewards
claim_reward · Claim a reward
Claims a finished bonus task.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
reward_id | string | ja | ID (reward id). min length 1 · max length 200 |
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/claim_reward
get_referral · Get referral program
Returns the referral link and its results.
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_referral
list_domains · List domains
Lists the domains and subdomain of the landing page.
Keine Eingabefelder.
Ruft auf: POST /v1/app/list_domains
check_subdomain · Check a subdomain
Checks if a subdomain (name.smartchat.marketing) is free.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
name | string | nein | Optional filter 'name'. |
Ruft auf: POST /v1/app/check_subdomain
suggest_subdomain · Suggest subdomains
Suggests free subdomains for the business.
Keine Eingabefelder.
Ruft auf: POST /v1/app/suggest_subdomain
set_subdomain · Set the subdomain
Sets the subdomain of the landing page. The old address stops working.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { name } |
Ruft auf: POST /v1/app/set_subdomain
connect_own_domain · Connect an own domain
Connects a domain the business already owns. Returns the DNS entries to set.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { connect: "example.com" } - same fields as the app. Buying a domain is not possible here. |
Ruft auf: POST /v1/app/connect_own_domain
verify_domain · Verify a domain
Checks the DNS entries of a connected domain.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Fields to send, same as in the app. |
Ruft auf: POST /v1/app/verify_domain
set_domain_auto_renew · Switch domain auto-renew
Switches the automatic renewal of a domain on or off.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
domain_id | string | ja | ID (domain id). min length 1 · max length 200 |
body | object | nein | { auto_renew: true|false } |
Ruft auf: POST /v1/app/set_domain_auto_renew
delete_domain · Remove a domain
Removes a connected domain from the account.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
domain_id | string | ja | ID (domain id). min length 1 · max length 200 |
Ruft auf: POST /v1/app/delete_domain
list_connected_ai_apps · List connected AI apps
Lists the AI apps (like Claude) connected to the account.
Keine Eingabefelder.
Ruft auf: POST /v1/app/list_connected_ai_apps
list_tutorials · List tutorials
Lists the tutorial videos.
Keine Eingabefelder.
Ruft auf: POST /v1/app/list_tutorials
send_feedback · Send feedback
Sends feedback, a bug report or a suggestion to the SmartChat team.
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | Same fields as the app, e.g. { type, message }. |
Ruft auf: POST /v1/app/send_feedback
get_onboarding_status · Get setup status
Returns the setup state of the account (what is done, what is missing).
Keine Eingabefelder.
Ruft auf: POST /v1/app/get_onboarding_status
set_areas · Choose areas
Chooses which areas the account uses (marketing, automations, AI reply).
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
body | object | nein | { areas: [...] } - same fields as the app. |
Ruft auf: POST /v1/app/set_areas
Fragen?
Schreib uns an support@smartchat.marketing