Your AI Connector Docs

Tasks API

Uppgifter är att-göra-punkter och uppföljningar kopplade till ditt konto — valfritt länkade till en kontakt, affär eller kampanj. De rör sig genom stadierna på din uppgiftstavla (dina kanban-kolumner) och har en typ och prioritet. Den här guiden täcker hur du hanterar dem via API:et.

Alla exempel nedan visar frågeformuläret ?apiKey= i cURL och headern X-API-Key i JavaScript och Python — båda fungerar på alla slutpunkter.


Uppgiftsobjektet

{
  "id": "tsk_abc123",
  "title": "Call Jane about her quote",
  "description": "She asked for pricing on the annual plan.",
  "type": "to_do",
  "priority": "high",
  "stage": "stage-1",
  "due_date": "2026-06-15T09:00:00.000Z",
  "remind_before_minutes": 15,
  "contact": "contacts/uid_whatsapp_15551234567",
  "campaign": "campaigns/abc123",
  "tags": ["sales"],
  "notes": "",
  "source": "api"
}
  • typeto_do, faq_update eller dina konfigurerade uppgiftstyper (se Lista uppgiftstyper).
  • prioritynone, low, normal, high eller urgent.
  • stage — id för ett stadium på din uppgiftstavla (se Lista uppgiftsstadier). Om det utelämnas vid skapande hamnar uppgiften i ditt första stadium.
  • remind_before_minutes — hur många minuter före due_date som en påminnelse ska skickas. 0 innebär vid förfallotiden; utelämna det eller skicka null för ingen påminnelse. Måste vara ett heltal från 0 till 1440 (1 dag) — allt större avvisas. Påminnelsen kräver en due_date för att aktiveras, och omplanering av uppgiften flyttar påminnelsen med den.

Skapa en uppgift

POST /tasks — endast title krävs.

Obs: due_date accepterar en ISO 8601-tidsstämpel, inklusive tid på dygnet. Kombinera med remind_before_minutes för att få påminnelsen levererad enligt dina aviseringsinställningar för Uppgifter. contact_id, deal_id och campaign_id länkar uppgiften till dessa poster. assigned_to är en teammedlems användar-id.

Att få assigned_to rätt. Det bör vara användar-id:t för kontoinnehavaren eller en aktiv teammedlem på samma konto. Denna slutpunkt kontrollerar för närvarande inte detta, så ett id som inte tillhör någon accepteras och lagras exakt som du skickade det — du får fortfarande en 201. Kopiera id:t istället för att skriva in det på nytt: dessa id:n blandar l med L och bokstaven O med siffran 0, och ett felaktigt tecken räcker. För att kontrollera vad du faktiskt skickade, öppna uppgiften i instrumentpanelen: fältet Tilldelad på uppgiftsposten faller tillbaka på att visa det råa id:t när det inte matchar någon, och väljaren för tilldelad person i Redigera uppgift visar Ej tilldelad.

cURL

curl -X POST "https://api.youraiconnector.com/v1/tasks?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Call Jane about her quote",
    "priority": "high",
    "due_date": "2026-06-15T09:00:00.000Z",
    "contact_id": "uid_whatsapp_15551234567",
    "tags": ["sales"]
  }'

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/tasks", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    title: "Call Jane about her quote",
    priority: "high",
    due_date: "2026-06-15T09:00:00.000Z",
    contact_id: "uid_whatsapp_15551234567",
    tags: ["sales"],
  }),
});
const data = await res.json();
console.log(data.task_id);

Python

import requests

res = requests.post(
    "https://api.youraiconnector.com/v1/tasks",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={
        "title": "Call Jane about her quote",
        "priority": "high",
        "due_date": "2026-06-15T09:00:00.000Z",
        "contact_id": "uid_whatsapp_15551234567",
        "tags": ["sales"],
    },
)
print(res.json()["task_id"])

Svar (201)

{ "success": true, "task_id": "tsk_abc123", "task": { "title": "Call Jane about her quote", "...": "..." } }

Lista uppgifter

GET /tasks — returnerar uppgifterna för ditt konto, med valfria filter.

Frågeparametrar (alla valfria): stage, priority, contact_id, deal_id, assigned_to, due_before, due_after (ISO-tidsstämplar).

