AgentXM

Decknote

mcp remote · streamable-http · v1.0.0 · source: crawl

https://decknote.app/api/v1/mcp

Kanban boards your AI agent can use: add, complete, move and recall tasks with your team.

AgentXM badge

Works

90

Verified Oct 31, 2026 · p50 571 ms · p95 602 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'Decknote'
tools_listed15pass211 tools
schema_complete15pass211 of 211 tools have a description and a typed schema
latency_p5010passp50 571 ms
latency_p955passp95 602 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10failupdate_board: base64 payload; add_expense_receipt: base64 payload; get_invoice_pdf: base64 payload
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (211)

NameDescriptionSchema
create_labelAdds a label to a board. Colors: green, yellow, orange, red, purple, blue, sky, pink.typed
update_labelRenames or recolors a label; the change shows on every card that has it.typed
delete_labelDeletes a label from a board and removes it from every card that has it. Needs confirm: true; without it the result is a preview.typed
set_task_estimateSets how long a task is expected to take, or clears it with null. Written with a unit: 4h, 1h30, 90m, 1.5h (a bare number is minutes); up to 10,000 hours. Needs the editor role on the project.typed
set_task_billableSets whether time logged on a task is billable to the client (true or false), or makes it follow the project's default (null). Applies to time logged from then on; entries already logged keep their setyped
get_task_timeReads the time of one task: its estimate, the time tracked so far, how close that is to the estimate (ok, warning from 80%, over), whether its time is billable, and its time entries. The project ownertyped
list_clientsLists the user's clients (the companies or people projects are done for) with their contact details, currency, default hourly rate in cents and how many projects use each. The free plan includes 2 acttyped
overviewSnapshot of the user's Decknote account: plan and limits, recent boards, what needs attention (overdue and due-today tasks, unread notifications, upcoming reminders), sharing (pending invitations, shatyped
list_boardsLists the boards the user can access, each with its lists (ids and titles), the user's role on it (OWNER, EDITOR or VIEWER), whether it is archived and whether it is a favorite. These board and list ityped
create_boardCreates a new board owned by the user. `template` sets the initial lists and labels, in the user's language: blank (To do / In progress / Done), kanban, content or personal; `lists` replaces the templtyped
create_listAdds a list (column) to a board, at the end or, with first: true, before the other lists. Returns the new list with its id. Needs edit access to the board.typed
search_tasksSearches the user's tasks (cards) across boards by free text in title and description, and by board, list, status (open, completed, all or archived) and due date. Answers questions like what is still typed
get_taskReads one task in full: title, description, dates, completion, board and list, labels, assignees, checklists with their items, comments with reactions, attachments, links to other tasks, custom field typed
create_taskAdds a task (card) to a list, or to a board's first list when only boardId is given. The description becomes the card's page and accepts Markdown (headings, bullet and numbered lists, - [ ] task liststyped
update_taskEdits a task: title, description, due date, start date, repeat or cover (a color, or one of the task's image attachments). The description accepts Markdown and replaces the card's whole page. null cletyped
complete_taskMarks a task as completed (done).typed
reopen_taskMarks a completed task as not done again.typed
archive_taskArchives a task: it leaves the board but keeps all its data and can be restored from the board's archive. Archiving a dated repeating task creates its next occurrence, as in the app.typed
move_taskMoves a task to another list: on the same board, optionally to a position (index 0 = top), or on another board the user can edit (it lands at the end). Moving to another board drops the old board's latyped
add_commentAdds a comment to a task as the user. By default nobody is notified. With notify: true it notifies @mentioned board members and the card's watchers by push and email, as commenting in the app does; thtyped
add_reminderAdds a reminder for the user on a task: a push notification and an email at a chosen moment. Either `at` (an ISO 8601 instant), or relative to the due date (`daysBefore` + local `time` + IANA `timeZontyped
list_remindersLists the user's pending reminders, soonest first, optionally on one board, with each task's title and due date.typed
remove_reminderDeletes one of the user's reminders.typed
searchSearches the open and completed cards of every board the user can access by text in title and description. Returns card ids, titles (with the board) and links.typed
fetchReads one card by id as a document: title, board and list, due date, labels, description, checklists and comments.typed
get_boardReads one board in full, like opening it in the app: lists with their cards (dates, labels, assignees, checklist progress, custom field values), labels, members and the user's role, custom fields, rultyped
list_activityLists a board's activity history, newest first: who did what, and when. How far back it goes follows the board owner's plan (Free: 40 entries, Pro: 200), as in the app.typed
update_boardChanges a board's title, icon (one emoji), cover color or background image (Pro; PNG, JPEG, WEBP or GIF up to 5 MB, base64-encoded), or removes the background. Needs edit access to the board.typed
set_board_preferencesSets the user's own preferences for a board: favorite (starred) and muted (no notifications from it). Affects only the user.typed
duplicate_boardCopies a board the user can see into a new board the user owns: lists, cards (content, dates, checklists, labels) and look. Members, comments and attachments are not copied. Counts toward the free platyped
archive_boardArchives a board the user owns: it leaves everyone's dashboard and keeps all its data until it is restored. Archived boards don't count toward the free plan's 5 owned boards.typed
restore_boardRestores an archived board the user owns to everyone's dashboard.typed
delete_boardPermanently deletes a board the user owns, with every list, card, comment and attachment on it, also for the people it is shared with. Irreversible. Without confirm: true nothing is deleted and the retyped
import_trello_boardCreates a board from a Trello JSON export (in Trello: Menu → Print, export and share → Export as JSON): lists, cards with Markdown descriptions, dates, labels, checklists, comments and links. Counts ttyped
share_boardShares a board the user owns with someone by email, as EDITOR or VIEWER. People with an account get access right away; others get an invitation to sign up. Decknote emails them either way, so it needstyped
update_memberChanges a member's role on a board the user owns: EDITOR (can change things) or VIEWER (read only).typed
remove_memberRemoves someone from a board the user owns: they lose access, and their assignments, watches and reactions on it are removed (their comments stay). Needs confirm: true; without it the result is a prevtyped
leave_boardRemoves the user from a board someone else shared with them; only the owner can add them back. The owner can't leave their own board. Needs confirm: true; without it the result is a preview.typed
transfer_boardHands a board the user owns to one of its members: they become the owner (their plan then decides the board's Pro features) and the user stays on as an editor. Needs confirm: true; without it the resutyped
set_public_linkTurns a board's public read-only link on or off, or issues a new one so the old one stops working. Anyone with the link can view the board without an account. Owner only. Needs confirm: true; without typed
list_embedsLists the live embeds of a board the user owns (the board shown inside another app of the user's).typed
create_embedLets another app of the user's show this board in an iframe (Pro, owner only): a name and up to 5 https origins allowed to frame it, read-only unless canEdit. That app's server then requests a sessiontyped
revoke_embedTurns off one of a board's embeds: the app showing it loses access at its next request. Needs confirm: true; without it the result is a preview.typed
update_listRenames a list, sets its WIP limit (Pro; null clears it) or moves it to another position among the board's lists (index 0 = first). Needs edit access to the board.typed
duplicate_listCopies a list with its open cards (content, dates, labels, checklists) to the end of the same board.typed
sort_listReorders a list's cards by due date (soonest first, undated last), by title (A to Z) or by creation (newest first).typed
delete_listPermanently deletes a list and every card in it, archived ones included. Irreversible. Needs confirm: true; without it the result is a preview with the number of cards that would be lost.typed
create_custom_fieldAdds a custom field to a board's cards: text, number, select (with up to 20 options), checkbox or date. The free plan allows 3 per board.typed
update_custom_fieldRenames a custom field or changes a select field's options. Removing an option that cards use clears it from them, which needs confirm: true; without it the result is a preview.typed
delete_custom_fieldDeletes a custom field and its value on every card. Needs confirm: true; without it the result is a preview.typed
create_saved_viewSaves a personal view of a board: how to show it (board, table, calendar or timeline) and a filter (due date, labels, assignees). Only the user sees it. The free plan allows 3 per board.typed
delete_saved_viewDeletes one of the user's saved views. Needs confirm: true; without it the result is a preview.typed
create_automationAdds a board rule: WHEN a card is added to a list / moved to a list / gets a label, THEN move it, add or remove a label, assign someone, set the due date N days ahead, archive it, or comment. Triggerstyped
set_automation_enabledTurns a board rule on or off without deleting it.typed
delete_automationDeletes a board rule. Needs confirm: true; without it the result is a preview.typed
duplicate_taskCopies a task right below the original: title, description, dates, labels, cover, field values and checklists (not comments, assignees or attachments).typed
restore_taskPuts an archived task back on its list.typed
delete_taskPermanently deletes a task with its comments, checklists and attachments. Irreversible. Needs confirm: true; without it the result is a preview of what would be lost.typed
set_task_labelsAdds and/or removes labels of the task's board on a task. Adding a label runs the board's 'label added' rules, as in the app.typed
set_task_assigneesAssigns or unassigns board members on a task. Assigning someone other than the user sends them a push and an email, as in the app, so it needs confirm: true and returns a preview without it; self-assityped
watch_taskStarts or stops watching a task (watchers are notified of new comments on it). Affects only the user.typed
set_task_fieldSets a custom field's value on a task, or clears it with null. text: any text; number: a number; select: one of its options; checkbox: true or false; date: YYYY-MM-DD.typed
link_tasksRelates two tasks on the same board: 'blocks' (from blocks to) or 'relates' (both ways).typed
unlink_tasksRemoves a relation between two tasks.typed
bulk_tasksActs on up to 100 tasks of one board at once, like multi-select in the app: moves them to a list, adds a label, or archives them (repeating ones create their next occurrence).typed
create_task_from_templateAdds a task to a list from one of the board's card templates.typed
save_task_as_templateSaves a task's description and labels as a reusable card template on its board.typed
delete_card_templateDeletes a card template; tasks made from it stay. Needs confirm: true; without it the result is a preview.typed
edit_commentEdits a comment's text (the user's own, or any on a board the user owns). It shows as edited.typed
delete_commentDeletes a comment (the user's own, or any on a board the user owns). Needs confirm: true; without it the result is a preview.typed
react_to_commentAdds or removes the user's emoji reaction on a comment. Emojis: 👍 ❤️ 🎉 😄 👀 🚀.typed
add_checklistAdds a checklist with its items to a task, in addition to its other checklists.typed
update_checklistRenames a checklist or moves it among the task's checklists (index 0 = top).typed
delete_checklistDeletes a checklist with all its items. Needs confirm: true; without it the result is a preview.typed
add_checklist_itemsAdds items at the end of a checklist.typed
update_checklist_itemChecks or unchecks a checklist item, or changes its text.typed
delete_checklist_itemDeletes one checklist item. A checklist keeps at least one item, so its last item only goes away with the whole checklist. Needs confirm: true; without it the result is a preview.typed
add_attachmentAttaches a link (url) or a file (contentBase64 + filename) to a task. Files follow the board owner's plan: 5 MB each and 100 MB per board on Free, 25 MB and 2 GB on Pro. Photos are optimized, as in thtyped
rename_attachmentRenames an attachment; a file keeps its extension.typed
delete_attachmentDeletes an attachment from a task (and the task's cover, if it was the cover image). Needs confirm: true; without it the result is a preview.typed
list_my_tasksLists the user's tasks across every board, like the app's My tasks page: open cards assigned to the user plus dated cards on the user's own boards that nobody is assigned to, grouped as overdue, todaytyped
list_notificationsLists the user's notifications (mentions, assignments, comments on watched cards, due-date digests), newest first, with the unread count.typed
mark_notifications_readMarks notifications as read: one (notificationId, which also marks the others about the same card, as opening it in the app does), every one about a card (cardId), or all of them (all: true).typed
get_accountReads the user's account and settings: name, email, language, time zone, notification preferences, plan with its limits and usage, upgrade prices, API tokens and connected apps (names and dates only; typed
update_accountChanges the user's settings: display name, language (en, es, fr), time zone (IANA, e.g. America/Argentina/Buenos_Aires; the daily digest goes out in the user's morning) and which notifications they getyped
revoke_accessRevokes one of the user's API tokens (apiTokenId) or disconnects a connected app (appClientId), as listed in the account. Whatever used it stops working at once, including this connection if it is thetyped
list_webhooksLists the account's webhooks and Slack channels: kind (slack or json), a shortened address, the board it listens to (null: every board the user owns, plus invoices and estimates), the event types it styped
create_webhookAdds a webhook: from then on, each chosen event of the user's boards is sent outside Decknote. kind "slack" posts a line to a Slack channel through a Slack incoming-webhook URL (https://hooks.slack.cotyped
update_webhookChanges one of the account's webhooks: the event types it sends, turns it off or on (enabled), or replaces its signing secret (rotateSecret: the new one comes back once, and the old one stops verifyintyped
delete_webhookDeletes one of the account's webhooks: nothing more is sent to its address. Needs confirm: true; without it the result is a preview.typed
test_webhookSends a test to one of the account's webhooks now and returns how it went (ok, HTTP status, error): a sample of the first event type it sends, marked "test": true (a Slack channel gets a line saying ityped
export_dataExports everything the user can read in Decknote as one JSON document (boards, lists, cards, checklists, comments, attachment metadata), the same export as Settings → Your data. Up to 5 per hour.typed
start_pro_checkoutStarts an upgrade to Decknote Pro (14-day free trial, then US$9/month or US$90/year) by creating a Stripe Checkout link where the user pays; this tool charges nothing. Without confirm: true it returnstyped
open_billing_portalCreates a link to Stripe's billing portal, where the user manages their Pro subscription: payment card, invoices, monthly or yearly billing, cancellation. Changes happen there, made by the user.typed
create_clientAdds a client. Projects are linked to a client in their settings; the client's currency and default hourly rate apply to their time. The free plan includes 2 active clients; Pro has no limit.typed
api_readReads from Decknote's HTTP API (reference: https://decknote.app/api-docs#mcp-http-api) as the signed-in user, with GET; it doesn't change anything. Covers what no dedicated tool returns, such as the ctyped
api_createCreates something through Decknote's HTTP API (reference: https://decknote.app/api-docs#mcp-http-api) as the signed-in user, with POST. Reachable: POST /api/v1/boards: a board: { title, template? }; Ptyped
show_boardShows a board as an interactive kanban that updates live while the conversation is open: lists and cards with labels, due dates, checklist progress and assignees, where the user can drag cards betweentyped
get_board_live_urlReturns a short-lived address (2 minutes to connect) of a board's live event stream: a Server-Sent Events URL that announces every change to the board and who is viewing it. Used by the board view to typed
start_timerStarts the user's time tracker on a project, optionally on one of its tasks. There is one timer per person: a timer already running is stopped and its time kept first (a timer stopped within 30 secondtyped
stop_timerStops the user's running timer and keeps the elapsed time as a time entry. A timer stopped within 30 seconds is dropped as an accidental click. Says so when no timer was running.typed
get_running_timerReturns the user's running timer, if any: the project, the task, the note, when it started and how long it has run.typed
log_timeAdds hours by hand to a project, or to one of its tasks. The entry takes the project's hourly rate (or the client's) and is billable according to the task's setting, else the project's, unless billabltyped
list_time_entriesLists the time entries of a project, newest first, with who logged each, the task, the day, the minutes and whether it is billable. The project owner reads everyone's entries, with their hourly rates typed
update_time_entryChanges a finished time entry: its duration, day, note, whether it is billable, or the task it is on (null takes it off any task). A person edits their own entries and the project owner edits anyone'styped
delete_time_entryPermanently deletes a time entry, or a running timer. A person deletes their own entries and the project owner deletes anyone's; time already billed to a client cannot be deleted. Needs confirm: true;typed
update_clientChanges a client's name, contact details, currency, default hourly rate or notes; null clears an optional field. A new rate applies to time logged from then on: entries already logged keep the rate thtyped
archive_clientArchives a client: it leaves the active list and stops counting toward the plan's client limit. Its projects keep the link and all the time stays. Needs confirm: true; without it the result is a prevityped
restore_clientBrings an archived client back to the active list. The free plan's limit of 2 active clients applies.typed
get_project_settingsReads a board's project settings: client, status (active, on hold, completed, cancelled), budget (none, hours or money), default hourly rate in cents, whether time is billable by default, and start antyped
update_project_settingsTurns a board into a project or changes its settings: client (one of the user's own), status, budget type with its hours or amount, default hourly rate, billable by default, start and due dates. null typed
get_project_summarySummarizes a project: time tracked, billable time, the billable amount in cents, how much of the budget is used (ok, warning from 80%, over) and the hours of each person. The project owner reads all otyped
get_week_timesheetReturns the user's own timesheet for one week, Monday to Sunday: a row per project and task with the minutes of each day, the totals per day and the week's total.typed
get_time_reportAdds up the time logged in a date range, grouped by project, client, person, task or day: minutes, billable minutes and the billable amount in cents (hours times the rate each entry was logged with; ctyped
export_time_reportExports the detail lines of a date range as CSV text (date, project, client, task, person, hours, billable, rate per hour), with the same filters and visibility as the time report. Cells that start wityped
get_billing_profileReads the user's billing details that are copied onto every new invoice and estimate: business name, address, tax id, email, phone, currency, the invoice and estimate prefixes and next numbers, the detyped
delete_project_templatePermanently deletes a saved template of the user (projects already made from it are untouched; the starters cannot be deleted). Needs confirm: true; without it the result is a preview.typed
update_billing_profileSets or changes the user's billing details: business name (required the first time), address, tax id, email, phone, currency, prefixes and next numbers of invoices and estimates, default tax (percentatyped
list_expensesLists the expenses logged on a project (costs to bill back or to track), newest first, with the person, day, category, description, vendor, amount in cents, whether it is billable and whether it was atyped
create_expenseLogs an expense on a project: what was spent, the amount, the day, a category (travel, software, hardware, services, meals, other), the vendor, whether it can be billed to the client, and optionally atyped
update_expenseChanges an expense that is not yet on an invoice: description, amount, day, category, vendor, billable, markup (project owner only) or its task (null removes it). The person who logged it and the projtyped
delete_expensePermanently deletes an expense that is not yet on an invoice. The person who logged it and the project owner can delete it. Needs confirm: true; without it the result is a preview of what would be lostyped
add_expense_receiptAttaches a receipt to an expense: a photo (JPG, PNG, WebP or GIF, optimized like task photos) or a PDF, sent base64-encoded with its filename. The person who logged the expense and the project owner ctyped
delete_expense_receiptDeletes a receipt of an expense for good. The person who logged the expense and the project owner can delete it. Needs confirm: true; without it the result is a preview.typed
list_pagesLists a project's notes or discussions, pinned first and then the most recently touched (a reply counts), up to 200: title, a snippet, who started it, comment count, pinned and archived. Searches titltyped
list_invoicesLists the user's invoices and estimates, newest first, 25 per page (up to 100): number, kind, status (draft, sent, paid, overdue, void, accepted, declined), client, project, dates, and total, paid andtyped
get_invoiceReads one invoice or estimate in full: status, dates, the sender and the client copied onto it, every line, tax, discount, totals, payments, balance, the public link (null if none), when it was sent, typed
get_invoice_pdfReturns one invoice or estimate as a PDF file, base64-encoded (contentBase64), with its file name and size: the A4 sheet its client gets by mail and from the link, in English or Spanish (default: the typed
get_receivables_agingShows what clients still owe on sent invoices, by how late it is: not yet due, 1-30 days, 31-60 and 61 or more days past due, per currency and per client (the biggest debt first), in cents.typed
export_invoices_csvExports the matching invoices and estimates as CSV text for an accountant: number, type, status, dates, client, currency, subtotal, discount, tax, total, paid and balance. Same filters as the list. Cetyped
get_billing_reportA studio's numbers for a date range (default: the last 12 months): invoiced and collected by month, by client and what each client owes, expenses by project and category, and the profitability of eachtyped
create_invoiceCreates a draft invoice or estimate, with its lines if given, copying the user's billing details and the chosen client onto it. The draft is private: nothing is sent or published. It has no number unttyped
list_unbilled_workLists what a project could still bill: its finished billable time entries (person, task, day, minutes and the rate each will be priced at, in cents) and its billable expenses not yet on an invoice. Ontyped
get_workloadPlans the team's work: for each person, the time left on their open tasks with an estimate (the estimate minus the time tracked), placed in the week of each task's due date for the next six weeks, agatyped
preview_invoice_from_workShows the lines and totals an invoice made from a project's unbilled work would have, without creating anything or taking any hours: finished billable time and billable expenses, grouped per task (deftyped
create_invoice_from_workCreates a draft invoice from a project's unbilled work (same options as the preview): the finished billable hours and billable expenses become lines and are tied to the invoice, so they cannot be invotyped
update_invoiceChanges a document. A draft takes every field (client, dates, currency, tax, discount, notes, terms, who it is for, project and the whole list of lines, which replaces the current ones); once sent onltyped
send_invoiceMarks a draft as sent, gives it the next number and publishes its link: anyone who has the link can read the document (lines, amounts, the user's business details), and for an estimate answer it. Nothtyped
get_invoice_email_draftShows the email that would go to the client for a draft or sent document: the address, the subject and the text, with the personal message and the language if given; a reminder reads differently for atyped
set_my_weekly_capacitySets how many hours a week the user can work, which the workload view compares their planned work with: 40, 37.5 or 37:30; 0 for someone who is away, at most 168. Only the user's own: there is no way typed
list_project_templatesLists the templates a new project can start from: the starters that come with Decknote (website project, marketing campaign, monthly retainer) and the ones the user saved, each with its lists, number typed
set_timer_alertSets after how many hours a running timer sends the user a notification (and a push to their devices), once per timer: 0 turns it off; otherwise between 0.5 and 24 hours (the Time page offers 4, 8, 10typed
email_invoiceEmails the document to the client from Decknote on the user's behalf (replies go to the user), with a link to it; a draft takes the next number, becomes sent and its link is published. One plain addretyped
regenerate_invoice_linkReplaces the public link of a document with a new one: the old link stops working at once for anyone who has it, and the new one lets anyone who holds it read the document. Not for a voided document. typed
revoke_invoice_linkTurns a document's public link off: the client can no longer open the document until a new link is made. The document itself is unchanged. Needs confirm: true; without it the result is a preview.typed
void_invoiceVoids a sent invoice or estimate: it cannot change any more, its number is kept, and the hours and expenses it had taken go back to the project's unbilled work. A draft is not voided (it is deleted). typed
delete_invoice_draftDeletes a draft invoice or estimate for good. Only a draft: it was not sent, so no client saw it, and it has no number, so no gap is left in the numbering. The hours and expenses it had taken go back typed
record_invoice_paymentRecords that the client paid, fully or in part, on a sent invoice: the amount, the day (default today, not in the future), the method (bank, card, cash, paypal, other) and a note. It records that the typed
remove_invoice_paymentDeletes a recorded payment from an invoice, as if it had not been written down; a paid invoice that is no longer covered goes back to sent. It undoes a note in the books; no money moves. Needs confirmtyped
list_recurring_invoicesLists the user's recurring invoices: for each, the client, the total of each invoice, how often (every N weeks, months or years), the next date, how many are left (null = no end), what happens to eachtyped
save_project_as_templateSaves a project's shape as a template: its lists, open tasks (title, estimate, billable, labels, checklists with the items unticked, due dates as days from the start), labels and billable default. Itstyped
create_recurring_invoicePro. Makes an invoice repeat: a new invoice with the same client, lines, tax, notes and terms is made on each date (every N weeks, months or years from nextDate), until endAfter invoices are made or wtyped
update_recurring_invoiceChanges a recurring invoice: how often, the next date (a new cadence counts from it), endAfter (null = no end), what happens to each new invoice, the days to pay, or pauses it (active false) and resumtyped
delete_recurring_invoiceDeletes a recurring invoice: no more invoices are made from it. The invoices it already made stay as they are. Needs confirm: true; without it the result is a preview.typed
duplicate_invoiceCreates a new draft with the same client, lines, tax, notes and terms as an invoice or estimate, dated today and without a number until it is sent; no work, no payments. Counts toward the free plan's typed
convert_estimate_to_invoiceTurns an accepted estimate into a draft invoice with the same lines, once while that invoice stands (after the invoice is voided or its draft deleted, the estimate can be turned into a new one). Counttyped
convert_estimate_to_projectMakes a project board from an accepted estimate that is not tied to a project yet: the estimate's client, its amount before tax (budget "money", the default), its hours ("hours") or no budget ("none")typed
record_estimate_answerRecords that the client accepted or declined a sent estimate (by phone or email), with the name of who answered. The estimate leaves the sent state; an accepted one can become an invoice. Needs confirtyped
get_client_portalReads a project's client portal settings: whether it exists and is on, its link (anyone who has the link can read the page), what it shows (tasks, hours, documents), whether clients can comment, the wtyped
create_project_from_templateCreates a new project from a starter or saved template: its lists, labels, tasks with estimates and checklists, and settings, with due dates shifted onto the start date (default today). The template ityped
update_client_portalTurns a project's client portal on or off and sets what it shows: tasks, hours (hours only; rates and money are left out), the list of sent documents, whether clients may comment, a welcome text and ttyped
regenerate_client_portal_linkReplaces the secret in a project's client portal link: the old link stops working at once, for anyone who has it, and the new link lets whoever holds it read the portal. The portal's settings, tasks atyped
set_task_visible_to_clientShows a task on the project's client portal, or stops showing it. Visitors read the task's title, whether it is done, in progress or late, and its due date, and can comment on it; descriptions, files,typed
get_task_portalReads what the client portal means for one task: whether it is marked visible to the client and, for the project owner, whether the portal is on, the conversation with the client on that task (up to 2typed
reply_to_clientPosts an answer from the team under a task on the client portal, shown to anyone who has the portal link under the studio name (not the user's own name) and marking the client's comments on that task typed
mark_client_comments_readMarks the client's portal comments as read, and clears the bell notices about them: those of one task (cardId) or every one of the project (boardId). Give exactly one of the two. Only the project ownetyped
delete_client_commentPermanently removes one comment from a task's conversation on the client portal (spam, a mistake): the client's page stops showing it at once. Works on the client's comments and on the team's answers.typed
list_projectsLists the projects the user can see (boards with project settings): client, status (active, on hold, completed, cancelled), dates, hours tracked, the budget and how much of it is used (ok, warning frotyped
create_projectCreates a new project: a board with the plain three-list layout and project settings (active), optionally for one of the user's clients. Counts against the free plan's board limit like any board. To ttyped
rename_project_templateChanges the name and description of a saved template (also one that is damaged and cannot be used). The description is cleared when not given.typed
get_pageReads one note or discussion in full: its title, its body as Markdown (up to 100,000 characters; bodyTruncated says it was cut), who started it, whether it is pinned or archived, its comments oldest ftyped
create_pageStarts a note (shared writing any editor can change) or a discussion (its text belongs to its author and the owner; editors answer with comments) in a project. The body is Markdown; links must be httptyped
update_pageChanges a page's title and/or body (Markdown, replacing the whole body). It needs the rev from when the page was read: if somebody saved in between, the save is refused with the reason and nothing is typed
set_page_pinnedPins a page to the top of its list, or unpins it. Only the project owner; an archived page cannot be pinned.typed
set_page_archivedArchives a page (it leaves the list, becomes read-only and loses its pin) or restores it. Only the project owner.typed
delete_pagePermanently deletes a note or discussion with all its comments. Its author and the project owner can. Needs confirm: true; without it the result is a preview.typed
add_page_commentAdds a comment to a note or discussion (plain text, up to 5000 characters); the page moves up its list. Not on an archived page. Needs the editor role on the project.typed
edit_page_commentChanges the text of one of the user's own page comments. Not on an archived page. Needs the editor role on the project.typed
delete_page_commentPermanently deletes a page comment. Its author and the project owner can. Needs confirm: true; without it the result is a preview.typed
list_project_filesLists every file and link attached to a project's tasks, newest first (up to 200): name, type (image, pdf, document, sheet, archive, media, link, other), MIME type, size, the task and list it is on, atyped
list_team_ratesLists the user's team (themselves, the people on their projects and whoever logged time on them) with each person's default hourly rate, what an hour of theirs costs the user, their weekly capacity antyped
set_team_rateSets what a person is billed at by default on the user's projects (hourlyRate) and what an hour of theirs costs the user (hourlyCost), per hour. They apply to hours logged from then on: each hour keeptyped
get_member_ratesFor a project the user owns: the project's and the client's rates and, for each person who can log time there (the owner and the editors), the rate set for them on this project, what a new hour of thetyped
set_member_rateSets what one person is billed at on one project the user owns, over the project's, the client's and their default. null goes back to those. It applies to hours logged from then on. The person must betyped
reprice_timeA rate or a cost is frozen on each hour when it is logged, so one set today does not reach last month's hours. This gives the hours logged on or after `from` (not invoiced, not running, not on a closetyped
get_profitability_reportWhat the hours were worth, what they cost and what is left, for a range of at most 400 days, by project (default), client, person or task (each task with its project; the hours of a project logged wittyped
get_utilization_reportFor each person on the user's team: what they could work in a range of at most 400 days (their weekly capacity over Monday to Friday, less the user's holidays and their own time off), their hours on ttyped
get_assignments_reportWho is doing what: every open task (not completed, not archived) of the projects the user owns, grouped by the person it is assigned to, plus a group for the tasks nobody is assigned to (userId null);typed
preview_time_importReads a CSV of hours (Toggl, Harvest, Clockify or any CSV with a date and a duration or start and end times) and says what importing it would do, without writing anything: the rows that can be importetyped
import_time_csvImports a CSV of hours: creates the clients and projects it names (when createClients is on), a task for each task name, and one time entry per row, logged as the user unless the file names a project typed
list_time_importsLists the user's time imports, newest first (the last 30): the source (toggl, harvest, clockify, generic), the file name, whether it is done or was undone, how many entries and how many minutes it brotyped
undo_time_importTakes an import back: deletes its time entries and the clients, projects and tasks it created that nobody has used since (those that were used are kept, and the result counts them). Refused when some typed
create_sample_projectCreates a sample client, a sample project with a budget, six tasks with estimates and two weeks of hours, labelled as a sample in its name, so reports, the budget bar and the timesheet have something typed
delete_sample_projectPermanently deletes the sample project with everything on it (its tasks, hours and anything added to it since) and the sample client if nothing else uses it. The user's own projects and reports are untyped
list_holidaysLists the holidays on the user's calendar, oldest first (up to 1,000): day, name and whether it falls on a weekend (a weekend holiday takes nothing from anyone's capacity). A holiday takes the whole wtyped
add_holidayAdds a holiday to the user's calendar: one per day, with a name of up to 80 characters. That day holds no work for anybody in the user's Workload, so every person's capacity for that week is one workityped
remove_holidayRemoves a holiday from the user's calendar: that day counts as a working day again in everybody's capacity. Needs confirm: true; without it the result is a preview. A Pro feature.typed
list_time_offLists time off (vacation, sick leave, other), soonest first (up to 500): the user's own and, on Pro, that of the editors of the projects the user owns. Each has the person, the kind, the first and lastyped
add_time_offRecords time off for the user or, on Pro, for an editor of a project the user owns: a vacation, sick leave or other, from a first day to a last day (a single day when no last day is given), for the whtyped
update_time_offChanges the kind, the days, the minutes off each day or the note of a time off; what is not given stays as it was, and null minutes make it the whole working day again. A person changes their own (chatyped
remove_time_offDeletes a time off (the user's own, or on Pro one of an editor of the user's projects): those days count as working days again in the Workload. Needs confirm: true; without it the result is a preview.typed
approve_time_offApproves a time off an editor of a project the user owns asked for: from then on it lowers that person's capacity in the Workload, and the person gets a notification. A Pro feature (the team calendar)typed
reject_time_offRejects a time off an editor of a project the user owns asked for, or one approved before: it no longer lowers that person's capacity. The note is read by the person, who gets a notification. A Pro fetyped
get_time_rulesReads the rules that close logged hours. Without boardId: the rules the user has set for the projects they own: lockedUntil (the last closed day: nobody, the owner included, can add, edit, move or deltyped
set_time_rulesSets the rules that close logged hours on all the projects the user owns, which change what every person on them can do: lockedUntil, a day (YYYY-MM-DD, up to today) closes every day on or before it ftyped
get_timer_alertReads the user's alert for a timer left running: how many hours a timer may run before Decknote sends a notification (and a push to their devices), once per timer; 0 means off. The default is 8 hours.typed
list_timesheetsLists the weeks of hours handed in for approval, newest week first (up to 100 of each): toReview, the weeks the people on the user's projects submitted to the user, and mine, the weeks the user submittyped
submit_timesheetHands in the user's week of hours (give any day of it; weeks run Monday to Sunday) for approval to each owner of the projects the user logged hours on that week, or only to ownerId. From then on the utyped
withdraw_timesheetTakes back a week the user submitted that is still waiting for approval: its hours can be changed again and the week can be submitted again later. An approved week can only be reopened by the project typed
approve_timesheetApproves a week of hours a person on the user's projects submitted for approval: its hours stay closed to that person (the user, as the project owner, can still change them) and the person gets a notityped
reject_timesheetSends back a week of hours a person submitted to the user, or reopens one the user approved: its hours open again for that person, who can change them and submit the week again. The note goes to the ptyped

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/app-decknote-decknote.svg)](https://app.agent-xm.com/a/app-decknote-decknote)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.