@awesomate/hosting-mcp
Version:
Awesomate MCP server — lets Claude manage your Awesomate WordPress hosting, plan, limits, n8n automations, and build Node/static apps + databases
74 lines (57 loc) • 4.32 kB
Markdown
# Tell someone on the team: a task, not an email or a text
Use this when an automation should get a person on the account to act: a hot lead came in, a job
went wrong, a customer is waiting, stock ran out, a payment failed. Give that person a **task**. It
lands in their Tasks in the hub, comes by email, and reaches the chats they linked (Telegram,
Slack), where they can mark it done with a tap. A task for the account owner is not emailed (the
automation acts as the owner, and nobody is emailed their own task), so the owner needs a linked chat
or the Tasks page. They choose which chat first, their quiet hours and
how many a day in Tasks, Your places, so you never have to.
Never build a staff alert with Gmail, an SMTP node, Twilio or another text service: the person has no
way to mark it done, nobody can see it was handled, and it ignores their quiet hours. This is for the
business's own people only. A message to a customer is a different job (Contacts and email, or the
customer's own channel), never a task.
## Check first
1. `awesomate_get_context`: `features.tasks.available` must be true. If it is false, say its
`message` in one line and stop. Don't swap in an email or a text to staff instead unless the user
asks for that.
2. `awesomate_tasks` `list`: `people` are the people on the account who can act on a task. The task
must be for one of them, by email. Ask the user who should get it if they haven't said.
## Ordinary: the Awesomate node
The Awesomate node, Resource **Task**, Operation **Give**:
- **Title**: what to do, in plain words, up to 120 characters: "Call Sam Patel back about a quote".
- **For (Email)**: the person's email. Left empty, it goes to the account owner.
- Under **Additional Fields**: **Note** (up to 500 characters, the facts they need in your own words),
**Due** (when by) and **Link** (a hub page to open, such as the contact's page, rather than copying
details in).
Write the title and detail yourself from the trigger's fields. Never paste what a customer wrote
into a task: link to where it is instead.
## Urgent: when it can't wait
Mark a task urgent only for what someone must act on within the hour, and only when the user said so:
a hot lead to ring back now, a fault stopping work, a customer standing at the counter. An urgent task
goes to the person's chats straight away, even past their daily limit. In their quiet hours it goes
only to the chat they chose to be woken in, and waits until morning if they chose none. A person gets
at most five urgent tasks in a day; the sixth goes as an ordinary task, and the answer says so
(`urgent: false` with a `note`). Urgent wears off a day after the task is given. People switch chats off when they are
woken for nothing, so most alerts are ordinary tasks.
Give an urgent task with the Awesomate node's **Task: Give**, Additional Fields, **Urgent** on (see
[awesomate-node.md](awesomate-node.md)). Where their node does not have the Urgent field yet (check the
Give step's Additional Fields), use an HTTP Request node:
- Method `POST`, URL `https://hub.awesomate.ai/api/hub-key/v1/<account>/tasks/tasks`
- Authentication: Predefined Credential Type, **Awesomate Hub** (check `hubNodeCredential` in `awesomate_n8n_context`: when it is missing, add it with `awesomate_n8n_hub_credential` (or the owner presses "Add it to my n8n" on the hub); when their n8n has no Awesomate node, use Generic Credential Type, Header Auth, **Awesomate Hub Key**, if the credential inventory has it)
- Header `X-Awesomate-Workflow`: `{{ $workflow.id }}`, so the task says an automation gave it
- JSON body:
```json
{
"title": "Hot lead: ring Sam Patel back now",
"detail": "Asked for a quote on a hot water system through the website form.",
"forEmail": "jo@example.com",
"linkPath": "/contacts",
"urgent": true
}
```
The answer is `201` with `id`, `holder` and `urgent` (`false`, with a `note`, past the day's five). A `403` with `code: feature_unavailable`
means Tasks is not on the account: stop and say so. A `400` names what was wrong in `error`.
## Test it
Run it once with the task for the user themselves (their own email in **For**) and ask them whether it
arrived in their chat. Then drop the test task (`awesomate_tasks` `drop`, with their yes) and set the
real person.