- Brand
- Laabam.One
- Category
- Finance
- Primary Subcategory
- ERP & Operations Resource Tools
Integration details
Description
Read your invoices, cash position and P&L — and draft new customers, invoices and bulk price updates for you to approve inside Laabam.One.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- ERP & Operations Resource Tools
- Secondary Subcategories
- None listed
- Brand
- Laabam.One
- Access
- Account required
- First tracked
- 2026-09-13
- Tool count
- 159
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Laabam.One
Get updates when Laabam.One’s Discoverability Score or category rank changes.
Competing in ChatGPT ERP & Operations Resource Tools
View Category159 tools agents can invoke
A student's lesson history and what they have booked. Use for "how many lessons has Arnab completed", "when is her next lesson", "how many are left on his package", "has he cancelled much". Give a student by name or customer id. Returns counts by status — completed, upcoming, cancelled, awaiting completion — plus their recent and upcoming lessons with dates and instructors, and the balance on any prepaid package. Answer the count from `counts`, not by counting the lists: those are capped at ten each and are context, not the total. Cancelled lessons are reported separately and are NOT included in `completed`. If someone asks simply "how many lessons", say which figure you are giving them — on this platform cancellations are a large share of all bookings.
get-customer-bookings
Add a person to the CRM contacts — a name and a phone number at least, plus whatever else the user gives (email, mobile, company, job title, address, notes, source, salesperson). With `also_customer` true a customer record is created and linked too (it gets a customer number and a ledger account) — only when the user asks for one. An email or number already on another contact is refused, naming who holds it. Tell the user; only if they say to keep both, call again with `keep_alongside` set to that contact's id. Marketing consent is never set here. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
create-contact
Add one of the company's own bank accounts to Laabam.One, with its ledger account, and its opening balance if one is given (posted against opening-balance equity). Depending on the company's setting it is either made at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Give the name the company uses for it, the bank, the account number and branch code (IFSC, BSB or SWIFT) as printed on a cheque or statement. An overdrawn opening balance cannot be set here — add the account at zero and enter it in Laabam.One. This records an account; it never connects to the bank or moves money. Supply an idempotency_key you generate once and reuse on a retry.
create-bank-account
Add a rule that categorises bank statement lines to a ledger account (code or exact name): a name, the account, optionally the bank account it is for (else every bank account), and `match` — one or more {field: description | counterparty | upi | reference, operator: contains | equals | starts_with | ends_with, value}. A line matching ANY of them is categorised, in either direction (money in or out). It takes effect on statements imported from now on, and on waiting lines when Apply rules is run on the statement screen; nothing is posted until entries are created from the lines. The preview counts the waiting lines it would match. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
add-bank-rule
Add an entry to one of the product lists: a `category` (optionally under a parent category — two levels at most), a `brand`, a `unit` of measure (with its short name, e.g. "Box" / "box", whether it is for products, services or both, and how many decimal places a quantity may have) or a `manufacturer` (with optional contact details and GSTIN). A name already on the list is refused, so nothing is filed under a duplicate. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
add-catalogue-entry
Add a ledger account to the chart of accounts: a code, a name, and its type (asset, liability, equity, revenue, expense) — or a parent account (by code or name), whose type it takes. Use get-accounts first; if the code is left out, this answers with the codes nearby so the user can pick one. Opening balances are not set here — use set-opening-balances. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
create-account
Add an asset to the asset register — a laptop, vehicle, machine, furniture: its name, the purchase date and price, and optionally its category, serial / model number, manufacturer, location, useful life (default 5 years), salvage value, condition (excellent, good, fair, poor) and the employee it is given to. The asset number is assigned on saving. Optional ledger accounts (asset, accumulated depreciation, depreciation expense) by code or name. This registers the asset only — nothing is posted to the books; its purchase is entered as a bill or expense. Depreciation and disposal are done on the asset screen in Laabam.One. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
add-asset
Add an expense category (e.g. "Vehicle fuel"), optionally under a parent category, with a short code and a description. It gets its own ledger account under the expense account named in `parent_account` (code or exact name; default: the company's general expense account), so its spend shows under its own name in the profit & loss. A name already on the list is refused. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
add-expense-category
Add a milestone to a project, or change one. Give the project (code or name) and the milestone's name; if a milestone of that name exists in the project it is changed, otherwise one is added. Optionally a due date (YYYY-MM-DD), a description and a status (one of the company's milestone statuses, e.g. pending, in_progress, completed). Only in a project the user can open. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
set-milestone
Add recipients to an existing DRAFT SMS campaign. Depending on the company's setting they are added at once, with the user's confirmation of this call as the approval, or wait for approval in Laabam.One. It cannot send, and nothing here can send. Call `get-sms-campaigns` first for the campaign id and its template. Each recipient needs `phone`, optionally `name`, and `variables` — the values for the template's {#var#} slots IN THE ORDER THEY APPEAR in the template's content. The count must match exactly; rows that do not are rejected and reported rather than sent half-filled. Up to 300 rows per call. For a larger sheet, split it and use a DIFFERENT idempotency_key for each batch — reusing one returns the first batch instead of adding the next. A phone number can appear only ONCE per campaign: a repeat is silently dropped by the database, so that person receives nothing. Duplicates are reported back — tell the user, do not quietly proceed, especially for payroll where a dropped row means someone is not paid their slip. Do not reformat or "fix" values. Send them as the source has them.
add-sms-campaign-recipients
Adjust this company's stock up or down — goods found in a stock count, damaged or expired stock written off, stock used in-house. One adjustment can cover several products. It moves the quantity on the shelf only; it posts nothing to the ledger. Depending on the company's setting it is either recorded at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. `adjustment_type` is increase or decrease, and `reason` must be one for that direction — increase: purchase, opening_stock, return, transfer_in, other; decrease: consumption, wastage, damage, transfer_out, other. Quantities are in each product's own unit. Products are matched by SKU, then exact name; products with variants, services and IMEI-tracked products are refused — those are adjusted in Laabam.One. Do not use this for goods bought or sold: bills and invoices move stock themselves. Supply an idempotency_key you generate once and reuse on a retry.
adjust-stock
When a driving instructor can take a LESSON. Use for "is Ravi free today", "what lesson times are available on Friday", "when is the earliest she could fit someone in". It reads the school's lesson diary only. Give an instructor by name or id. Without a date it checks today; with `days` it scans forward and returns the days that actually have openings, so you can answer "the nearest slot is Thursday 10:00" rather than just "nothing today". The times come from the same engine the booking widget and the mobile app use, so a slot offered here is one that will actually save. It already accounts for the instructor's working hours, the times they are unavailable and the lessons already booked. A day with no slots carries a `reason` — read it out rather than guessing why. It does NOT book anything. Availability can change between asking and booking, so never tell a user a slot is held.
get-instructor-availability
Propose settling one of a customer's invoices from an ADVANCE they paid earlier — ALWAYS a draft a person approves in Laabam.One, as every payment is. Without `amount` it settles as much as the advance and the invoice allow. Without `advance` it uses their oldest advance with money left on it. Give the customer (number or exact name) and the invoice number. Supply an idempotency_key you generate once and reuse on a retry.
apply-customer-advance
Apply for leave — for the user themself, or (for HR and managers) for another employee: the leave type by name, from and to dates (YYYY-MM-DD), whether it is a half day, and the reason. The application goes to approval; nothing is deducted until it is approved. The preview shows the balance left on that leave type. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
apply-leave
Approve a DRAFT credit note, by its number. Approving posts the reversal to the books, reduces what the customer owes on the invoice and, for returned or defective goods, puts them back in stock. Name what it does back to the user before calling. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
approve-credit-note
Ask for a month's DRAFT salaries (YYYY-MM; every employee, or the ones named) to be approved. Approving posts the salary expense and what is owed to each employee and to PF/ESI/TDS/PT. It ALWAYS waits for a person to approve it in Laabam.One. Nobody is paid by this; pay-salaries records the payment. Supply an idempotency_key you generate once and reuse on a retry.
approve-payroll
Approve or reject a leave application that is still OPEN — name the employee (and the dates, if they have more than one open), or give the application id. Approving takes the days off their leave balance. Nobody approves or rejects their own leave. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
review-leave
This company's fixed-asset register: each asset's `number`, name, category, serial number and barcode, status and condition, who has it now (by name), where it is, when it was bought, what it cost and its current book value. Find one with `search`: words from its number, name, serial number or barcode. You can also narrow by `status` (available, assigned, under_maintenance, disposed or lost; active = any but disposed and lost), by `category` (its name or code), by `assigned_to` (who has it now: an employee's name or code, or "me"), by `location`, and by `period` or explicit dates of purchase. Assets are listed newest first. `matching_count`, `total_cost` and `total_book_value` cover every match, not just the rows listed. Pass `number` as `asset` to assign-asset, return-asset or transfer-asset. A disposed or lost asset is not assigned, returned or moved, and return-asset takes back only an asset someone has.
get-assets
Give an asset (by its number, barcode, serial or name) to an employee (name or code), from a date (default today), optionally with an expected return date and a note. If someone else holds it, it is taken back from them first — the preview says who. Not for a disposed or lost asset. To take an asset back, use return-asset; to move it to another place, use transfer-asset. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
assign-asset
The attendance register, as Payroll › Attendance shows it: active employees, each with their `employee_id`, employee code and name. For one day (`date`, or period today or yesterday): each person's status that day — Present, Half Day, Absent, On Leave, Holiday, Weekly Off, or not marked — with the in and out times recorded. For a longer period (`period`, or `date_from` and `date_to`): how many days each person was present, on a half day, absent, on leave, on a holiday or weekly off, and how many days up to today have nothing marked. It defaults to today. Narrow with `employee` (a name, an employee code, or "me"), `department` and `status`, which keeps the people with at least one day of that status. People are listed by name; `matching_count` covers every match and the counts cover everyone the employee and department filters select. On Leave is what the register was marked; leave applications are in get-leave-applications. Remarks, the reason for an absence, punch-by-punch logs, hours and pay are never included. To record attendance for a day, use mark-attendance.
get-attendance
The balance sheet as at a date, from the posted ledger — the same statement as Reports → Balance Sheet in Laabam.One: current and non-current assets, current and non-current liabilities and equity, each with its total, plus working capital, the current ratio and whether assets equal liabilities plus equity. `as_of_date` (YYYY-MM-DD) defaults to today on the company's calendar. `detail` is groups (each section by account group, the default) or accounts (every ledger with its code). Amounts are signed: an overdrawn bank is negative. Equity carries this financial year's result as Net Profit (Current Period), before the stock movement, so it can differ from get-profit-loss. For every ledger's debit and credit use get-trial-balance; for the movement of cash over a period, get-cash-flow.
get-balance-sheet
This company's cash position: every active bank account — bank name, masked account number and balance — and the total across all of them, in the company's own currency.
get-bank-balance
Report where bank reconciliation stands: each bank account's balance, how many imported transactions are still unmatched, and what has not yet been posted to the accounts. Use it for "is my bank reconciled", "what is left to reconcile", "did the statement import work". Then read the lines themselves with get-bank-statement-lines, and match, exclude or post them with reconcile-bank-statement.
get-bank-reconciliation
The lines of this company's imported bank statements, for reconciling them: date, amount (+ money in, − money out), narration, counterparty and where each stands — unmatched, categorised (an account chosen, not yet posted), excluded, or posted. For an UNMATCHED line it also gives `suggested_account` (what the app would pick) and `can_link_to` — entries already in the books that moved this bank account by exactly that amount; linking to one of those is how a receipt or payment already recorded is reconciled without posting it twice. Use the line `id`s with reconcile-bank-statement. Filter by `bank_account` (as the company names it), `status` and dates. PAGED: keep asking with `offset` until `remaining` is 0 before saying you have them all.
get-bank-statement-lines
Book a lesson for a student with an instructor. Depending on the company's setting it is booked at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Only when `committed` is true is the lesson booked; a draft holds no time — say so. The student and the instructor must both already exist; use `search` or `get-instructor-availability` first. If a name matches more than one person, ask which — do not guess, because a lesson in the wrong diary is worse than a delay. If the time asked for is not free, this returns the nearest alternatives instead of booking. Offer them to the user and call again with the one they pick. The slot is re-checked when the draft is approved, because availability moves. A draft whose slot has gone is refused at that point, so never promise the time is reserved. Price is worked out from the lesson product and the instructor's pricing tier — do not send a price. A lesson with no lesson type and no package is refused: it would be free. To use up a student's prepaid package instead, give its number as `package`. Several lessons for the same student and instructor go in one call: the first in date/start_time, the rest in `more_lessons` (each a date, and its own start_time if it differs). They are booked together or not at all. Refused when the school requires the student to accept its cancellation policy first, or the student owes a cancellation charge — both are for a person in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
create-booking
A quick overview of the business for a period: revenue, expenses and net profit or loss from the posted ledger (the same figures get-profit-loss gives), payments received, outstanding receivables, cash balance, customer count and overdue invoice count. The right first call for "how is my business doing". For a profit and loss STATEMENT — cost of sales, gross profit, expenses by category — call get-profit-loss. It does NOT cover what the company OWES its suppliers. Say that payables are not included rather than implying there are none.
get-business-summary
This company's CRM contacts, each with its `contact_id`: the name, company, email, phone and mobile, the customer record it is linked to (if any), its status and source, and the salesperson it is assigned to. Find a contact with `search` (words from the name, company or email, or part of a phone number). You can also narrow by `status`, `source` and `assigned_to` (an employee's name, "me" or "unassigned"). Contacts are listed newest first, and `matching_count` covers every match, not just the rows listed. A contact's leads are listed as `lead_ids`; get-leads lists the leads themselves. Pass the `contact_id` to update-contact: an email or a phone number can belong to more than one contact. create-deal takes the contact by email, or by exact name when no other contact has it. enroll-in-sequence enrols leads, not contacts: pass it the contact's `lead_ids`.
get-contacts
The cash flow statement for a period, from the posted ledger — the same statement as Reports → Cash Flow Statement in Laabam.One (indirect method): net income adjusted by the movement on every balance-sheet account that is not cash, as operating, investing and financing activities, with the net change in cash and the opening and closing cash. "Last month" is the previous calendar month; every period follows the company's own calendar and timezone, and the result states the exact dates it covers. For a financial year, give date_from and date_to. Positive amounts brought cash in; negative amounts took cash out. Cash means the cash and bank accounts named in the result. For profit use get-profit-loss; for today's bank balances, get-bank-balance.
get-cash-flow
Move a work order (its number or job card) to planned, in_progress, completed or cancelled. A completed or cancelled work order cannot be reopened. It is completed only once something has been produced against it and nothing is left with the job worker; it is cancelled only while it has no confirmed production and no material with the job worker. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
set-work-order-status
Move one or more sales leads to a different status, or assign them to a salesperson — the lead list's own bulk actions. `action` status (give `status` by name, as get-crm-pipeline lists them, and an optional `note`) or assign (give `assign_to`, a salesperson's name). Name the leads in `leads` by id or exact title; up to 100. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. A lead can be marked Lost only once it has been worked (a call or meeting, a later status, or 15 days old); the result names any that cannot, and they are left as they are. Moving a lead to a WON status also raises its deal — say so before doing it. Recording assignments notifies the salesperson. Supply an idempotency_key you generate once and reuse on a retry.
update-leads
Add a comment to a project work item's discussion, by its reference (e.g. WEB-12), in the user's name. Comments are internal to the team. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
comment-on-work-item
Compare sales between two periods — "this month versus last month", "how are we doing against last year", "is sales up or down". Returns both windows and the difference already computed: never subtract the numbers yourself. If the current period is unfinished the result carries a like_for_like block comparing equal numbers of days — when it is there, lead with it and say the period is not over, because a part month measured against a whole one always looks like a collapse.
compare-sales
Which company this connection is working in. Call it when you need to name the company, or to confirm which one a figure belongs to before reporting it. A CONNECTION REACHES ONLY THE COMPANIES LISTED HERE — the ones a person ticked when the connection was authorised. Often that is one; it can be several. When it is several, pass `company` (a name or id from this list) on any tool to say which one you mean. A tool called without it answers about the company marked `answers_by_default`. Always say which company a figure belongs to — two companies' revenue reported as one number is worse than no answer. If the user asks about a company that is NOT in this list, say it is not connected and that they can add it when authorising the connection in Laabam.One. Do NOT report figures for it, and do not imply you checked it.
list-business-entities
Turn a qualified sales lead into a deal in the pipeline, by its id or exact title. The deal takes the lead's title, expected value, contact, salesperson and source, and starts in the first pipeline stage — or straight in the won stage with `won` true, when the business is already won (that closes the deal today). A lead already converted is refused with its deal. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
convert-lead
Convert a sales document into the next one — a quotation or estimate into an invoice or sales order, a sales order into a delivery note or invoice — by its number. The new document copies the lines exactly; the source is marked converted. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. An invoice made this way takes its goods out of stock at once; it is a DRAFT, posted to the sales ledger when it is sent (send-document) or saved in Laabam.One. `target_type`: invoice, sales_order, delivery_order or proforma_invoice; one the document cannot become is refused with the reason. Supply an idempotency_key you generate once and reuse on a retry.
convert-document
Create a bill of materials: the finished `product` (name or SKU), a name, the quantity it makes (default 1), and its `materials` — each a product, the quantity used and optionally its unit cost (default the purchase price) and waste %. Optionally `operations` (name, and labour / machine cost per unit, minutes, department, workstation), `overheads` (name, amount, per_batch / per_unit / fixed), batch size, rejection % and profit %, and whether it is the product's default BOM. Nothing moves in stock and nothing is posted. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
create-bom
Add a new customer to this company. Depending on the company's setting it is either created at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. When `committed` is true, report the customer number from `result`; when `awaiting_approval` is true, say it is waiting and where. Supply an idempotency_key you generate once for this request and reuse if you retry; calling again with the same key returns the original outcome rather than adding a second. Opening balances are deliberately not accepted here, because setting one posts to the general ledger — set-opening-balances does that.
create-customer
Add a deal to the sales pipeline — an opportunity with a value. Give a `title`, and optionally `value`, `stage` (by name; defaults to the first), `contact` (a CRM contact by exact name or email), `assign_to` (a salesperson) and `expected_close_date`. To turn an existing lead into a deal, use convert-lead instead. Depending on the company's setting it is either made at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
create-deal
Create a sales document for this company — an invoice, quotation, estimate, proforma invoice or sales order — from a photo, PDF or details the user gives you. Depending on the company's setting it is either created at once, with the user's confirmation of this call as the approval, or recorded as a draft a person approves in Laabam.One. The result says which. When `committed` is true it exists: report its number from `result.invoice_number`. When `awaiting_approval` is true, say it is waiting for approval and where (`where_to_approve`), give the reason in `why_awaiting_approval` if there is one, and do not quote a number — none is issued until approval. An invoice is created with status Draft: it is posted to the sales ledger and takes the goods out of stock straight away, but it is not sent to the customer. Quotations, estimates, proforma invoices and sales orders post nothing. The customer must ALREADY exist — call `search` first to find them. If the name does not match, this returns the near matches; ask the user which one rather than guessing. Give the figures exactly as they appear on the source. Do not calculate a tax rate that is not shown, and do not adjust a quantity or price to make a total balance — if the source does not add up, say so and let the person decide. Supply an idempotency_key you generate once and reuse on a retry; the same key returns the original result rather than creating a second document.
create-invoice
This company's credit notes to customers: number, date, customer, the invoice each is against, reason, total and status. An approved note also shows what is still `unapplied` and `can_pay_back`, the most that can be paid back to the customer. Use it for "my latest credit note", "draft credit notes" or "credit notes for Kumar this month". Notes are listed newest first. Filter by `status` (draft; approved = approved and not yet used up, partly used ones included; applied = used up; cancelled), by `customer`, by `search` (words from the note's number or reference, or the number of the invoice it is against) and by `period` or explicit dates. `matching_count`, `total_value` and `unapplied_balance` cover every match, not just the rows listed. Pass `number` to approve-credit-note to approve a draft, or to refund-credit-note as `credit_note` to pay back an approved note, never more than its `can_pay_back`.
get-credit-notes
This company's customers: search by name, email or phone, list those with money outstanding, or RANK customers by what they have bought. For "which customer has the highest purchase value", "biggest customer" or "top customers", pass filter=top_by_revenue and answer with purchase_value from the first row; the result's ranked_by field says exactly what that figure is. A customer with no invoices is not in the ranking at all, so an empty list means nobody bought in that window. Returns customer details with their outstanding balances.
get-customers
Today's briefing for this company: insights drawn from its own figures — overdue receivables, revenue trends, expense alerts — and a few short rotating tips. It is not a source of tax rates, tax rules or filing deadlines, and it holds no calendar, meetings or schedule — do not call it for those.
get-daily-briefing
This company's deals, each with its `deal_id`, and every stage of the pipeline in the order it runs. `stages` lists EVERY stage in pipeline order, including stages no deal is in yet. Each open deal carries `next_stage`, the stage after its own in that order. For "move this deal to the next stage", use `next_stage`. Do not work the order out from get-crm-pipeline, which lists only the stages that hold deals and sorts them by value. Find a deal with `search` (words from its title, its contact or the lead it came from). You can also narrow by `stage` (by name) and `state` (open, won, lost or all). Deals are listed newest first, and `matching_count` covers every match, not just the rows listed. Pass the `deal_id` to update-deal-stage, log-crm-activity or quote-from-deal rather than the title, which two deals for the same customer often share.
get-deals
Debit notes raised on suppliers: each note's number, date, supplier, the bill it is against, reason, total and status. An approved note also shows its `unapplied` balance: the part not yet settled by a refund from the supplier. Use it for "my latest debit note", "draft debit notes" or "debit notes for Ramco this month". Notes are listed newest first. Filter by `status` (draft; approved = approved and not yet used up, partly used ones included; applied = used up; cancelled), by `supplier` (words from the name or company, or the supplier number), by `search` (part of the note's number or reference, a bill's number, ours or the supplier's, or an IMEI or serial typed on a line) and by `period` or explicit dates. `matching_count`, `total_value` and `unapplied_balance` cover every match, not just the rows listed. Deleted notes are not listed. Approving a note raised against a bill also takes its total off that bill's balance. For what is still owed to suppliers, use get-payables; for the bills themselves, get-purchases; for the supplier's details, get-suppliers.
get-debit-notes
Propose deleting a customer receipt recorded by mistake or twice — ALWAYS a draft a person approves in Laabam.One, as every payment is. Approving reverses its voucher and reopens the invoices it settled; credit it left with the customer is taken back. Name it by its receipt number. Refused for a receipt taken at the till (corrected at the till) and one matched to a bank-statement line (unmatch it first). Give a `reason`. Supply an idempotency_key you generate once and reuse on a retry.
void-receipt
Propose deleting a supplier payment recorded by mistake or twice — ALWAYS a draft a person approves in Laabam.One, as every payment is. Approving voids its voucher and reopens the bills it paid; an advance it created is taken back (refused if that advance has since been used against another bill). Name it by its payment number. Refused for one matched to a bank-statement line (unmatch it first). Give a `reason`. Supply an idempotency_key you generate once and reuse on a retry.
void-supplier-payment
Draft a WhatsApp campaign: a name, an approved WhatsApp template (by name), the audience (a contact list and/or a saved segment, by name), and a value for each {{1}}, {{2}}… slot in the template, in order — plain text everyone gets, or a field per person such as {{contact.first_name}} (name, first_name, last_name, company_name, phone, email, city). A media-header template needs a public media_url. It is ONLY a draft: nothing is sent and nothing is scheduled. To send it, use send-whatsapp-campaign, which always waits for a person to approve it in Laabam.One with the cost shown. Supply an idempotency_key you generate once and reuse on a retry.
create-whatsapp-campaign
Create a new SMS campaign as a DRAFT campaign — it can never send one; sending is done by a person in Laabam.One. Depending on the company's setting the draft campaign is created at once, with the user's confirmation of this call as the approval, or waits for approval in Laabam.One — say which, from `committed` or `awaiting_approval`. Call `get-sms-campaigns` first. You MUST name a template_id from that list: this tool refuses without one and returns the choices, because only the user knows which registered template a spreadsheet is for. If an existing DRAFT campaign looks like the same job, this refuses too and names it — ask whether to add recipients to that one instead of creating a second. Pass allow_duplicate=true only after the user has actually said to create a new one. Do NOT send message text. The wording comes from the registered template; anything else is rejected by the operator and charged for. Recipients and their per-row values are added afterwards with `add-sms-campaign-recipients`.
create-sms-campaign
Draft an email campaign: a name, a subject, the body (simple HTML, or plain text with blank lines between paragraphs) and the audience (a contact list and/or a saved segment, by name). Optionally the sender — one of the company's verified sending addresses — a from name and a reply-to address. Each email carries an unsubscribe link automatically. It is ONLY a draft: nothing is sent and nothing is scheduled. To send it, use send-email-campaign, which always waits for a person to approve it in Laabam.One with the cost shown. Supply an idempotency_key you generate once and reuse on a retry.
create-email-campaign
Copy a sales document — invoice, quotation, estimate, sales order, delivery note — into a new DRAFT of the same type, by its number: same customer, lines, charges and terms, dated today, numbered on the same series. Its lines take stock as any new document's do. To change the copy afterwards, the user edits it in Laabam.One. Depending on the company's setting it is either done at once, with the user's confirmation of this call as the approval, or kept as a draft a person approves in Laabam.One. Supply an idempotency_key you generate once and reuse on a retry.
duplicate-document
Laabam.One ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Laabam.One's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Laabam.One alternatives on ChatGPT?
As of 2026-11-02, Laabam.One competes with 101, 1barn, ADI Admin, Aginera, AgriDigi, AllEars.Vet, allmanager, Anthill and 122 more in ChatGPT ERP & Operations Resource Tools, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.