| name | notion-sales-pipeline |
| description | Maintain a lightweight sales pipeline in Notion — create deal pages, move stages, log activity, generate weekly summaries. For founders and small teams without a full CRM. Trigger on "add this deal to Notion", "update my Notion pipeline", or "summarize my Notion deals". |
| allowed-tools | ["Bash","Read","Write","AskUserQuestion"] |
Notion Sales Pipeline
Manage a simple deal pipeline as a Notion database via Composio.
Workflow
- Identify the database. Ask for the Notion database URL (or name + workspace). Required schema:
Name, Stage (select), Account (text), Amount (number), Next Step (text), Close Date (date), Owner (person).
- Link Notion:
composio link notion
- Find the DB ID:
composio execute NOTION_SEARCH -d '{ "query": "Pipeline" }'
- Add a deal:
composio execute NOTION_CREATE_DATABASE_ITEM -d '{
"database_id": "abc...",
"properties": {
"Name": { "title": [{ "text": { "content": "Acme — Expansion" }}]},
"Stage": { "select": { "name": "Discovery" }},
"Amount": { "number": 45000 }
}
}'
- Update stage:
composio execute NOTION_UPDATE_PAGE -d '{ "page_id": "...", "properties": {...} }'
- Weekly summary: Query DB, group by Stage, write a summary page or Slack message:
composio execute NOTION_QUERY_DATABASE -d '{ "database_id": "..." }'
Summary template
# Pipeline — Week of <date>
Open: <n> deals · $<sum> weighted
By stage: Disco <n>/$<amt> · Eval <n>/$<amt> · Proposal <n>/$<amt>
Moved this week: <list>
Stalled > 21 days: <list>
Guardrails
- Before creating a new deal, query by Account to avoid duplicates.
- Never delete a deal page — set Stage to
Closed Lost with a reason instead.
- If Stage changes to
Closed Won, prompt the user to confirm amount and close date.