cURL

curl "https://api.youraiconnector.com/v1/tasks?apiKey=YOUR_API_KEY&stage=stage-1&priority=high"

JavaScript

const res = await fetch("https://api.youraiconnector.com/v1/tasks?stage=stage-1&priority=high", {
  headers: { "X-API-Key": "YOUR_API_KEY" },
});
const { tasks } = await res.json();

Python

res = requests.get(
    "https://api.youraiconnector.com/v1/tasks",
    headers={"X-API-Key": "YOUR_API_KEY"},
    params={"stage": "stage-1", "priority": "high"},
)
tasks = res.json()["tasks"]

Svar (200)

{ "success": true, "tasks": [{ "id": "tsk_abc123", "title": "Call Jane about her quote", "...": "..." }] }

Sök uppgifter

POST /tasks/search — fulltextsökning i titel och beskrivning, med samma valfria filter som vid listning.

curl -X POST "https://api.youraiconnector.com/v1/tasks/search?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "quote", "priority": "high" }'
const res = await fetch("https://api.youraiconnector.com/v1/tasks/search", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ query: "quote", priority: "high" }),
});
res = requests.post(
    "https://api.youraiconnector.com/v1/tasks/search",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"query": "quote", "priority": "high"},
)

Hämta en uppgift

GET /tasks/{taskId}

curl "https://api.youraiconnector.com/v1/tasks/tsk_abc123?apiKey=YOUR_API_KEY"
const res = await fetch("https://api.youraiconnector.com/v1/tasks/tsk_abc123", { headers: { "X-API-Key": "YOUR_API_KEY" } });
res = requests.get("https://api.youraiconnector.com/v1/tasks/tsk_abc123", headers={"X-API-Key": "YOUR_API_KEY"})

En uppgift som inte finns på ditt konto returnerar 404.


Uppdatera en uppgift

PUT /tasks/{taskId} — skicka endast de fält du vill ändra (title, description, type, priority, stage, due_date, remind_before_minutes, contact_id, deal_id, assigned_to, tags, notes).

curl -X PUT "https://api.youraiconnector.com/v1/tasks/tsk_abc123?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "priority": "urgent", "notes": "Left a voicemail." }'
await fetch("https://api.youraiconnector.com/v1/tasks/tsk_abc123", {
  method: "PUT",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ priority: "urgent", notes: "Left a voicemail." }),
});
requests.put(
    "https://api.youraiconnector.com/v1/tasks/tsk_abc123",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"priority": "urgent", "notes": "Left a voicemail."},
)

Slutför en uppgift

POST /tasks/{taskId}/complete — flyttar uppgiften till din tavlas slutförda-stadium. Ett valfritt notes-fält sparar en avslutande anteckning.

curl -X POST "https://api.youraiconnector.com/v1/tasks/tsk_abc123/complete?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "notes": "Closed — customer signed up." }'
await fetch("https://api.youraiconnector.com/v1/tasks/tsk_abc123/complete", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ notes: "Closed — customer signed up." }),
});
requests.post(
    "https://api.youraiconnector.com/v1/tasks/tsk_abc123/complete",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"notes": "Closed — customer signed up."},
)

Flytta & sortera om (kanban)

Flytta en uppgift till ett annat stadiumPOST /tasks/{taskId}/move med new_stage_id (målstadiet) och new_position (den nollbaserade platsen inom det stadiet; obligatorisk, måste vara ett icke-negativt heltal):

curl -X POST "https://api.youraiconnector.com/v1/tasks/tsk_abc123/move?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "new_stage_id": "stage-2", "new_position": 0 }'

Ändra ordning på uppgifter inom ett stadiumPOST /tasks/reorder med stage_id och uppgifts-ID:n i deras nya ordning:

curl -X POST "https://api.youraiconnector.com/v1/tasks/reorder?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "stage_id": "stage-1", "ordered_task_ids": ["tsk_3", "tsk_1", "tsk_2"] }'
await fetch("https://api.youraiconnector.com/v1/tasks/reorder", {
  method: "POST",
  headers: { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ stage_id: "stage-1", ordered_task_ids: ["tsk_3", "tsk_1", "tsk_2"] }),
});
requests.post(
    "https://api.youraiconnector.com/v1/tasks/reorder",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"stage_id": "stage-1", "ordered_task_ids": ["tsk_3", "tsk_1", "tsk_2"]},
)

