morning
✓Verified·Scanned 2/18/2026
Use to authenticate with Morning (GreenInvoice) and create/manage clients, items, and accounting documents (invoice/receipt/quote/order/credit).
from clawhub.ai·v430f5cc·3.8 KB·0 installs
Scanned from 1.0.0 at 430f5cc · Transparency log ↗
$ vett add clawhub.ai/k0renn/morning
Morning (GreenInvoice)
When to use
Use this skill when you need to interact with Morning / GreenInvoice to:
- Get an auth token (JWT) using API key credentials
- Create/update clients
- Create/update items
- Create documents (invoice / receipt / quote / order / credit / debit)
- Retrieve document outputs (e.g., IDs / links) if the tool supports it
What you need from the user
Collect only what’s required for the action:
Authentication
apiKeyIdapiKeySecret
Client (if creating or searching)
name- Optional:
taxId,email,phone,address,city,country
Item (if creating)
nameprice- Optional:
description,currency
Document (if creating)
documentType(Invoice / Receipt / Quote / Order / CreditInvoice / DebitInvoice)clientId(or enough info to create the client)lines[](each line: description or itemId, quantity, unitPrice)- Optional:
currency,language,description,discount
Tool contract
Use the morning tool with an action field.
Supported actions
getTokencreateClientcreateItemcreateDocument- (Optional, if implemented in your tool):
findClient,findItem,getDocument,listDocuments
Guardrails
- Never log or echo
apiKeySecretor JWTs back to the user. - Prefer reusing existing
clientId/itemIdwhen available. - Validate document lines:
quantity> 0unitPrice>= 0
- Currency: default to
"ILS"unless the user specifies otherwise. - Language: default to
"Hebrew"unless the user specifies otherwise.
Examples
1) Authenticate (JWT)
{
"action": "getToken",
"apiKeyId": "YOUR_API_KEY_ID",
"apiKeySecret": "YOUR_API_KEY_SECRET"
}
2) Create a client
{
"action": "createClient",
"jwt": "JWT_FROM_getToken",
"client": {
"name": "Acme Ltd",
"taxId": "515555555",
"email": "billing@acme.com",
"phone": "+972-50-000-0000",
"address": "1 Rothschild Blvd",
"city": "Tel Aviv",
"country": "Israel"
}
}
3) Create an item
{
"action": "createItem",
"jwt": "JWT_FROM_getToken",
"item": {
"name": "Consulting hour",
"description": "Senior engineering consulting",
"price": 500,
"currency": "ILS"
}
}
4) Create a document (Invoice)
{
"action": "createDocument",
"jwt": "JWT_FROM_getToken",
"document": {
"documentType": "Invoice",
"language": "English",
"currency": "ILS",
"clientId": "CLIENT_ID",
"description": "Invoice for January services",
"lines": [
{
"description": "Consulting hour",
"quantity": 10,
"unitPrice": 500
}
]
}
}
5) Create a document (Receipt) using itemId
{
"action": "createDocument",
"jwt": "JWT_FROM_getToken",
"document": {
"documentType": "Receipt",
"language": "Hebrew",
"currency": "ILS",
"clientId": "CLIENT_ID",
"lines": [
{
"itemId": "ITEM_ID",
"quantity": 1,
"unitPrice": 1200
}
]
}
}
Error handling
- If token is rejected (401/403): call
getTokenagain and retry the request once. - If client/item already exists:
- Prefer returning the existing ID (if tool supports lookup),
- Otherwise surface a clear message: “Client already exists; provide clientId or unique identifier.”
- If validation fails: ask for the missing/invalid fields only (e.g., “quantity must be > 0”).
Output expectations
Return minimally:
- Created resource IDs (
clientId,itemId,documentId) - Any relevant URLs (PDF / view links) if the API/tool provides them