Maak een nieuw record (todo) in Blue met optionele aangepaste velden, tags en toewijzingen.
Maak een Record
De createTodo-mutatie stelt je in staat om nieuwe records in Blue te maken met uitgebreide configuratie-opties, waaronder aangepaste velden, tags, toewijzingen en meer. Records kunnen in specifieke lijsten worden gemaakt of automatisch in de standaardlijst worden geplaatst.
Basisvoorbeeld
Maak een eenvoudig record met alleen een titel:
mutation CreateRecord {
createTodo(
input: {
title: "New Task"
}
) {
id
title
position
}
}
Geavanceerd Voorbeeld
Maak een record met alle beschikbare opties:
mutation CreateRecordAdvanced {
createTodo(
input: {
todoListId: "clm4n8qwx000008l0g4oxdqn7"
title: "Product Launch Planning"
placement: TOP
description: "<p>Complete product launch preparation including marketing materials and documentation.</p>"
startedAt: "2025-01-15T09:00:00Z"
duedAt: "2025-02-01T17:00:00Z"
notify: true
assigneeIds: ["user_123", "user_456"]
tags: [
{ id: "tag_existing_123" }
{ title: "Priority", color: "#ff4b4b" }
{ title: "Marketing" }
]
customFields: [
{
customFieldId: "cf_budget_123"
value: "50000 USD"
}
{
customFieldId: "cf_status_456"
value: "In Progress"
}
]
checklists: [
{
title: "Pre-launch Checklist"
position: 1
}
]
}
) {
id
uid
title
position
startedAt
duedAt
todoList {
id
title
}
users {
id
fullName
}
tags {
id
title
color
}
}
}
Invoervelden
CreateTodoInput
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
todoListId |
String | Nee | ID van de todo-lijst waaraan het record moet worden toegevoegd. Als niet opgegeven, wordt de eerste todo-lijst in het project gebruikt |
title |
String! | ✅ Ja | Titel van het record (vereist) |
position |
Float | Nee | Aangepaste positie in de lijst. Als niet opgegeven, wordt de plaatsingsparameter gebruikt |
placement |
CreateTodoInputPlacement | Nee | Waar het record geplaatst moet worden als de positie niet is gespecificeerd (BOVEN of ONDER) |
startedAt |
DateTime | Nee | Startdatum/tijd voor het record |
duedAt |
DateTime | Nee | Einddatum/tijd voor het record |
notify |
Boolean | Nee | Of er meldingen moeten worden verzonden voor deze recordcreatie |
description |
String | Nee | HTML-beschrijving inhoud (zal worden gesaneerd) |
assigneeIds |
[String!] | Nee | Array van gebruikers-ID's om aan dit record toe te wijzen |
checklists |
[CreateChecklistWithoutTodoInput!] | Nee | Array van checklists om met het record te maken |
customFields |
[CreateTodoInputCustomField] | Nee | Array van waarden voor aangepaste velden |
tags |
[CreateTodoTagInput!] | Nee | Array van tags om aan het record toe te voegen |
CreateTodoInputPlacement Waarden
Waarde | Beschrijving |
---|---|
TOP |
Plaats bovenaan de lijst (hoogste positie) |
BOTTOM |
Plaats onderaan de lijst (laagste positie) |
CreateTodoTagInput
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
id |
String | Nee* | ID van bestaande tag om te verbinden |
title |
String | Nee* | Titel van tag (maakt nieuw aan als het niet bestaat) |
color |
String | Nee | Hex-kleur voor nieuwe tag (standaard is #4a9fff) |
*Opmerking: Je moet ofwel id
(voor bestaande tag) OF title
(om te maken/vinden op titel)
CreateTodoInputCustomField
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
customFieldId |
String | Nee | ID van het aangepaste veld |
value |
String | Nee | Waarde voor het aangepaste veld (zie formaatgids hieronder) |
CreateChecklistWithoutTodoInput
Parameter | Type | Vereist | Beschrijving |
---|---|---|---|
title |
String! | ✅ Ja | Titel van de checklist |
position |
Float | Nee | Positie van de checklist binnen het record |
Formaten voor Aangepaste Veldwaarden
Bij het instellen van waarden voor aangepaste velden, gebruik deze formaten op basis van het veldtype:
Veldtype | Formaat | Voorbeeld |
---|---|---|
CHECKBOX |
"true", "1", or "checked" for checked | "true" |
COUNTRY |
Country name or ISO code | "United States" or "US" |
CURRENCY |
Amount with optional currency | "50000 USD" |
DATE |
YYYY-MM-DD or date range | "2025-01-15" or "2025-01-15,2025-01-20" |
NUMBER |
Numeric value | "42" |
PERCENT |
Numeric value (% optional) | "75" or "75%" |
RATING |
Numeric value within range | "4" (if max is 5) |
PHONE |
International phone format | "+1234567890" |
SELECT_SINGLE |
Custom field option ID | "option_123" |
SELECT_MULTI |
Comma-separated option IDs | "option_1,option_2" |
LOCATION |
Latitude,longitude | "40.7128,-74.0060" |
EMAIL |
Valid email address | "user@example.com" |
URL |
Valid URL | "https://example.com" |
TEXT |
Plain text value | "Any text content" |
Responsvelden
De mutatie retourneert een Todo-object met uitgebreide recorddetails:
Veld | Type | Beschrijving |
---|---|---|
id |
String! | Unieke identificatie voor het record |
uid |
String! | Alternatieve unieke identificatie |
title |
String! | Titel van het record |
position |
Float! | Positie in de lijst |
done |
Boolean! | Voltooiingsstatus |
startedAt |
DateTime | Startdatum/tijd |
duedAt |
DateTime | Einddatum/tijd |
todoList |
TodoList | Geassocieerde todo-lijstdetails |
users |
[User!] | Toegewezen gebruikers |
tags |
[Tag!] | Geassocieerde tags |
checklists |
[Checklist!] | Geassocieerde checklists |
customFields |
[CustomFieldValue!] | Waarden voor aangepaste velden |
Vereiste Machtigingen
Gebruikers moeten de juiste projecttoegang hebben om records te kunnen maken:
Toegangsniveau | Kan Records Maken |
---|---|
OWNER |
✅ Ja |
ADMIN |
✅ Ja |
MEMBER |
✅ Ja |
CLIENT |
✅ Ja |
COMMENT_ONLY |
❌ Nee |
VIEW_ONLY |
❌ Nee |
De mutatie vereist dat het toegangsniveau van de gebruiker voor het project OWNER
, ADMIN
, MEMBER
, of CLIENT
is. Gebruikers met VIEW_ONLY
of COMMENT_ONLY
rollen kunnen geen records maken.
Foutreacties
ProjectNotFoundError
{
"errors": [{
"message": "Project was not found.",
"extensions": {
"code": "PROJECT_NOT_FOUND"
}
}]
}
Wanneer: Er is geen projectcontext beschikbaar voor de gebruiker.
TodoListCreateTodoLimitError
{
"errors": [{
"message": "Todo list has reached the maximum number of todos.",
"extensions": {
"code": "TODO_LIST_CREATE_TODO_LIMIT_ERROR"
}
}]
}
Wanneer: De todo-lijst bevat al 100.000 records (maximale limiet).
TodoListNotFoundError
{
"errors": [{
"message": "Todo list was not found.",
"extensions": {
"code": "TODO_LIST_NOT_FOUND"
}
}]
}
Wanneer: De opgegeven todoListId
bestaat niet of de gebruiker heeft geen toegang.
CustomFieldValueParseError
{
"errors": [{
"message": "Invalid phone number format",
"extensions": {
"code": "CUSTOM_FIELD_VALUE_PARSE_ERROR"
}
}]
}
Wanneer: De waarde voor het aangepaste veld voldoet niet aan de validatie (bijv. ongeldig telefoonnummer, beoordeling buiten bereik).
Belangrijke Opmerkingen
Prestaties
- Elke todo-lijst kan tot 100.000 records bevatten
- Het maken van records activeert meerdere achtergrondprocessen (webhooks, automatiseringen, zoekindexering)
- Batchbewerkingen zijn efficiënter dan het één voor één maken van records
Bedrijfslogica
- Positiebehandeling: Standaardpositie is 65535.0 wanneer noch
position
nochplacement
is gespecificeerd - Datumlogica:
- Als alleen
duedAt
is opgegeven, wordtstartedAt
ingesteld op het begin van die dag - Als alleen
startedAt
is opgegeven, wordtduedAt
ingesteld op dezelfde waarde
- Als alleen
- Tagcreatie: Nieuwe tags worden automatisch aangemaakt als ze niet bestaan met de opgegeven titel/kleur
- Lijstselectie: Als er geen
todoListId
is opgegeven, wordt de eerste todo-lijst in het project gebruikt
Bijwerkingen
Het maken van een record activeert:
- Aanmaak van een activiteitlogboekvermelding
- Webhookmeldingen
- Updates van de zoekindex
- Uitvoering van automatiseringsregels (indien geconfigureerd)
- E-mail/pushmeldingen (indien
notify: true
) - Berekeningen van aangepaste velden voor formules en tijdsduur
- Analyses en grafiekupdates
Gerelateerde Eindpunten
- Lijst Records: Vraag todos op om bestaande records te verkrijgen
- Update Record: Gebruik de updateTodo-mutatie om records te wijzigen
- Lijst Aangepaste Velden: Vraag om beschikbare IDs van aangepaste velden
- Lijst Tags: Vraag om bestaande tag-IDs
- Lijst Todo Lijsten: Vraag om beschikbare todo-lijst-IDs