# Services

Maintain a catalog of the services your company sells so the Salfio assistant knows what it can suggest to your customers — and what to look for in their communications.

The **services catalog** is the list of services your company sells, written for the Salfio assistant. Each entry describes one service in terms the assistant can act on: what it is, what interest looks like in customer communications, and what to check before suggesting it. When you ask the assistant about upsell opportunities — or ask it what your company offers — this catalog is what grounds the answer. Services a customer already uses (per [their services list](#services-on-each-customer)) are excluded from recommendations for that customer, so nothing they already buy is ever proposed again.

The catalog belongs to your organization: every member sees and manages the same list.

## Manage the catalog

Open **Settings → Services** and click **New service**. Each service has four fields:

- **Title** — the service's name, e.g. *Quarterly SEO audit*. Required.
- **Description** — what the service is and what it delivers. Salfio also reads it when deciding whether a customer already *uses* the service, so name the work it covers as your team reports it — *"weekly CPA and conversion reporting on the campaigns"*, *"A/B tests in sprints"*, *"a monthly link budget per label"* — not only the outcome you sell.
- **Buying signals** — what to look for in customer communications that signals interest. Write these as observations the assistant can match against emails, meetings, and messages: *"complains about declining organic traffic"*, *"asks how competitors rank"*.
- **Requirements** — what should be true before the service is suggested: *"the customer's site must already be live"*, *"only relevant after the first project is delivered"*.

A service is something you'd quote or invoice separately — *Quarterly SEO audit*, not day-to-day work like *optimize campaigns* that's part of delivering what you already sell.

The three guidance fields are optional free text — there is no required format. Concrete, specific phrasing gives the assistant more to work with than generic descriptions.

Edit or delete a service from the same page. Deleting removes it from the catalog immediately; the assistant stops considering it.

### Included services

A service can declare which other catalog services its price already covers — a subscription tier naming its bundled add-ons, for example. Tick them under **Included services** in the service's edit dialog.

Salfio uses this when it looks for room to grow an account: a customer on a service is never pitched something that service already includes. Without the declaration, a bundled add-on looks like an open opportunity and can be suggested to a customer who already pays for it.

Included services stay ordinary catalog entries — they can be sold on their own to customers whose plan doesn't cover them.

## Services on each customer

Every customer page carries a **Services** pill in the bar under the customer's name, showing how many of your catalog services that customer uses. Click it to open the list. Each service is in one of three states:

- **In use** — you confirmed it, or added it yourself.
- **Suggested** — Salfio found evidence the service is being delivered and proposes it, marked with a sparkle and a dashed border. The pill shows an amber **suggested** badge while suggestions await your review.
- **Not in use** — you rejected it. Rejected services collapse into a **Not in use** group at the bottom of the list.

Salfio only ever *suggests*: as new activity comes in, it scans the customer's recent communications and proposes catalog services it finds evidence for, citing that evidence — hover any entry to read it, along with where the entry came from (*Suggested*, *Confirmed by you*, or *Added by you*). Deciding is yours alone:

- **Confirm** a suggestion with its ✓ — it becomes in use.
- **Reject** it with its ✕ — it moves to **Not in use**, and Salfio will **never suggest that service for this customer again**. Only you can overrule the rejection, with the row's **Add back** button.
- **Add** a service Salfio hasn't suggested via **Add service**, which searches your catalog. The list is catalog-only: if the service you're looking for doesn't exist yet, add it in **Settings → Services** first.
- **Remove** an in-use service with its ✕ — it moves to **Not in use**.

Changes save automatically as you make them. The customer's services list is what grounds everything else: upsell recommendations exclude both confirmed and still-suggested services (so nothing possibly in use is ever pitched), and cards with customer context see the same list.

Adding a service to the catalog, or editing one, re-evaluates every customer's recent history against it — you don't have to wait for new activity. Suggestions for a newly added service appear over the following hours as customers are re-checked; the same happens when you sharpen a description.

## Import from your activities

Filling the catalog by hand is optional. Click **Import from activities** and Salfio scans your recent conversations, then drafts proposed services with all four fields already filled in from what it found. The scan runs in the background — a progress box appears at the bottom of the left sidebar and follows you across the app, so you can keep working while it runs. When it finishes, that box turns into a **Review suggestions** prompt; open it to see a list where you tick the ones to keep and click **Add** — nothing is added to your catalog until you accept it. Dismiss anything that doesn't fit.

The import only reads conversation summaries (not raw message contents), works from your most recent activity, and proposes only services you don't already have — so you can re-run it later to pick up newly discussed offerings without creating duplicates. A few things to know:

- It suggests services **your company sells**, not tools you use or what your customers sell — and only work you'd sell separately, not day-to-day activity inside an existing engagement. The drafts are a starting point, so edit any that need refining after you accept them.
- Accepted suggestions become normal catalog entries you can edit or delete like any other.

## Use it with the assistant

The catalog is available to the Salfio assistant everywhere it runs — Slack, the dashboard chat, and any connected MCP client. You can ask it to read or maintain the list in plain language: *"what services do we sell?"*, *"add a service for our new onboarding package"*, *"update the buying signals on the SEO audit"*. Deleting a service through the assistant always requires your explicit confirmation.

## MCP and API

For MCP clients (Claude Desktop, Claude web, or your own), the [Salfio MCP server](/docs/mcp) exposes five catalog tools: `list_services`, `get_service`, `create_service`, `update_service`, and `delete_service` — plus two per-customer tools, `add_client_service` and `reject_client_service`, which record your decision on a customer's services list exactly like the dashboard's confirm and reject. All tools operate on your organization's data only — the organization is derived from your authenticated connection, never from tool input.

## Related pages

- [Administrator Tools](./administrator-tools.md)
- [Agent Tools](./mcp-external-servers.md)
- [Assign a Slack channel to a client over the API](./guides-assign-slack-channel.md)
- [Authenticated health check](./api-reference-gethealth.md)
- [Authentication](./api-authentication.md)
- [Cards](./cards.md)
- [Changelog](./changelog.md)
- [Changelog](../changelog.md)
- [Connect a workspace](./getting-started-connect-workspace.md)
- [Connect an integration](./getting-started-connect-integration.md)

# Agent Instructions

This portal answers questions programmatically. To receive a synthesized,
source-cited answer instead of crawling page by page, append the `?ask=`
query parameter to any page URL on this site:

    /guides/quickstart?ask=how+do+I+authenticate

Optional parameters:

- `&goal=<what-you-are-trying-to-do>` steers the answer toward your
  objective (e.g. `&goal=write+a+python+client`).
- `&version=<label>` scopes the answer to a mounted version when the
  portal publishes more than one.

The response is `text/markdown`: the answer followed by a `# Sources` list
of the portal pages it was grounded in. Status codes are the contract:

- `200` — the answer; `402` — the portal owner’s plan or answer credits are
  exhausted (surface this to your operator; do NOT retry); `429` — you are
  rate-limited; back off for the `Retry-After` seconds; `503` — the answer
  lane is temporarily unavailable; fall back to crawling the `.md` pages.

For the full corpus map read `llms.txt` at the site root; for the tool
surface (search + page fetch as MCP tools) see `/mcp`.
