Tiny Ant mit Ihren eigenen Werkzeugen verbinden
REST-API, MCP-Server und Webhooks
Nutzen Sie die REST-API, um mit Verkaufschancen, Kontakten, Aufgaben, Angeboten und Daten zu Website-Besuchern zu arbeiten. Der MCP-Server stellt eine Auswahl dieser Aktionen für kompatible Assistenten bereit. Ein API-Schlüssel kann Daten im Arbeitsbereich sowohl lesen als auch ändern. Verbinden Sie daher nur Werkzeuge, denen Sie vertrauen.
Authentifizierung
Jede Anfrage übergibt einen API-Schlüssel des Arbeitsbereichs im Authorization-Header:
Authorization: Bearer ta_live_...
Admins des Arbeitsbereichs erstellen Schlüssel in den Einstellungen der App (Abschnitt API und MCP). Ein Schlüssel wird beim Erstellen einmalig angezeigt und lässt sich jederzeit widerrufen. Wird die erstellende Person zum Mitglied herabgestuft, werden ihre Schlüssel dauerhaft widerrufen; beim Entfernen der Person verlieren ihre Schlüssel ihre Gültigkeit. Eine erneute Ernennung zum Admin stellt alte Schlüssel nicht wieder her. Solange ein Arbeitsbereich gesperrt ist, können Schlüssel nicht verwendet werden. Ein Schlüssel handelt im Namen des Admins, der ihn erstellt hat: Notizen, Aufgaben und Ereignisse werden dieser Person zugeordnet, und alles über den Schlüssel Erstellte ist im gesamten Arbeitsbereich sichtbar. API und MCP-Server sind in Pro und Team enthalten. Erstellen und verwalten Sie Schlüssel unter Einstellungen → API und MCP.
Anfragen ohne gültigen Schlüssel erhalten 401. Ein Arbeitsbereich im Tarif Free erhält 403.
Basis-URL
https://app.tinyant.io/api/v1
Die meisten Anfrage- und Antwortkörper verwenden JSON (UTF-8). Angebots-Uploads nutzen Multipart-Formulardaten, wie unten aufgeführt. IDs bestehen aus den Präfixen de_, co_, pe_, ta_ oder no_ gefolgt von 12 Zeichen; Angebots-IDs haben 12 Zeichen ohne Präfix. Zeitstempel sind Unix-Millisekunden. Die folgenden Endpunkte beschreiben die veröffentlichte Integrationsschnittstelle. Nutzen Sie die Netzwerkanfragen der App als Beispiel, wo eine vollständige Payload hier nicht dokumentiert ist.
Endpunkte
| Methode | Pfad | Funktion |
|---|---|---|
| GET POST PUT DELETE | /automations, /automations/:id | CRM Advanced: Admin-Regeln und die letzten 100 zugänglichen Ausführungen. POST/PUT erfordert name, definition, confirmation aus der Vorschau, revision (0 für neu) sowie mode off|simulate|live. Regeln starten mit simulate; für live ist eine erfolgreiche Simulation der unveränderten Version erforderlich. API-Regeln bleiben an ihren ursprünglichen Admin und Schlüssel gebunden. Änderungen der Zuständigkeit sind nur in der App möglich. DELETE archiviert die Regel und bricht ausstehende Ausführungen ab. |
| POST | /automations/preview | Validiert {definition}: version:1; Auslöser deal_created|stage_changed|stalled|proposal_opened; optional pipeline_id, stage_id, owner_id; stalled mit after_days 1..90. Genau eine Aktion: create_task {title,delay_days:0..90,assignee_id}, set_field {field:expected_close,value:YYYY-MM-DD} oder notify {assignee_id}. Zuständig ist eine aktuelle Mitglieds-ID oder deal_owner. Gibt confirmation und höchstens 20 passende Beispiele zurück. Nimmt keine Änderungen vor. |
| POST | /automations/:id/simulate, /automations/:id/stop, /automations/:id/cancel | Stellt eine Simulation {deal_id} in die Warteschlange, stoppt eine Regel {} oder bricht eine ausstehende Ausführung {run_id} ab. Die Hintergrundausführung prüft erneut die aktuellen Berechtigungen. Änderungen und Quittungen werden gemeinsam gespeichert; Wiederholungen führen eine bereits gespeicherte Aktion niemals doppelt aus. Kein E-Mail-Versand nach außen. |
| GET | /automation-notifications | Internes Postfach des aktuellen Nutzers, gefiltert nach den aktuellen Zugriffsrechten auf Verkaufschancen. Keine E-Mail- oder Browser-Push-Benachrichtigungen. |
| GET PUT | /dashboard | Persönliches Dashboard: GET liefert Kartenkatalog, gespeicherte Konfiguration und aktuelle, nach Zugriffsrechten gefilterte Kennzahlen; PUT {revision,config} speichert nur Layout und Filter des aktuellen Nutzers. Konfiguration Version 1: days 7/30/90, owner all/mine/unassigned, optionale pipeline_id und currency sowie eindeutige Karten {id,size} aus dem Katalog mit den Breiten 4/6/8/12. Prognose und Ergebnisse erfordern Admin-Rechte in CRM Advanced; Visitors setzt einen bezahlten Tarif voraus. Mit Layouts werden niemals Bewegungsdaten gespeichert. API-Schlüssel behalten ihren bestehenden Datensatz-Geltungsbereich. |
| GET | /bulk | Aktuelle Mitglieder, Aktivitätseinstellungen und Ihre 20 letzten Massenverarbeitungs-Batches. Vorschau und Fortschritt von Massenaktionen sind auf den Ersteller und denselben API-Schlüssel beschränkt. |
| POST | /bulk/preview | Vorschau für 1 bis 100 explizit angegebene Unternehmen, Personen oder Verkaufschancen über entity, ids und action: activity sowie die Aktivitätsfelder wie bei der Aufgabenerstellung. Gibt ausgewählte Namen, Validierung pro Datensatz und confirmation zurück. Die Erstellung von Aktivitäten nutzt die aktuellen Bearbeitungsrechte sowie dieselben Prüfungen für Terminierung, CRM-Advanced-Typen und Kapazitäten wie einzelne Aktivitäten. Änderungen von Verantwortlichen sind im Einklang mit der Zugriffsverwaltung nur Admins in der Web-App vorbehalten. |
| GET POST | /bulk/:id | Liest eine Vorschau beziehungsweise Ergebnisse oder wendet per POST mit confirmation bis zu fünf Zeilen pro Aufruf atomar an. Wiederholen Sie denselben Aufruf mit ID/Hash bis zum Abschluss; erledigte Zeilen werden nicht erneut ausgeführt. Ergebnisse lauten applied, skipped, failed oder pending. Änderungen im CRM oder an Zugriffsrechten machen ausstehende Schritte ungültig. Prüfen Sie die Ergebnisse und erstellen Sie eine neue Vorschau nur für die verbleibenden Datensätze. Bis zu 100 gespeicherte Batches pro Arbeitsbereich, sieben Tage lang abrufbar, danach Entfernung durch die planmäßige Bereinigung oder die nächste Massenvorschau. Beim Löschen des Erstellers oder Arbeitsbereichs werden Vorschauen und Belege ebenfalls entfernt. Es werden keine E-Mails oder Einladungen versendet. |
| GET | /imports/catalog | Feld- und Pipeline-Katalog für die Importzuordnung. Alle CRM-Mitglieder können Vorschauen erstellen und importieren; die Konfiguration benutzerdefinierter Felder und zusätzlicher Pipelines erfordert weiterhin CRM Advanced. |
| POST | /imports/preview | Vorschau für 1 bis 100 Zeilen (bis zu 500 KB) mit kind und duplicates: fill oder skip. Unterstützt custom_fields über stabile IDs, Pipeline-/Phasen-IDs oder eindeutige Namen sowie explizite Datensatz-IDs. fill ergänzt nur leere Felder; bestehende Beträge, Status und Phasen von Verkaufschancen bleiben unverändert. Wiederholte Datensätze werden übersprungen. Während der Vorschau werden keine CRM-Datensätze geändert. Gibt Zeilenaktionen/-fehler, Batch-ID und Bestätigungs-Hash zurück. Vorschaupläne und Wiederholungsbelege laufen nach sieben Tagen ab und werden durch die planmäßige Bereinigung oder beim nächsten Import im Arbeitsbereich entfernt. |
| GET POST | /imports/:id | Nur der Ersteller des Batches kann ihn lesen oder fortsetzen. Ein POST mit confirmation aus der geprüften Vorschau wendet bis zu zehn Zeilen an, jede davon atomar einschließlich verknüpfter Kontakte, Felder, Notizen und Verlauf. Wiederholen Sie denselben Aufruf mit ID/Hash bis zum Abschluss; erledigte Zeilen werden nicht erneut ausgeführt. Gleichzeitige Änderungen im CRM lehnen veraltete Vorschauen ab: Lesen Sie next_row und erstellen Sie eine neue Vorschau nur für die verbleibenden Zeilen. Bis zu 100 gespeicherte Batches pro Arbeitsbereich. |
| POST | /import | Älterer Direktimport ohne sichere Wiederholungsfunktion; bevorzugen Sie /imports/preview. Importiert bis zu 500 Unternehmen, Personen oder Verkaufschancen; gibt angelegte, aktualisierte, übersprungene, gekürzte Einträge sowie nummerierte Zeilenfehler zurück. Vorhandene Kontakte können auch bei erreichter Kapazitätsgrenze vervollständigt werden. |
| PUT | /deals/:id | Nutzen Sie before_id (eine Verkaufschance in der Zielphase oder null für das Ende), stage_id und revision zum Umsortieren. Die Kartenreihenfolge ändert nicht die Verweildauer in der Phase. |
| POST | /deals/move | Vorschau und Ausführung von bis zu 100 Verschiebungen offener Verkaufschancen: deal_ids, pipeline_id, stage_id, preview. Ausführen mit dem zurückgegebenen preview_hash. Veraltete Vorschauen schlagen fehl; Ergebnisse werden pro Verkaufschance zurückgegeben. |
| GET POST | /views/:entity | Gespeicherte Ansichten für Verkaufschancen, Personen oder Unternehmen. GET liefert lesbare Ansichten, den Feld-/Operatorenkatalog und Standardwerte. Nutzer mit CRM Advanced können private Ansichten erstellen; Admins können Ansichten für den Arbeitsbereich erstellen. POST mit name, sharing (private/workspace), revision:0, definition {version:1, columns, sort, filter}. Die Freigabe im Arbeitsbereich erweitert niemals den Datenzugriff. |
| PUT | /views/:entity/:id | Aktualisiert eine Ansicht mit der erwarteten revision. Die Freigabeart (sharing) ist unveränderlich; speichern Sie eine Kopie, um sie zu ändern. Nur der Ersteller kann eine private Ansicht ändern; geteilte Ansichten können nur von Admins geändert werden. archived:true blendet eine Ansicht aus. Bis zu 100 aktive Ansichten pro Arbeitsbereich. |
| POST | /query/:entity | Eine validierte Abfrage für Listen und CSV-Seiten. Senden Sie definition oder view_id, offset (0..100000), limit (1..100) und format (json/csv). Definition: version:1, columns (1..20 IDs), sort (bis zu 3 Einträge {field,direction}), filter {op:and/or,rules:[Gruppen oder {field,op,value}]}. Bis zu 20 Knoten und Tiefe 3. Werte werden als gebundene Parameter übergeben, niemals als SQL. owner_id eq me wird für den aktuellen Nutzer aufgelöst; value_cents verwendet Cent-Beträge. has_task schließt offene Aufgaben ohne Datum ein, next_task ist die früheste terminierte offene Aufgabe. Die Antwort enthält total, next_offset sowie rows oder formelsicheres CSV. Im CSV ersetzen Bezeichnungen die Auswahl-IDs. Leervergleiche nutzen empty/not_empty; andere Vergleiche schließen fehlende Werte aus. Ansichten und Exporte bleiben auch nach Ende des Zugriffs auf CRM Advanced lesbar. Die Seitennummerierung nutzt IDs als eindeutiges Sortierkriterium, bildet jedoch keine feste Momentaufnahme über mehrere Anfragen hinweg. |
| GET PUT | /layouts/:entity | Gemeinsames Kartenlayout für Unternehmen, Personen oder Verkaufschancen. GET liefert Layout, Standardwerte, revision, schema_revision und Felder. Admins mit CRM Advanced können per PUT layout {main, side, details}, beide Revisionen sowie alle Felder als geordnete Objekte {id, group_name} einschließlich archivierter Felder übergeben. Jeder Abschnitt und Detailschlüssel muss genau einmal vorkommen; kein HTML und keine ausgeblendeten Abschnitte. Mitglieder und Arbeitsbereiche ohne CRM Advanced behalten Lesezugriff. |
| GET POST | /fields/:entity | Benutzerdefinierte Felder für Unternehmen, Personen oder Verkaufschancen auflisten oder erstellen. Das Erstellen erfordert Admin-Rechte in CRM Advanced. Typen: text, long_text, number, date, boolean, select, multi_select. Optional group_name und position. |
| PUT | /fields/deals/:id/rules | Admin mit CRM Advanced: Vorschau und Ersetzen der Geltungsbereiche visible_in/required_in (pipeline_id, optional stage_id). Erfordert die revision des Feldes, zuerst preview:true und anschließend preview:false mit dem zurückgegebenen preview_hash. Ein leeres visible_in bedeutet überall sichtbar; Pflichtfelder bleiben stets sichtbar. Die Vorschau meldet bestehende offene Verkaufschancen mit fehlenden Werten. |
| PUT | /fields/:entity/:id | Aktualisiert name, group_name, position, archived und options mit der erwarteten revision. Bestehende Feldtypen können nicht geändert werden. Das Erstellen einer Verkaufschance akzeptiert custom_fields mit der Feld-ID als Schlüssel; fehlende Pflichtwerte einer Phase liefern 422 beim Erstellen, beim Phasenwechsel und beim Wiederöffnen, einschließlich Import und MCP. Optionen behalten ihre IDs; weggelassene bisherige Auswahlwerte werden archiviert. |
| GET PUT | /:entity/:id/fields | Typisierte Werte anhand der Feld-ID lesen oder aktualisieren. PUT benötigt values, revision und schema_revision aus GET; null löscht einen Wert. Auswahlfelder verwenden Options-IDs. Archivierte Felder bleiben lesbar. Diese Endpunkte unterstützen noch keine Pflichtfelder oder phasenspezifischen Felder. |
| GET POST | /pipelines | Pipelines (einschließlich archivierter) auflisten oder eine neue erstellen (name; Admin mit CRM Advanced erforderlich) |
| PUT | /pipelines/:id | Aktualisiert name, position, make_default oder archived mit der erwarteten revision. Verschieben oder schließen Sie offene Verkaufschancen vor dem Archivieren; /deals/move bietet eine Vorschau und Ergebnisse pro Verkaufschance. |
| GET | /reports | Berichtstypen, Berechnungshinweise, Filter und persönlich gespeicherte Berichte (Admin mit CRM Advanced) |
| POST | /reports/run | Führt definition oder view_id mit den aktuellen Datensatzberechtigungen aus. Optional group aus der Antwort, offset, limit bis 100. Cent-Beträge bleiben nach Währung getrennt. |
| POST PUT | /reports/views, /reports/views/:id | Persönlichen Bericht speichern: name, definition, revision (0 für neu); archived:true blendet einen bestehenden Bericht aus |
| GET | /capabilities | Aktuelle CRM-Funktionsberechtigungen und zulässige Aktionen; dies bedeutet nicht, dass jede Funktion bereits implementiert ist |
| GET | /me | Arbeitsbereich, Tarif und der Nutzer, in dessen Namen der Schlüssel handelt |
| GET | /deals?status=open|won|lost&q=&pipeline_id= | Verkaufschancen mit Phase, Wert, Unternehmen, Kontakt und Lesestatus des Angebots auflisten |
| POST | /deals | Verkaufschance erstellen (name, company_id oder company_name, person_id, value, currency, pipeline_id, stage_id, expected_close) |
| GET PUT DELETE | /deals/:id | Einzelne Verkaufschance mit Verlauf; Felder, Phase oder Status aktualisieren; optional close_details (CRM Advanced) oder next_activity beim Wiederöffnen mit revision; löschen |
| POST | /deals/:id/proposals | Angebot mit der Verkaufschance verknüpfen ({proposal_id}) |
| DELETE | /deals/:id/proposals/:pid | Verknüpfung eines Angebots aufheben |
| GET POST | /companies | Unternehmen auflisten oder erstellen |
| GET PUT DELETE | /companies/:id | Einzelnes Unternehmen mit Personen, Verkaufschancen und Verlauf |
| GET POST | /people | Personen (Kontakte) auflisten oder erstellen |
| GET PUT DELETE | /people/:id | Einzelne Person mit Verkaufschancen und Verlauf |
| GET PUT | /activity-settings | Eigene IANA-Zeitzone lesen oder setzen; Admins können auch workspace_timezone setzen. Null verwendet den Standardwert. |
| GET POST | /tasks | Aktivitäten auflisten oder erstellen. scope=mine|all|unassigned, status=open|done|cancelled|all (veraltet done=0|1|all), Datensatz-IDs, offset und limit (max. 500). Folgen Sie next_offset, wenn has_more gesetzt ist. |
| GET PUT DELETE | /tasks/:id | Aktivität lesen, bearbeiten, erledigen, absagen oder löschen. Notizen, completed_date, call_result und atomares next_activity werden unterstützt. Senden Sie revision beim Bearbeiten und ?revision= beim Löschen; veraltete Schreibzugriffe liefern 409. |
| POST | /notes | Notiz zu einer Verkaufschance, einer Person oder einem Unternehmen hinzufügen |
| PUT DELETE | /notes/:id | Notiz bearbeiten oder löschen |
| GET | /stages?pipeline_id= | Pipeline-Phasen, Mitglieder und Währung (Standard-Pipeline, falls weggelassen) |
| PUT | /stages | Phasen mit pipeline_id und revision speichern. Aus verwendeten Phasen müssen offene Verkaufschancen zuerst verschoben oder geschlossen werden. Weggelassene Phasen werden archiviert. |
| GET | /activity?since=&limit=&deal_id=&person_id=&company_id= | Strukturiertes Ereignisprotokoll, neueste zuerst. since ist ein Unix-Zeitstempel in Millisekunden |
| GET | /search?q= | Unternehmen, Personen und Verkaufschancen in einer Suche |
| GET | /visitors?days=7|30|90 | Tiny Ant Visitors: Unternehmen, die Ihre Website besucht haben, aufgerufene Seiten, letzter Besuch, CRM-Verknüpfung sowie der Anteil von Heim-, Mobilfunk- und Rechenzentrumsbesuchen |
| GET POST | /visitors/settings | Status und Code-Snippet von Visitors; ein- oder ausschalten ({enabled}), ipapi.is verbinden oder entfernen ({ipapi_key}) |
| POST | /visitors/companies/:id/add | Besuchendes Unternehmen ins CRM übernehmen |
| GET | /proposals?status=active|won|closed|archived | Angebote mit Besuchen, Lesezeit und verknüpfter Verkaufschance |
| GET | /proposals/:id | Einzelnes Angebot mit Lesezeit je Seite, Empfängern, Aktivität und Versionen |
| POST | /proposals | Angebot hochladen (gleicher Request-Body wie in der App: Multipart mit PDF-Datei, Name und Seitenanzahl) |
| POST | /proposals/:id/status | Status setzen ({status: active|closed|won}) |
Aktivitäten
Die Aufgaben-Endpunkte speichern in Arbeitsbereichen mit CRM Advanced (in Team, Enterprise oder einem aktiven Pilotbetrieb) auch Anrufe, Meetings und Nachfassaktionen. Übergeben Sie activity_type (task, call, meeting oder follow_up), due_date (YYYY-MM-DD), optional due_time (HH:mm), timezone (IANA-Name), duration_minutes (1 bis 1440), assignee_id sowie optional deal_id, person_id oder company_id. Ganztägige Aufgaben behalten ihr Kalenderdatum. Fehlt die Zeitzone, gilt zuerst die Nutzereinstellung, dann die des Arbeitsbereichs und schließlich UTC. Eine nicht existierende Ortszeit wird abgelehnt; eine doppelt vorkommende Uhrzeit erfordert occurrence: earlier oder later. Lesen Sie eine Aktivität vor dem Bearbeiten und senden Sie ihre revision mit; veraltete Schreibzugriffe liefern 409. Ältere Clients können revision weglassen. Null leert optionale Felder. Listen Sie Aktivitäten mit scope=mine, all oder unassigned, done=0, 1 oder all, optionalen Datensatz-IDs, limit bis 500 und offset auf; folgen Sie next_offset, solange has_more true ist. Endet der Zugriff auf CRM Advanced, lassen sich bestehende typisierte Aktivitäten weiterhin bearbeiten und abschließen, und neue einfache Aufgaben bleiben verfügbar. Aktivitäten tätigen keine Anrufe, senden keine Nachrichten und verschicken keine Meeting-Einladungen. Das Abschließen einer Aktivität markiert weder eine Verkaufschance noch ein Angebot als gewonnen.
Protokollieren Sie E-Mail-, SMS-, LinkedIn- oder sonstige Kontakte als activity_type: follow_up mit contact_channel: email, sms, linkedin oder other (CRM Advanced). Aktivitätsnotizen fassen bis zu 10.000 Zeichen. done: true speichert den Abschluss; completed_date hat das Format YYYY-MM-DD und darf nicht in der Zukunft liegen. Das Abschließen eines Anrufs erfordert call_result: answered, no_answer oder busy. cancelled: true sagt die Aktivität ab, ohne sie zu löschen; done und cancelled können nicht gleichzeitig true sein. Filtern Sie Listen über status: open, done, cancelled oder all; abgesagte Einträge erscheinen weder in offenen Arbeitslisten noch in Aktivitätsberichten.
Ein Schreibvorgang für eine Aktivität kann next_activity: {title, due_date, activity_type, contact_channel, notes, assignee_id} enthalten; der neue Datensatz übernimmt die Verkaufschance, und sein Datum muss heute oder in der Zukunft liegen. Kombinierte Schreibvorgänge bei bestehenden Datensätzen erfordern revision. Beide Änderungen werden atomar gespeichert. Ein Admin mit CRM Advanced kann require_next_activity für eine Pipeline aktivieren. Eine offene Verkaufschance muss dann eine offene Aktivität behalten, wenn ihre letzte Aktivität erledigt, abgesagt, gelöscht oder entkoppelt wird sowie wenn die Verkaufschance wieder geöffnet wird. Das Erstellen oder Verschieben einer Verkaufschance ohne Aktivität bleibt weiterhin möglich. Die Pflicht entfällt, sobald der Zugriff auf CRM Advanced endet.
Aktualisierungen von Verkaufschancen mit CRM Advanced können close_details zusammen mit status won oder lost und revision enthalten: close_date (spätestens heute), open_activities (keep oder cancel), optionale notes sowie won_reason bei gewonnenen oder loss_category bei verlorenen Verkaufschancen. Verlustkategorien sind price, timing, no_need, competitor, no_response, no_authority_or_budget, in_house, poor_fit und other. Das optionale Feld competitor gilt für die Kategorie competitor; revisit_date muss in der Zukunft liegen und erzeugt keine automatische Erinnerung. Der Status won setzt einen positiven Wert der Verkaufschance voraus. Abschluss und etwaige Absagen offener Aktivitäten werden gemeinsam unter den aktuellen Datensatzberechtigungen gespeichert. Senden Sie zum erneuten Öffnen status: open und bei Bedarf next_activity. Das Wiederöffnen löscht die Abschlussdetails, stellt abgesagte Aktivitäten jedoch nicht wieder her. Einfache Status-Updates ohne Zusatzfelder werden weiterhin unterstützt.
Beispiele
Offene Verkaufschancen auflisten:
curl https://app.tinyant.io/api/v1/deals?status=open \
-H "Authorization: Bearer ta_live_..."
Verkaufschance erstellen und das Unternehmen von Tiny Ant anhand des Namens anlegen oder zuordnen lassen:
curl -X POST https://app.tinyant.io/api/v1/deals \
-H "Authorization: Bearer ta_live_..." \
-H "Content-Type: application/json" \
-d '{"name": "Website redesign", "company_name": "Acme Ltd", "value": 12500}'
Alle Ereignisse seit einem Zeitstempel abrufen, etwa zur Synchronisierung mit Ihrem eigenen System:
curl "https://app.tinyant.io/api/v1/activity?since=1760000000000&limit=100" \
-H "Authorization: Bearer ta_live_..."
MCP-Server
Der MCP-Server (Model Context Protocol) ist erreichbar unter:
https://app.tinyant.io/mcp
Als Transport dient zustandsloses Streamable HTTP mit JSON-RPC über POST. Die Authentifizierung erfolgt mit demselben Bearer-Schlüssel. Es gibt keine serverseitig initiierten Streams, sodass ein einfacher HTTP-Client genügt.
Claude Code. Eine Zeile im Terminal genügt, danach können Sie Claude direkt zu Ihren Verkaufschancen befragen:
claude mcp add --transport http tiny-ant https://app.tinyant.io/mcp --header "Authorization: Bearer ta_live_..."
Andere MCP-Clients. Verwenden Sie einen Client, der Streamable HTTP und einen eigenen Authorization-Header unterstützt. Tragen Sie als Server-URL die oben genannte Adresse ein und setzen Sie den Header-Wert auf Bearer gefolgt von Ihrem API-Schlüssel. Prüfen Sie die aktuellen Verbindungsoptionen Ihres Clients. Wo keine direkte MCP-Unterstützung verfügbar ist, kann eine eigene Integration die REST-API aufrufen. Tiny Ant stellt nicht für jeden Client eine fertige Integration bereit.
OAuth. Die veröffentlichte MCP-Verbindung von Tiny Ant nutzt derzeit einen statischen Bearer-Schlüssel. Ein Client, der zwingend OAuth voraussetzt, kann diese Verbindung nicht direkt verwenden. Prüfen Sie die Kompatibilität vor der Auswahl eines Clients.
MCP-Werkzeuge
Jedes Werkzeug ruft dieselbe API wie oben beschrieben auf und gibt die JSON-Antwort als Text zurück.
| Werkzeug | Beschreibung |
|---|---|
search | Unternehmen, Personen und Verkaufschancen im CRM nach Name, E-Mail-Adresse oder Domain durchsuchen. |
list_deals | Verkaufschancen auflisten. |
get_deal | Vollständige Ansicht einer Verkaufschance: Details, Unternehmen, Kontakt, Angebote mit Lesedaten, Aufgaben sowie der Verlauf aus Notizen und Ereignissen. |
create_deal | Verkaufschance erstellen. |
update_deal | Verkaufschance aktualisieren: umbenennen, Wert ändern, in eine andere Phase verschieben, als gewonnen oder verloren markieren, Unternehmen oder Kontakt verknüpfen. |
list_companies | Unternehmen mit Anzahl der Personen, offenen Verkaufschancen und offenem Gesamtwert auflisten. |
get_company | Einzelnes Unternehmen mit zugehörigen Personen, Verkaufschancen und Verlauf. |
create_company | Unternehmen erstellen. |
list_people | Personen (Kontakte) auflisten, optional gefiltert nach einem Unternehmen. |
get_person | Einzelne Person mit Verkaufschancen und Verlauf. |
create_person | Kontakt erstellen. |
add_note | Notiz zu einer Verkaufschance, einer Person oder einem Unternehmen hinzufügen. |
list_tasks | Offene Aufgaben für den Inhaber des Schlüssels (mine) oder für alle auflisten. |
create_task | Aufgabe erstellen, optional verknüpft mit einer Verkaufschance, einer Person oder einem Unternehmen. |
get_task | Aktivität einschließlich ihrer Revision lesen. |
update_task | Aktivität bearbeiten. |
get_activity_settings | Wirksame Zeitzone für Aktivitäten und verfügbare Typen lesen. |
complete_task | Aufgabe als erledigt markieren (oder mit done=false wieder öffnen). |
get_crm_capabilities | Aktuelle CRM-Funktionsberechtigungen und zulässige Aktionen für diesen Nutzer. |
list_stages | Phasen einer Pipeline (Standard-Pipeline, falls weggelassen), Mitglieder des Arbeitsbereichs und Währung. |
move_deals | Verschiebung von bis zu 100 offenen Verkaufschancen in der Vorschau prüfen oder ausführen. |
get_dashboard | Persönliches Dashboard mit aktuellen, nach Zugriffsrechten gefilterten Kennzahlen lesen. |
save_dashboard | Eigenes Dashboard-Layout und Filter mit einer Revision aus get_dashboard speichern. |
list_automations | An Ihren API-Schlüssel gebundene Automatisierungsregeln und die letzten zugänglichen Ausführungsergebnisse lesen. |
preview_automation | Regel validieren und passende offene Verkaufschancen ohne Änderungen in der Vorschau prüfen. |
save_automation | Regel mit der Bestätigung aus der Vorschau erstellen oder bearbeiten. |
simulate_automation | Eine Simulation für eine aktuell passende Verkaufschance in die Warteschlange stellen. |
stop_automation | Regel deaktivieren und ihre ausstehenden Ausführungen abbrechen. |
archive_automation | Regel archivieren und ihre ausstehenden Ausführungen abbrechen. |
cancel_automation_run | Ausstehende Ausführung abbrechen. |
list_automation_notifications | Interne Automatisierungsbenachrichtigungen entsprechend dem aktuellen Zugriff auf Verkaufschancen lesen. |
list_reports | Berichtstypen, Berechnungshinweise, Filter und persönlich gespeicherte Berichte lesen (Admin mit CRM Advanced). |
run_report | Bericht mit den aktuellen Datensatzberechtigungen ausführen. |
save_report | Persönliche Berichtsdefinition speichern. |
list_views | Lesbare gespeicherte Ansichten, Feld-/Operatorenkatalog und Standardwerte auflisten. |
query_records | Validierte CRM-Ansicht seitenweise abrufen. |
preview_bulk_change | Vorschau für 1 bis 100 ausgewählte CRM-Datensätze erstellen. |
get_bulk_change | Massenvorschau und dauerhafte Zeilenergebnisse sieben Tage lang über denselben API-Schlüssel abrufen. |
apply_bulk_change | Bis zu fünf Zeilen aus der Vorschau zeilenweise atomar anwenden. |
preview_import | Bis zu 100 CRM-Zeilen ohne Änderung an Datensätzen in der Vorschau prüfen. |
get_import | Importvorschau und gespeicherten Fortschritt lesen; Batches laufen nach sieben Tagen ab. |
apply_import | Bis zu zehn Zeilen aus der Vorschau zeilenweise atomar anwenden. |
save_view | Persönliche Ansicht oder als Admin eine Arbeitsbereichs-Ansicht erstellen oder aktualisieren (CRM Advanced). |
get_card_layout | Gemeinsame Kartenabschnitte, Detailreihenfolge und Gruppen benutzerdefinierter Felder lesen. |
set_card_layout | Gemeinsames Kartenlayout und Gruppen benutzerdefinierter Felder ersetzen (Admin mit CRM Advanced). |
list_fields | Definitionen benutzerdefinierter Felder einschließlich archivierter Felder und stabiler Optionen auflisten. |
create_field | Benutzerdefiniertes Feld erstellen (Admin mit CRM Advanced). |
update_field | Feld umbenennen, neu anordnen, gruppieren oder archivieren (Admin mit CRM Advanced). |
set_field_rules | Sichtbarkeit und Pflichtbereiche für Felder von Verkaufschancen in der Vorschau prüfen oder speichern (Admin mit CRM Advanced). |
get_record_fields | Benutzerdefinierte Felder, Werte und Revision eines Datensatzes lesen. |
set_record_fields | Werte benutzerdefinierter Felder anhand der Feld-ID aktualisieren. |
list_pipelines | Pipelines des Arbeitsbereichs einschließlich archivierter Pipelines sowie die Standard-Pipeline auflisten. |
create_pipeline | Pipeline mit vier Startphasen erstellen. |
update_pipeline | Pipeline umbenennen, neu anordnen, archivieren oder als Standard festlegen. |
set_stages | Aktive Phasen in einer Pipeline ersetzen. |
activity | Strukturiertes Ereignisprotokoll des Arbeitsbereichs, neueste zuerst: erstellte und verschobene, gewonnene und verlorene Verkaufschancen, Notizen, Aufgaben, verknüpfte und gelesene Angebote. |
list_proposals | Angebote mit Lesestatus: Besuche, gesamte Lesezeit, wird gerade gelesen, verknüpfte Verkaufschance. |
get_proposal | Einzelnes Angebot: Lesezeit je Seite, Empfänger, Aktivität, Versionen, verknüpfte Verkaufschance. |
list_visitors | Unternehmen, die Ihre Website besucht haben (Tiny Ant Visitors): benannte Unternehmensnetzwerke mit aufgerufenen Seiten, letztem Besuch und verknüpftem CRM-Unternehmen sowie die Anzahl der Besuche aus Heim-, Mobilfunk- oder Rechenzentrumsnetzwerken. |
link_proposal | Vorhandenes Angebot mit einer Verkaufschance verknüpfen, damit die Leseaktivität im Verlauf der Verkaufschance erscheint. |
Ratenbegrenzungen und Fair Use
MCP akzeptiert eine JSON-RPC-Nachricht pro POST-Anfrage mit bis zu 512 KiB. JSON-Arrays werden abgelehnt, ohne dass Werkzeuge ausgeführt werden. Senden Sie einzelne Anfragen. Schreibende CRM-Anfragen (Nicht-GET), einschließlich Importen, Massenaktionen und Abfragevorschauen, teilen sich über App, REST und MCP hinweg ein zusätzliches Kontingent von 120 Anfragen pro Minute und Arbeitsbereich; bei Überschreitung folgen 429 und Retry-After. Diese Edge-Kontingente gelten lokal je Cloudflare-Standort.
Für den CRM-Speicher gelten Fair-Use-Grenzen pro Tabelle (Verkaufschancen, Aufgaben und Notizen): Free 500, Pro 20.000, Team und Enterprise 50.000. In Free gilt zusätzlich eine Grenze von 10 offenen Verkaufschancen. Erledigte Aufgaben und abgeschlossene Verkaufschancen zählen weiterhin zum Speicherlimit; beim Wechsel in einen kleineren Tarif bleiben bestehende Datensätze erhalten.
Die Erfassung durch Visitors ist pro Arbeitsbereich und UTC-Tag begrenzt: Pro 5.000, Team 20.000 und Enterprise 50.000 Seitenaufrufe. Darüber hinausgehender Traffic wird verworfen; die Erfassung setzt am nächsten Tag wieder ein. Das Tageslimit nutzt einen gemeinsamen Datenbankzähler; zusätzlich begrenzt der Edge-Schutz jede Quelladresse auf 60 und jeden öffentlichen Visitors-Schlüssel auf 600 Beacons pro Minute und Cloudflare-Standort. Eine fehlgeschlagene Abfrage oder Speicherung nach erfolgter Reservierung kann dennoch einen Platz des Tageskontingents verbrauchen. Das eigene ipapi.is-Kontingent des Kunden wird separat gezählt.
Jeder Schlüssel darf über REST-API und MCP-Server zusammen 120 Anfragen pro Minute stellen, jede IP-Adresse 300 pro Minute. Anfragen ohne gültigen Schlüssel sind auf 30 pro Minute und Adresse begrenzt. Bei Überschreitung erhalten Sie 429 mit einem Retry-After-Header; warten Sie kurz und versuchen Sie es erneut. Fragen Sie /activity mit since ab, statt ganze Listen neu zu laden, verwenden Sie pro Integration einen eigenen Schlüssel, damit Sie ihn einzeln widerrufen können, und geben Sie Schlüssel nicht an Personen außerhalb Ihres Arbeitsbereichs weiter. Ein Arbeitsbereich kann bis zu 10 aktive Schlüssel haben.
Automatisierungsregeln in CRM Advanced starten zunächst im Simulationsmodus. Pro Arbeitsbereich sind bis zu 50 aktive Regeln und 1.000 Ausführungen in rollierenden 24 Stunden möglich. Das Erstellen von Verkaufschancen und Phasenwechsel werden atomar in die Warteschlange gestellt. Bestätigte externe Angebotsöffnungen sind auf eine pro Angebot und UTC-Tag begrenzt. Fristen für stockende Verkaufschancen haben ein Nachholfenster von sieben Tagen. Ausführungen und interne Benachrichtigungen werden 90 Tage lang aufbewahrt. Es werden keine Kundendaten an ein KI-Modell oder einen externen Nachrichtendienst gesendet.
Admins mit CRM Advanced können Berichte zu offener Pipeline, gewonnenen/verlorenen Verkaufschancen und Abschlussquote, Phasenverlauf, Aktivitäten sowie gewichteten Prognosen ausführen. Datumsangaben gelten einschließlich der genannten UTC-Tage (bis zu 366 Tage); geplante Aktivitäten nutzen ihr jeweiliges Fälligkeitsdatum. Prognosen basieren auf aktuell offenen Verkaufschancen und Phasenwahrscheinlichkeiten, wobei Verkaufschancen ohne Datum und unterschiedliche Währungen separat ausgewiesen werden. Bestandsbeobachtungen zu Beginn sind keine historischen Phaseneintritte oder bekannten Verweildauern. Gespeicherte persönliche Berichte sichern die Filterauswahl, keine Momentaufnahmen der Ergebnisse. Jede Ausführung und Detailansicht berücksichtigt die aktuellen Datensatzberechtigungen.
Mit CRM Advanced werden Datensatzberechtigungen in der App, über REST, MCP und bei Exporten durchgängig angewendet. API-Schlüssel und Webhooks greifen standardmäßig nur auf im Arbeitsbereich geteilte Datensätze zu, einschließlich geteilter übergeordneter Datensätze. Ein Admin kann gezielt eine Integration für alle Datensätze des Arbeitsbereichs einschließlich privater Datensätze anlegen. Der Geltungsbereich wird in den Einstellungen angezeigt. Bestehende Zugriffsbeschränkungen bleiben auch nach Ende des Zugriffs auf CRM Advanced wirksam. Öffentliche Empfängerlinks für Angebote bleiben davon unabhängig ein eigener Freigabekanal.
Webhooks
Wenn Tiny Ant stattdessen Ihr System benachrichtigen soll, richten Sie auf derselben Einstellungsseite ausgehende Webhooks ein. Diese senden einen signierten JSON-POST, sobald ein Angebot geöffnet wird, eine Lesesitzung endet, sich ein Status ändert oder eine Verkaufschance erstellt beziehungsweise in eine andere Phase verschoben wird.
Fragen
Schreiben Sie an hello@tinyant.io. Änderungen an der API werden auf dieser Seite bekannt gegeben.