llms.txt
+47 −7
https://decknote.app/llms.txt
− - create_invoice (Create invoice): Creates 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. The number comes from the profile's counter. The free plan includes 2 invoices or estimates per calendar month (voided ones count); Pro has no limit. Needs the billing details to be set up.− - send_invoice (Send invoice): Marks a draft as sent 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. Nothing is emailed. After that only the notes and the due date change. The draft needs a client name, at least one line and a total above zero. Needs confirm: true and amount equal to the total; without them the result is a preview.− - email_invoice (Email invoice): Emails the document to the client from Decknote on the user's behalf (replies go to the user), with a link to it; a draft becomes sent and its link is published. One plain address: the document's or `to`. Limited to 20 emails an hour per person and 5 per document. Needs confirm: true and amount equal to the total; without them the result is a preview with the exact email.− - void_invoice (Void invoice): Voids an 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. An invoice with payments recorded, and an estimate that became an invoice, cannot be voided. Needs confirm: true; without it the result is a preview.− - duplicate_invoice (Duplicate invoice): Creates a new draft with the same client, lines, tax, notes and terms as an invoice or estimate, dated today with a new number; no work, no payments. Counts toward the free plan's 2 documents per month.− - convert_estimate_to_invoice (Convert estimate to invoice): Turns an accepted estimate into a draft invoice with the same lines, once. Counts toward the free plan's 2 documents per month.− - get_workload (Get workload): Plans 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, against their weekly capacity; overdue, later and undated work are listed apart. Says per week whether it is empty, ok, near (from 80%) or over capacity. The user sees the people on the projects they own and themselves. A Pro feature. Task titles are text typed by project+ - list_webhooks (List webhooks): Lists 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 sends, whether it is on, and how its last delivery went (lastStatus, lastError, lastSentAt; it turns itself off after 20 failures in a row). Signing secrets are not listed.+ - create_webhook (Create webhook): Adds 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.com/…); kind "json" POSTs the event as JSON to any https URL (Zapier, Make, n8n, a server), signed in X-Decknote-Signature with a secret returned once, here. boardId limits it to one board the user owns; without it, every board they own and their invoices and estimat+ - update_webhook (Update webhook): Changes 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 verifying). Turning it on needs confirm: true, since events leave Decknote again; without it the result is a preview.+ - delete_webhook (Delete webhook): Deletes one of the account's webhooks: nothing more is sent to its address. Needs confirm: true; without it the result is a preview.+ - test_webhook (Test webhook): Sends 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 it is connected). Needs confirm: true, since it sends to an address outside Decknote; without it the result is a preview.+ - add_expense_receipt (Add expense receipt): Attaches 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 can add one, also to an expense already on an invoice. At most 10 per expense; each file up to the project owner's plan cap (5 MB on Free, 25 MB on Pro).+ - delete_expense_receipt (Delete expense receipt): Deletes 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.+ - get_invoice_pdf (Get invoice PDF): Returns 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 account's language). A draft or a voided document is printed saying what it is. The PDF holds what is printed on the document: the sender and the client, the lines, totals, payments received and balance, payment instructions and notes.+ - create_invoice (Create invoice): Creates 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 until it is sent; sending takes the next one from the profile's counter. The free plan includes 2 invoices or estimates per calendar month (voided ones count); Pro has no limit. Needs the billing details to be set up.+ - send_invoice (Send invoice): Marks 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. Nothing is emailed. After that only the notes and the due date change. The draft needs a client name, at least one line and a total above zero. Needs confirm: true and amount equal to the total; without them the result is a preview.+ - email_invoice (Email invoice): Emails 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 address: the document's or `to`. Limited to 20 emails an hour per person and one email per document every 10 minutes. A new address beyond the plan's allowance (2 addresses in all on the free plan, 25 new ones a day on Pro) must first confirm that it wants the user's emai+ - void_invoice (Void invoice): Voids 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). An invoice with payments recorded, and an estimate whose invoice still stands, cannot be voided. Needs confirm: true; without it the result is a preview.+ - delete_invoice_draft (Delete invoice draft): Deletes 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 to the project's unbilled work, and an estimate it was made from can become an invoice again. A deleted draft stops counting toward the free plan's monthly allowance. Needs confirm: true; without it the result is a preview.+ - list_recurring_invoices (List recurring invoices): Lists 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 each new invoice (draft, sent, or emailed to the client), whether it is paused, the last invoice it made and the reason its last run could not finish, if any. Client names and line descriptions are text typed by the user and their clients.+ - create_recurring_invoice (Create recurring invoice): Pro. 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 with no end. Each new invoice is left as a draft, marked as sent (its link is published), or emailed to the client, as action says. The lines are copied now: later changes to the original invoice do not reach the ones to come. Needs confirm: true+ - update_recurring_invoice (Update recurring invoice): Changes 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 resumes it (active true; dates missed while paused are skipped). The lines stay as they were copied. Pausing needs nothing more; a change after which new invoices are sent or emailed needs confirm: true, and without it the result is a preview.+ - delete_recurring_invoice (Delete recurring invoice): Deletes 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.+ - duplicate_invoice (Duplicate invoice): Creates 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 2 documents per month.+ - convert_estimate_to_invoice (Convert estimate to invoice): Turns 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). Counts toward the free plan's 2 documents per month.+ - convert_estimate_to_project (Convert estimate to project): Makes 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") as the project's budget, the hourly rate when every line in hours has the same price, and one task per line (lines in hours carry their hours as the task's estimate) unless tasks is false. The estimate is then tied to that project. Counts+ - get_workload (Get workload): Plans 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, against that week's capacity (their weekly capacity less the user's holidays and their own time off: each week has capacityMinutes and offMinutes); overdue, later and undated work are listed apart. Says per week whether it is empty, ok, near (from 80%) or over capacity. T+ - list_team_rates (List team rates and costs): Lists 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 and on how many projects they are. Amounts in cents. The cost is only the user's: nobody else reads it. Names and emails are typed by other people. A Pro feature.+ - set_team_rate (Set a person's rate and cost): Sets 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 keeps the rate and cost it had when it was logged, unless the user applies the new ones to the hours already logged. null clears a value. The rate is the last resort: the person's rate on a project, then the project's, then the client's come first. A Pro f+ - get_member_rates (Get the rates of a project's people): For 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 theirs would be billed at and where that comes from (member, project, client, team or none). Amounts in cents. Names are typed by project members. A Pro feature.+ - set_member_rate (Set a person's rate on a project): Sets 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 be able to log time there. A Pro feature.+ - reprice_time (Apply today's rates and costs to logged hours): A 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 closed day) the rate and cost a new hour would get now: only the empty ones unless overwrite is true, and it does not clear a value. It changes numbers in the user's reports, so it needs confirm: true; without it the result is a preview with+ - get_profitability_report (Get the profitability report): What 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 without a task are one row whose key is none: followed by the project id). value = billable minutes at the rate frozen on each entry; cost = all minutes at the cost frozen on each entry (hours logged before a cost was set are counted in minutes+ - get_utilization_report (Get the utilization report): For 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 the user's projects, their billable hours, and billable over capacity in percent (utilizationPct, null with no capacity). Only the hours on the user's own projects are counted. Names are typed by other people. A Pro feature.+ - get_assignments_report (Get the assignments report): Who 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); a task with two people is in both groups and the totals count it once. Each task has its project, client, list, labels, due day and where it falls (overdue, this_week, later or none, in the user's time zone), the estimate, the time logged on it+ - list_holidays (List holidays): Lists 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 working day off the capacity of everybody in the user's Workload. A Pro feature.+ - add_holiday (Add holiday): Adds 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 working day lower; a holiday on a Saturday or a Sunday changes nothing. A Pro feature.+ - remove_holiday (Remove holiday): Removes 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.+ - list_time_off (List time off): Lists 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 last day, the minutes off each day (null is the whole working day), the number of days and its status: pending (asked for and waiting for an owner of the person's projects), approved (it lowers the capacity) or rejected, with who decided, when and their note, and whethe+ - add_time_off (Add time off): Records 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 whole working day or a number of minutes of each. Once approved it lowers that person's capacity in the Workload for the weeks it touches (Monday to Friday count). The user's own time off is a request (status pending, and those owners get a notification) when an owner of+ - update_time_off (Update time off): Changes 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 (changing the kind, the days or the minutes of an approved or rejected one asks the owners for approval again); on Pro, the owner of a project changes the time off of its editors (the note stays the person's). The whole result is checked again: at most 366 days, endi+ - remove_time_off (Remove time off): Deletes 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.+ - approve_time_off (Approve time off): Approves 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). Needs confirm: true; without it the result is a preview.+ - reject_time_off (Reject time off): Rejects 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 feature (the team calendar). Needs confirm: true; without it the result is a preview.+ - get_time_rules (Get time rules): Reads 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 delete hours dated on or before it, and a timer cannot start while it reaches today) and editWindowDays (how many days back people other than the owner can fix their own hours; 0 = only today; null = no limit), with today in the user's time zone and whether the plan l+ - set_time_rules (Set time rules): Sets 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 for everybody, the user included, until the date is changed; editWindowDays, a whole number of days (0 to 366), limits how far back people other than the user can fix their own hours (0 = only today). null clears a rule; a field left out stays. Setting rules is a Pr