Captino
Captino ApS v0.4.1
Build funnels, manage leads
From the developer
Declared capabilities
- Read
- Write
Declared limitations
- The user asks for a bulk delete that no Captino tool supports.
- The user asks to send email, which Captino's tools can't do.
- The user asks for data from a Captino account they don't own.
Not specified in the available declarations: pricing & account requirements.
Onboarding example
Show me this week's new leads and where they came from
Sources & dates
Developer declarations; not independently tested. Listing last checked Nov 10, 2026. Package observed Nov 9, 2026.
Description
From the marketplace listing
Captino lets you create marketing funnels that turn visitors into paying customers: landing pages, lead forms and a pipeline for following up. With Captino for ChatGPT you run it from the conversation. Ask how your funnels performed and where visitors drop off, review new leads and where they came from, qualify leads and move them through your pipeline, and get a weekly account report. Describe what you need and Captino builds landing pages, opt-in forms and qualification forms, then adds them to your funnel. Requires a Captino account. Captino for ChatGPT only works with the funnels, forms and contacts your connected account has access to.
Language: English · Automatically detected from descriptions.
Changes
No changes recorded yet. Follow this plugin to keep track of future changes.
First seen Nov 9, 2026. Last seen Nov 10, 2026.
Similar plugins
Find competitors to follow as you develop your plugin.
-
Build, publish, and operate Dashform AI forms from Codex through the Dashform MCP server.
Shared terms: builder, form, server, describe
-
FORTVISION brings marketing activity into one workspace. Plan and manage campaigns across Meta, Google Ads, TikTok, LinkedIn and DV360, t...
Shared terms: lead, landing, marketing, run
-
Manage leads, build automated sales funnels, capture new leads with forms, create email templates, and analyze performance with Chasync d...
Shared terms: funnel, lead, form, performance
-
Work with your Cratio CRM in ChatGPT: search leads, review calls and tasks, and get sales and call reports.
Shared terms: lead, performance, pipeline, weekly
-
Create, publish and manage boat listings and buyer leads for yacht brokers from ChatGPT, through the BrokerForBoat MCP server.
Shared terms: lead, move, pipeline, server
Keywords
Files & skills
File archives
Skill instructions
captino-setup7.28 KB
--- name: captino-setup description: Set up or troubleshoot the Captino MCP connection in Codex or ChatGPT - sign in to Captino with OAuth, choose which permissions to grant, re-authenticate after a revoke or expiry, check which tools the connection has, and fix 401, 403, "Not logged in", missing tools or connection errors. Use when Captino tools are unavailable or failing, or when the user asks how to connect Codex or ChatGPT to Captino. --- # Captino setup The Captino MCP server is `https://api.captino.io/mcp` (streamable HTTP). It uses OAuth: the client finds the Captino sign-in from the server, registers itself and stores and refreshes the tokens, so there is nothing to configure in Codex or in ChatGPT. The plugin's `mcp.json` declares only the server's type and URL. The connection acts as the Captino user who approved it, in that user's account. Access tokens last an hour and refresh on their own. The refresh token lasts 30 days and is renewed each time it is used, so only a connection left unused for 30 days has to sign in again. ## Permissions When connecting, the user signs in on captino.io and sees a consent screen listing these resources. They tick the ones the app may use. Write access implies read. | Resource | Access levels | OAuth scopes | Unlocks | | :-- | :-- | :-- | :-- | | Funnel | read, write | `funnel:read`, `funnel:write` | `list_funnels`, `get_funnel`, `list_funnel_steps`, `get_page_builder_reference`, `get_page_project`, `validate_page_project`; write adds `create_funnel`, `update_funnel`, `set_funnel_active`, `create_funnel_step`, `set_funnel_step_visibility`, `set_funnel_step_form`, `set_form_step_completion`, `delete_funnel`, `save_page_project`, `publish_page` | | Contact | read, write | `contact:read`, `contact:write` | `list_contacts`, `list_leads`, `get_contact`, `get_contact_activity`, `list_contact_opt_ins`, `get_contact_pipeline_stats`, `get_contact_options`; write adds `update_contact`, `create_contact_meeting` | | Performance | read | `performance:read` | `list_funnel_performance`, `get_funnel_performance`, `compare_funnel_performance_with_previous_period`, `get_funnel_step_performance`, `get_funnel_conversion_stats`, `get_form_step_performance`, `compare_funnels` | | Subscription | read | `subscription:read` | `get_subscription`, `get_subscription_usage` | | Form | read, write | `form:read`, `form:write` | `list_forms`, `get_form`, `list_form_responses`, `get_form_performance`; write adds `create_form`, `update_form`, `publish_form`, `delete_form` | The server only lists the tools the granted permissions allow, so a missing tool almost always means a box that was not ticked. Recommended grants for the skills in this plugin: Funnel write, Contact write, Form write, Performance read, Subscription read. Funnel read is enough if the user will not build pages or change funnels; Form is only needed for forms. ## Connect from Codex The plugin bundles the server as `captino`. It works in Codex CLI and in Codex in the ChatGPT desktop app. 1. Install Captino from `/plugins`. Codex asks to authenticate the Captino server during install; continue. 2. If that was skipped, or to sign in again later, run: ```bash codex mcp login captino ``` A browser opens on captino.io. Sign in, tick the permissions and approve. On a machine without a browser, add `--no-browser`: Codex prints the URL and asks for the callback URL. In the desktop app, choose **Authenticate** when the server asks for sign-in. 3. Start a new session. `/mcp` lists the `captino` server and its tools, and `codex mcp list` shows `OAuth` in the Auth column. No config flag is needed for OAuth in current Codex versions. Tokens go to the OS credential store, or a file under `~/.codex` when none is available. `codex mcp logout captino` deletes them. Without the plugin (for example in the IDE extension, which does not load plugins), add the server by hand and sign in: ```bash codex mcp add captino --url https
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
form-builder10.1 KB
---
name: form-builder
description: Build, edit and publish Captino forms (multi-question lead forms, qualification forms, surveys, applications, quizzes) from a brief and put them into a funnel as a form step, using the form MCP tools. Use when the user asks to "create a form", "build a lead form", "add a survey to my funnel", "change the questions on my form", "add a question", "restyle the form", "publish the form", or wants a form written or changed without opening the form builder.
---
# Form builder
Writes or changes a standalone Captino form as a form configuration (questions,
intro, completion, labels, style), saves it as a draft, publishes it when the
user wants, and shows it in a funnel through a form step. The result is the
same as a form made in the form builder, so the user can keep editing it there.
A form shows one question per screen with Back/Next navigation and lives on its
own funnel step. For a simple name-and-email opt-in inside a landing page, use
the `page-builder` skill and its `captino-optin-form` component instead.
## Prerequisites
Uses the Captino MCP tools `list_forms`, `get_form`, `create_form`,
`update_form`, `publish_form`, `list_funnels`, `get_funnel`,
`list_funnel_steps`, `create_funnel_step`, `set_funnel_step_form` and
`set_form_step_completion`. Needs **Form: write** access to author forms and
**Funnel: write** to add them to a funnel, granted when connecting Captino. If
the tools are missing or fail with 401/403, run the `captino-setup` skill.
## Workflow
### 1. Understand the brief
Before writing anything, know: what the form is for (capture leads, qualify
them, book a call, collect feedback), the audience, the questions the user
needs answered, the language of the form, where respondents go after
submitting, and any brand colors, font or logo. Ask only for what you cannot
infer. Keep it short: every extra question lowers completion. Use the user's
own wording for questions when they gave some. Never invent claims about the
user's product.
### 2. Find or create the form
- Editing: `list_forms` with `query` = the name, then `get_form`. Note
`hasDraft` and `linkedFunnels`. A form can be used by several funnels, and
publishing changes it in all of them; tell the user when `linkedFunnels` has
more than the one they mean.
- New form: `create_form` with a `name` and the full `config`. The config is
saved as a draft; nothing is live yet.
### 3. Author the configuration
The configuration is one JSON object:
```json
{
"intro": { "enabled": true, "title": "…", "description": "…" },
"questions": [ { "id": "…", "question": "…", "type": "…", "required": true, "options": [], "placeholder": "" } ],
"completion": { "message": "…", "redirectUrl": "" },
"labels": { "start": "Start", "back": "Back", "next": "Next", "submit": "Submit", "acceptTerms": "I accept the terms and conditions", "continue": "Continue" },
"style": { "accentColor": "#7581F0", "accentForegroundColor": "#ffffff", "foregroundColor": "#111827", "backgroundColor": "#ffffff", "font": "Inter", "corners": "Default", "brandAssetUrl": "", "brandAssetSize": "Small" }
}
```
Question types (exact spelling):
| Type | Use | Notes |
| :-- | :-- | :-- |
| `Name` | Respondent's name | Stored as the contact's name |
| `Email` | Email address | Creates or updates the contact |
| `Mobile` | Phone number | Creates or updates the contact |
| `ShortText` / `LongText` | Free text | `placeholder` optional |
| `SingleChoice` / `MultipleChoice` | Pick one / pick several | `options` is a list of strings |
| `Scale` | Rating | `scaleMin` and `scaleMax` within 0 to 10, min below max; defaults 0 and 10 |
Rules:
- Each question needs an `id` that is unique within the form. Use short,
readable slugs (`email`, `company-size`). Per-question statistics are keyed
by the id, so never change the id of an existing question.
- A response only becomes a lead when it has an `Email` or `Mobile` answer.
For a lead form, include a required `EmPreview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
funnel-dropoff3.48 KB
---
name: funnel-dropoff
description: Find where visitors leave a Captino funnel - visits and conversion rate per step, the biggest step-to-step drop, and per-question response counts of form steps. Use when the user asks "where do people drop off", "which step loses visitors", "conversion per step", "why doesn't my form convert", "which question do people abandon", or wants to improve a funnel's opt-in rate.
---
# Funnel drop-off
Diagnoses where a funnel loses visitors, step by step and, for form steps,
question by question.
## Prerequisites
Uses the Captino MCP tools `list_funnels`, `list_funnel_steps`,
`get_funnel_conversion_stats` and `get_form_step_performance`. Needs
**Funnel: read** and **Performance: read** access, granted when connecting
Captino. If they are missing or fail with 401/403, run the `captino-setup`
skill. Never invent numbers.
## Workflow
### 1. Resolve the funnel and its steps
1. Find the funnel id with `list_funnels` (`query` = the name). Ask if the name
is ambiguous.
2. Call `list_funnel_steps` with the funnel id. Note each step's `order`, `name`,
`type` (`Site` or `Form`), `isPublic`, `hasDraft` and `hasFormDraft`.
- Unpublished steps (`isPublic: false`) get no traffic; they are not
drop-off, they are gaps in the funnel. Say so.
- `hasDraft` / `hasFormDraft` means the live page differs from what the user
sees in the editor. Mention it when the user is puzzled by the numbers.
### 2. Get per-step conversion
Call `get_funnel_conversion_stats` with the funnel id. Pass `from` and `to`
(ISO 8601 with offset) when the user names a period; omit both for all-time.
Each item has `order`, `funnelStepName`, `visits` and `conversionRate`.
`conversionRate` is the percentage of the **first step's** visits that reached
this step, not the rate from the previous step. Compute:
- step-to-step retention = `visits[n] / visits[n-1]`
- step drop = `visits[n-1] - visits[n]` (absolute) and `1 - retention` (relative)
The biggest problem is usually the largest **relative** drop between two
consecutive published steps, but show the absolute numbers too because a 50%
drop on 10 visitors matters less than a 20% drop on 5,000.
### 3. Drill into form steps
For every step with `type: Form` that sits at or right after the biggest drop,
call `get_form_step_performance` with the step id and a period (`from` and `to`
are required here; use the same period as step 2, or the last 30 days for
all-time questions).
The result lists `questions` in order, each with `responses`, plus total
`submissions`. Responses fall as visitors abandon the form, so the largest drop
between consecutive questions is the question that costs the most submissions.
`submissions` versus the first question's responses is the overall form
completion rate.
### 4. Report
Lead with the single biggest leak in one sentence, then one table of the steps:
> Most visitors leave between the landing page and the quiz: only 31% continue.
>
> | # | Step | Visits | From first step | From previous step |
> | --: | :-- | --: | --: | --: |
> | 1 | Landing | 1,240 | 100% | - |
> | 2 | Quiz (form) | 385 | 31% | 31% |
> | 3 | Thank you | 290 | 23% | 75% |
If you drilled into a form, add a second small table of questions and their
response counts and name the question where abandonment peaks.
Close with two or three concrete suggestions tied to the numbers: shorten the
form before question N, move the value proposition above the fold on step 1,
publish the missing step, and so on. Keep them specific to what the data shows.
Referenced files: 1 — file references are metadata, not package contents.
funnel-performance4.32 KB
--- name: funnel-performance description: Analyze how a Captino funnel performs - visits, unique visits, opt-ins and opt-in rate over a period, the change against the previous period, the ranking of all funnels, or a head-to-head of two funnels. Use whenever the user asks "how is my funnel doing", "which funnel performs best", "did traffic or opt-ins go up", "compare funnel A with B", "funnel stats for last week", or any question about funnel numbers, even if they don't say "performance". --- # Funnel performance Answers questions about funnel traffic and opt-ins using the Captino MCP server. ## Prerequisites Uses these Captino MCP tools: `list_funnels`, `get_funnel`, `list_funnel_performance`, `get_funnel_performance`, `compare_funnel_performance_with_previous_period`, `get_funnel_step_performance`, `compare_funnels`. They need **Funnel: read** and **Performance: read** access, granted when connecting Captino. If the tools are missing or a call returns 401/403, run the `captino-setup` skill instead of guessing. Never fabricate numbers; if a tool is unavailable, say so. ## Workflow ### 1. Resolve the funnel - Ids are GUIDs. Never guess one. If the user names a funnel, call `list_funnels` with `query` set to the name and pick the match. If several match, list them (name, domain, active) and ask which one. - If the user says "my funnels" or "all funnels", skip to ranking (step 3a). - Keep the `id`, `name`, `isActive` and `visitUrl` from the result. A funnel with `isActive: false` or `visitUrl: null` cannot receive traffic; mention this if its numbers are zero. ### 2. Resolve the period Tools take `from` and `to` as ISO 8601 with offset (for example `2026-09-01T00:00:00+02:00`). Work out the dates from today's date in the user's timezone; the server converts to UTC. | User says | Period | | :-- | :-- | | nothing / "recently" | last 30 days, ending today | | "this week" | Monday of this week to today | | "last week" | previous Monday to previous Sunday | | "this month" / "last month" | first to last day of that month | | "last 7 days", "since launch" | as stated; use `createdAt` from `list_funnels` for launch | Always state the period you used in the answer. ### 3. Pick the tool for the question | Question | Tool | Notes | | :-- | :-- | :-- | | a. Which funnel is best / rank my funnels | `list_funnel_performance` with `rankBy` | `OptIns` for "which converts best", `UniqueVisits` for reach, `AllVisits` (default) for raw traffic. All-time only, returns names and values, no ids. | | b. How did funnel X do in a period | `get_funnel_performance` | Returns `dates`, `lines` (one series per metric), `totalVisitors`, `totalOptIns`, averages per day and week. | | c. Is it up or down | `compare_funnel_performance_with_previous_period` | `selectedGraphData` is the requested period, `pastGraphData` the equally long period before it. | | d. Traffic per step over time | `get_funnel_step_performance` | One line per step. For drop-off and conversion per step use the `funnel-dropoff` skill. | | e. Funnel A vs funnel B | `compare_funnels` | All-time `allVisits` and opt-ins for `leftFunnel` and `rightFunnel`. | For an overview of one funnel with no specific question, call b and c together for the default period, plus `list_funnels` for the all-time counters. ### 4. Interpret - Opt-in rate = `totalOptIns / totalVisitors`. Say "no traffic" rather than dividing by zero. - Change vs previous period = `(current - past) / past`. If `past` is zero, report the absolute numbers instead of a percentage. - Use the daily `lines` to spot spikes or dead days; name the date of the best and worst day when it is useful. - All-time counters on `list_funnels` (`uniqueVisitors`, `pageviews`, `optIns`, `formResponses`) are not comparable to period numbers; don't mix them in one table without labelling. ### 5. Report Lead with the answer in one or two sentences, then one compact table. Example: > Spring Campaign got fewer visits than t
Preview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
lead-followup3.48 KB
--- name: lead-followup description: Act on a Captino lead or contact - set its quality (Good, NotRelevant, Spam), move it through the pipeline (Lead to Opportunity, Customer or Lost), set the deal value, add a note, or schedule a meeting. Use when the user says "mark X as opportunity", "this lead is spam", "we closed the deal with X", "set the value to", "add a note to", "book a meeting with", or otherwise wants to update a contact. --- # Lead follow-up Writes to contacts through the Captino MCP server. Every change here is visible to the whole Captino account, so be precise about which contact you change and what you change. ## Prerequisites Uses the Captino MCP tools `list_contacts`, `get_contact`, `get_contact_options`, `update_contact` and `create_contact_meeting`. Needs **Contact: write** access (write implies read), granted when connecting Captino. If `update_contact` or `create_contact_meeting` is not listed, only read access was granted; tell the user and point them to the `captino-setup` skill instead of trying workarounds. ## Domain facts - `status` values: `Contact`, `Lead`, `Opportunity`, `Customer`, `Lost`. - `qualityStatus` values: `Pending`, `Good`, `NotRelevant`, `Spam`. - `value` is the monetary deal value (plain decimal, account currency). - `update_contact` changes only the arguments you pass. Omitted arguments keep their value. **Exception:** `note` replaces the whole note. - `create_contact_meeting` takes `scheduledAt` as ISO 8601 with offset, optional `title` and `note`, and updates the contact's `meetingDate` automatically. ## Workflow ### 1. Resolve the contact Call `list_contacts` with `query` set to the name, email or phone the user gave. Exactly one match: continue. Several matches: show them (name, email, status, created) and ask which one. None: say so; do not create contacts, there is no tool for it. ### 2. Show the current state before changing it Call `get_contact` and keep `status`, `qualityStatus`, `value`, `note` and `meetingDate`. Sanity-check the request against it: - Moving backwards in the pipeline (for example `Customer` → `Lead`) or to `Lost` from `Customer` is unusual. Do it if asked, but say what the current status is. - Setting `Spam` or `NotRelevant` on a contact with a non-zero deal value or a scheduled meeting deserves a one-line heads-up. - If the user asks to "add" to the note, fetch the existing note and send the existing text plus the addition; sending only the addition would erase it. ### 3. Apply the change - Status, quality, value, name, email, phone, note: one `update_contact` call with only the fields that change. - Meeting: `create_contact_meeting`. If the user gave no time, ask for it; do not pick one. Use the user's timezone offset. Put the agenda in `note` and a short label in `title`. - Closing a deal usually means two things: `status: Customer` and `value`. If the user gives a value, send both in the same call. - Several contacts at once (for example "mark all leads from yesterday as Good"): list them first, show the list, and get an explicit go-ahead before looping. There is no bulk tool; make one call per contact and report any that failed. ### 4. Confirm Report before → after for the fields that changed, in one line per contact: > Anna Berg: Lead → Opportunity, value 0 → 12,000. Note kept. > Meeting scheduled 12 Sep 2026 10:00 (+02:00), "Intro call". If a call failed (404 not found, 403 no write permission, validation error), quote the error and stop; do not retry with guessed data.
Referenced files: 1 — file references are metadata, not package contents.
leads3.76 KB
---
name: leads
description: Review Captino leads and contacts - list new or recent leads, search a contact by name, email or phone, see which funnel a lead came from, their opt-ins, activity and meetings, and pipeline counts per status. Use when the user asks "any new leads", "who signed up this week", "show my leads", "find contact X", "what did this lead do", "where did this lead come from", or "how many leads, opportunities or customers do I have".
---
# Leads
Read-only review of leads and contacts from the Captino MCP server. To change
a lead (status, value, note, meeting) use the `lead-followup` skill.
## Prerequisites
Uses the Captino MCP tools `list_leads`, `list_contacts`, `get_contact`,
`get_contact_activity`, `list_contact_opt_ins`, `get_contact_pipeline_stats`
and `get_contact_options`. Needs **Contact: read** access, granted when
connecting Captino. If the tools are missing or fail with 401/403, run the
`captino-setup` skill.
## Domain facts
- Pipeline `status` progression: `Contact` (captured from an opt-in) →
`Lead` (submitted a form or was promoted) → `Opportunity` (deal under
negotiation) → `Customer` (closed). `Lost` means they left the process.
So "leads" in the narrow sense is `status = Lead`; "everyone who signed up"
is all statuses. Ask or state which one you used when it matters.
- `qualityStatus`: `Pending` (not reviewed), `Good`, `NotRelevant`, `Spam`.
- Lists are paged: `page` (1-based) and `itemsPerPage` (max 100). Responses
include `hasNextPage` and `totalPages`.
- Contacts beyond the subscription limit are hidden. When a response has
`hiddenContacts > 0`, always tell the user how many are hidden and that
upgrading the plan reveals them.
- There is no server-side date filter. For "this week" or "since Monday",
order by `createdAt` descending and stop paging once `createdAt` is older
than the cutoff.
## Workflow
### New or recent leads
1. Call `list_leads` (or `list_contacts` with `status` if the user means
another stage) with `itemsPerPage: 50`. `list_leads` is newest first.
For `list_contacts` pass `orderBy: "createdAt"`, `descending: true`.
2. Filter by the cutoff date locally. Page further only while the last item is
still inside the period.
3. Present a table: name, email, status, quality, created (date only),
deal value if non-zero. Group by day if there are more than ~15.
4. If the user wants the source funnel for each lead, call
`list_contact_opt_ins` per lead (this is one call per contact, so do it
for at most ~10 leads unless asked) and add a "Source funnel" column.
### Find a contact
1. `list_contacts` with `query` set to the name, email or phone fragment.
2. If exactly one result, call `get_contact` for full details. If several,
show them and ask which one.
### What did this lead do
1. Resolve the contact as above.
2. `get_contact_activity` returns `funnelActivities` (per funnel: visits,
opt-ins, form submissions with timestamps), `meetings` and `lastActivity`.
3. `list_contact_opt_ins` returns each form sign-up with `funnelName`,
`funnelStepId`, `acceptedTerms`, `timeZone`, `createdAt`.
4. Summarise as a short timeline: first seen, funnels touched, forms submitted,
meetings held or scheduled, last activity. Note if `acceptedTerms` is false.
### Pipeline counts
Call `get_contact_pipeline_stats`. It returns `contacts`, `leads`,
`opportunities`, `customers`, `lost` and `totalValue`. Present as one row per
stage. Compute a simple win rate = `customers / (customers + lost)` only when
both are non-zero.
## Reporting
Lead with the answer ("You got 12 new leads this week, 9 from Spring Campaign"),
then the table. Keep personal data to what the user needs; don't dump notes or
phone numbers unless asked. Suggest `lead-followup` when the user's next step is
to qualify or move a lead.
Referenced files: 1 — file references are metadata, not package contents.
page-builder10.9 KB
---
name: page-builder
description: Build, edit and publish Captino funnel step pages (landing pages, opt-in pages, thank-you pages, popups) from a brief, using the page builder MCP tools and GrapesJS project data made of Captino components. Use when the user asks to "build a landing page", "create a page for my funnel", "add an opt-in page", "change the headline on my page", "add a popup", "publish the page", or wants a website or funnel page written or changed without opening the visual builder.
---
# Page builder
Writes or changes the page of a funnel step as GrapesJS project data built from
Captino components, checks it with the compiler, saves it as a draft and, when
the user wants, publishes it. The result is the same as a page made in the
visual builder, so the user can keep editing it there afterwards.
## Prerequisites
Uses the Captino MCP tools `get_page_builder_reference`, `get_page_project`,
`validate_page_project`, `save_page_project`, `publish_page`,
`create_funnel_step`, `list_funnels`, `get_funnel` and `list_funnel_steps`.
Needs **Funnel: write** access, granted when connecting Captino (read is enough
for the reference, reading a project and validating). If the tools are missing
or fail with 401/403, run the `captino-setup` skill.
Only **site steps created with the page builder** can be built this way. Form
steps and legacy template steps are rejected with "not a page builder step";
build and attach forms with the `form-builder` skill.
## Workflow
### 1. Understand the brief
Before writing anything, know: the goal of the page (collect leads, sell,
inform, thank), the audience, the single call to action, the tone, and any
brand colors, fonts, images or copy the user already has. Ask only for what
you cannot infer; one short question is better than a form. Use the user's own
words for the copy when they gave some, and write concise, concrete copy when
they did not. Never invent testimonials, numbers or claims about the user's
product.
### 2. Resolve the funnel and the step
1. Find the funnel with `list_funnels` (`query` = the name), then `get_funnel`
for its `steps`, `gdprCompliant` and `visitUrl`. Ask if the name is ambiguous.
2. Pick the step:
- Editing an existing page: the step the user named. Check `type: Site`,
`editorType: GrapesJs`, and note `isPublic` and `hasDraft`.
- New page: `create_funnel_step` with the funnel id and a name such as
"Landing page". It is appended to the funnel, unpublished, with a path
derived from the name. A new funnel needs `create_funnel` first (name and
subdomain).
3. Note the `path` of every step. The opt-in form's redirect target is a step
path, and buttons that link between steps use `/{path}`.
### 3. Read the reference once
Call `get_page_builder_reference` once per conversation and keep it. It is the
source of truth: component types with their properties (`traits`), allowed
values (`options`), defaults, the region rules and a small valid example. The
summary below is for orientation; when they disagree, the reference wins.
### 4. Author the project data
The project is one JSON object:
```json
{
"pages": [{ "frames": [{ "component": { "type": "wrapper", "components": [ ...regions or sections... ] } }] }],
"styles": [],
"assets": []
}
```
Rules:
- Exactly one page, one frame, a `wrapper` root.
- A component is `{ "type": "captino-…", "components": [...] | "text", "attributes": {...}, "cap-…": value }`.
Traits with `changeProp: true` are top-level `"cap-…"` properties; the rest
(`href`, `id`, `title`) go in `attributes`. Text and button labels are a
string in `components`; inline HTML is limited to `b`, `i`, `br`, `span`.
- Structure: `wrapper` › `captino-region` (`cap-region-kind`: `header`,
`template`, `footer`, `popups`) › `captino-section` (or `captino-modal` in
`popups`) › `captino-stack` / `captino-columns` › content. Regions may be
omitted; stray sections land in the template region.
- Use Captino componePreview of the first 4,000 characters. Read full instructions →
Referenced files: 1 — file references are metadata, not package contents.
pipeline-report3.47 KB
--- name: pipeline-report description: Build a Captino account overview - pipeline counts and total deal value, opt-ins and traffic per funnel, best performing funnels with week-over-week change, and subscription usage against plan limits. Use when the user asks for a "weekly report", "status update", "how is the account doing", "summary of my funnels and leads", "monthly overview", or "am I close to my plan limits". --- # Pipeline report Assembles a one-page account report from several Captino MCP tools. ## Prerequisites Uses `get_contact_pipeline_stats`, `list_funnels`, `list_funnel_performance`, `compare_funnel_performance_with_previous_period`, `get_subscription` and `get_subscription_usage`. Needs read access to **Contact**, **Funnel**, **Performance** and **Subscription**, granted when connecting Captino. Sections whose tools are missing are skipped with a one-line note; do not fabricate them. Run the `captino-setup` skill if nothing is available. ## Period Default is the last 7 days ending today (a weekly report). "Monthly" means the last 30 days or the calendar month the user names. State the period at the top. Dates go to the tools as ISO 8601 with offset. ## Data collection Run these calls; the first four are independent, so make them together. 1. `get_contact_pipeline_stats` → `contacts`, `leads`, `opportunities`, `customers`, `lost`, `totalValue`. 2. `list_funnels` with `orderBy: "optIns"`, `descending: true`, `itemsPerPage: 100` → per funnel `id`, `name`, `isActive`, `visitUrl`, all-time `uniqueVisitors`, `pageviews`, `optIns`, `formResponses`. 3. `list_funnel_performance` with `rankBy: "OptIns"` → all-time ranking. 4. `get_subscription` and `get_subscription_usage` → plan `state` (`None`, `Active`, `Trialing`, `Inactive`), trial and period dates, and for funnels, custom domains and contacts: `used`, `limit`, `remaining`, `isLimitReached`, plus `nextTier`. 5. For the top funnels by all-time opt-ins (at most 5, only active ones), call `compare_funnel_performance_with_previous_period` with the report period. Use `selectedGraphData.totalVisitors` / `totalOptIns` versus `pastGraphData` for week-over-week change. ## Report layout Keep it to what fits on one screen. Use these sections, drop any that is empty. **Headline** (2 sentences): the most important movement, for example opt-ins up or down across the top funnels, and any limit that is reached. **Pipeline**: one table, one row per stage, plus total deal value. Add win rate = `customers / (customers + lost)` when both are non-zero. **Funnels this period**: table of the top funnels with visits, opt-ins, opt-in rate, and change vs the previous period. Flag inactive funnels or funnels with `visitUrl: null` (nothing published) separately; they are not "low traffic", they are off. **Subscription**: plan name and state, used/limit for funnels, domains and contacts. Call out `isLimitReached: true` explicitly: contacts over the limit are hidden from lists, and new funnels or domains cannot be created. Mention `nextTier` by name only when a limit is reached or within 10%. If `state` is `Trialing`, give the trial end date. **Suggested next steps** (max 3 bullets), each tied to a number above: review N pending leads, look into the funnel whose opt-in rate fell, upgrade before the contact limit hides more sign-ups. Point to the `funnel-dropoff` or `leads` skills where they help. Numbers go in tables, not prose. Label all-time counters as all-time so they are not read as period numbers.
Referenced files: 1 — file references are metadata, not package contents.
Package details
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
- Package author
- Captino ApS
- Keywords
- See keywords
- Review scenarios
- 5 positive · 3 negativeScenario counts, not test results.
Declared capabilities
- Read
- Write
Package observed Nov 9, 2026.
Technical details
- First seen
- Nov 9, 2026 · 18:00 UTC
- Last seen
- Nov 10, 2026 · 00:00 UTC
- Collection status
- Collected
plugin_asdk_app_6ac768a541148191adc9588132f9f44c
Download plugin data (JSON)Plugin details: freshly prepared. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.