Uppgifter för en kontakt

GET /tasks/contact/{contactId} — varje uppgift kopplad till en kontakt.

curl "https://api.youraiconnector.com/v1/tasks/contact/uid_whatsapp_15551234567?apiKey=YOUR_API_KEY"
const res = await fetch("https://api.youraiconnector.com/v1/tasks/contact/uid_whatsapp_15551234567", { headers: { "X-API-Key": "YOUR_API_KEY" } });
res = requests.get("https://api.youraiconnector.com/v1/tasks/contact/uid_whatsapp_15551234567", headers={"X-API-Key": "YOUR_API_KEY"})

Konfiguration av uppgiftstavla

Lista uppgiftstadier

GET /tasks/stages — din tavlas kolumner, i ordning. Använd ett stadium id som stage-fält när du skapar eller flyttar uppgifter.

curl "https://api.youraiconnector.com/v1/tasks/stages?apiKey=YOUR_API_KEY"
{ "success": true, "stages": [{ "id": "stage-1", "name": "To Do", "is_completed_stage": false }, { "id": "stage-done", "name": "Done", "is_completed_stage": true }] }

Uppdatera uppgiftstadier

PUT /tasks/stages — ersätt din tavlas stadiumkonfiguration. Skicka hela den sorterade stages-arrayen.

curl -X PUT "https://api.youraiconnector.com/v1/tasks/stages?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "stages": [
    { "id": "stage-1", "name": "To Do", "is_completed_stage": false },
    { "id": "stage-2", "name": "In Progress", "is_completed_stage": false },
    { "id": "stage-done", "name": "Done", "is_completed_stage": true }
  ] }'

Lista uppgiftstyper

GET /tasks/types — de uppgiftstyper som är konfigurerade på ditt konto (används som type-fält).

curl "https://api.youraiconnector.com/v1/tasks/types?apiKey=YOUR_API_KEY"

Godkänn ett förslag till FAQ

När AI-boten föreslår en ny FAQ skapar den en uppgift av typen faq_update. POST /tasks/{taskId}/approve-faq omvandlar förslaget till en riktig FAQ i kunskapsbasen för den AI-agent som skapade det och slutför uppgiften. Du kan skriva över frågan/svaret i brödtexten.

Lägg till "send_follow_up": true för att även låta AI:n skicka svaret till uppgiftens länkade kontakt direkt, som ett naturligt meddelande i den chatten (samma sak som reglaget Skicka svaret till kontakten nu gör i appen). Svaret skickas via den AI-agent som hanterar kontakten.

curl -X POST "https://api.youraiconnector.com/v1/tasks/tsk_faq99/approve-faq?apiKey=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "question": "Do you offer refunds?", "answer": "Yes, within 30 days.", "send_follow_up": true }'
{ "success": true, "faq_id": "faq_xyz", "task_id": "tsk_faq99", "follow_up_status": "published" }

follow_up_status talar om för dig vad som hände med meddelandet: not_requested (flagga ej satt), published (skickat), queued (boten höll på att svara kontakten, svaret skickas så snart den är klar), skipped_no_contact (uppgiften har ingen länkad kontakt), skipped_no_campaign (ingen agent eller kampanj kunde svara för den kontakten) eller skipped_error. FAQ:n skapas i samtliga fall.

Se FAQs API för att hantera den resulterande FAQ:n.


Ta bort en uppgift

DELETE /tasks/{taskId}

curl -X DELETE "https://api.youraiconnector.com/v1/tasks/tsk_abc123?apiKey=YOUR_API_KEY"
await fetch("https://api.youraiconnector.com/v1/tasks/tsk_abc123", { method: "DELETE", headers: { "X-API-Key": "YOUR_API_KEY" } });
requests.delete("https://api.youraiconnector.com/v1/tasks/tsk_abc123", headers={"X-API-Key": "YOUR_API_KEY"})

Nästa steg

  • Contacts API — koppla uppgifter till rätt kontakt
  • Webhooks API — få aviseringar om Task Created, Task Updated och Task Completed
  • API-referens — den fullständiga interaktiva utforskaren för slutpunkter