{"kind":"Skill","metadata":{"namespace":"community","name":"capsule-crm-automation","version":"0.1.0"},"spec":{"description":"Automate Capsule CRM operations -- manage contacts (parties), run structured filter queries, track tasks and projects, log entries, and handle organizations -- using natural language through the Composio MCP integration.","files":{"SKILL.md":"---\nname: Capsule CRM Automation\ndescription: \"Automate Capsule CRM operations -- manage contacts (parties), run structured filter queries, track tasks and projects, log entries, and handle organizations -- using natural language through the Composio MCP integration.\"\ncategory: crm\nrequires:\n  mcp:\n    - rube\n---\n\n# Capsule CRM Automation\n\nManage your Capsule CRM -- create and update contacts, run powerful filter queries on parties/opportunities/cases, track tasks and projects, browse activity entries, and organize team relationships -- all through natural language commands.\n\n**Toolkit docs:** [composio.dev/toolkits/capsule_crm](https://composio.dev/toolkits/capsule_crm)\n\n---\n\n## Setup\n\n1. Add the Composio MCP server to your client configuration:\n   ```\n   https://rube.app/mcp\n   ```\n2. Connect your Capsule CRM account when prompted (OAuth authentication).\n3. Start issuing natural language commands to manage your CRM.\n\n---\n\n## Core Workflows\n\n### 1. Run Structured Filter Queries\nQuery parties, opportunities, or cases (projects) with multiple filter conditions, operators, and sorting.\n\n**Tool:** `CAPSULE_CRM_RUN_FILTER_QUERY`\n\n**Example prompt:**\n\u003e \"Find all Capsule CRM contacts in California tagged as 'VIP' sorted by name\"\n\n**Key parameters:**\n- `entity` (required) -- One of: `parties`, `opportunities`, `kases`\n- `filter` (required) -- Filter object with:\n  - `conditions` -- Array of conditions, each with:\n    - `field` -- Field name (e.g., \"name\", \"email\", \"state\", \"country\", \"tag\", \"owner\", \"jobTitle\", \"addedOn\")\n    - `operator` -- One of: \"is\", \"is not\", \"starts with\", \"ends with\", \"contains\", \"is greater than\", \"is less than\", \"is after\", \"is before\", \"is older than\", \"is within last\", \"is within next\"\n    - `value` -- Value to compare against\n  - `orderBy` -- Array of sort objects with `field` and `direction` (\"ascending\"/\"descending\")\n- `embed` -- Additional data to include in response\n- `page` / `perPage` -- Pagination (max 100 per page)\n\n**Important field notes:**\n- Address fields (`city`, `state`, `country`, `zip`) are top-level, NOT nested under \"address\"\n- Country must be an ISO 3166-1 alpha-2 code (e.g., \"US\", \"GB\", \"CA\")\n- Custom fields use `custom:{fieldId}` format\n- Organization fields use `org.` prefix (e.g., `org.name`, `org.tag`)\n\n---\n\n### 2. List and Manage Contacts (Parties)\nRetrieve all contacts with optional filtering by modification date and embedded related data.\n\n**Tool:** `CAPSULE_CRM_LIST_PARTIES`\n\n**Example prompt:**\n\u003e \"List all Capsule CRM contacts modified since January 2025 with their tags and organizations\"\n\n**Key parameters:**\n- `since` -- ISO8601 date to filter contacts changed after this date\n- `embed` -- Additional data: \"tags\", \"fields\", \"organisation\", \"missingImportantFields\"\n- `page` / `perPage` -- Pagination (max 100 per page, default 50)\n\n---\n\n### 3. Create New Contacts\nAdd people or organizations to your Capsule CRM with full details including emails, phones, addresses, tags, and custom fields.\n\n**Tool:** `CAPSULE_CRM_CREATE_PARTY`\n\n**Example prompt:**\n\u003e \"Create a new person in Capsule CRM: John Smith, VP of Sales at Acme Corp, john@acme.com\"\n\n**Key parameters:**\n- `type` (required) -- \"person\" or \"organisation\"\n- For persons: `firstName`, `lastName`, `jobTitle`, `title`\n- For organisations: `name`\n- `emailAddresses` -- Array of `{address, type}` objects\n- `phoneNumbers` -- Array of `{number, type}` objects\n- `addresses` -- Array of address objects with `street`, `city`, `state`, `country`, `zip`, `type` (Home/Postal/Office/Billing/Shipping)\n- `organisation` -- Link to org by `{id}` or `{name}` (creates if not found)\n- `tags` -- Array of tags by `{name}` or `{id}`\n- `fields` -- Custom field values with `{definition, value}`\n- `websites` -- Array of `{address, service, type}` objects\n- `owner` -- Assign owner user `{id}`\n\n---\n\n### 4. Update Existing Contacts\nModify any aspect of a party record including adding/removing emails, phones, tags, and custom fields.\n\n**Tool:** `CAPSULE_CRM_UPDATE_PARTY`\n\n**Example prompt:**\n\u003e \"Update Capsule CRM party 11587: add a work email john.new@acme.com and remove tag 'prospect'\"\n\n**Key parameters:**\n- `partyId` (required) -- Integer ID of the party to update\n- `party` (required) -- Object with fields to update. Supports:\n  - All creation fields (name, emails, phones, addresses, etc.)\n  - `_delete: true` on sub-items to remove them (requires the item's `id`)\n  - Tags: add by `{name}` or remove with `{id, _delete: true}`\n\n---\n\n### 5. Track Tasks\nList tasks with filtering by status and embedded related data.\n\n**Tool:** `CAPSULE_CRM_LIST_TASKS`\n\n**Example prompt:**\n\u003e \"Show all open tasks in Capsule CRM with their linked parties and owners\"\n\n**Key parameters:**\n- `status` -- Filter by status: \"open\", \"completed\", \"pending\" (array)\n- `embed` -- Additional data: \"party\", \"opportunity\", \"kase\", \"owner\", \"nextTask\"\n- `page` / `perPage` -- Pagination (max 100 per page, default 50)\n\n---\n\n### 6. Browse Projects and Activity Entries\nList projects (cases) and recent activity entries including notes, emails, and completed tasks.\n\n**Tools:** `CAPSULE_CRM_LIST_PROJECTS`, `CAPSULE_CRM_LIST_ENTRIES_BY_DATE`\n\n**Example prompt:**\n\u003e \"Show all open projects in Capsule CRM\" / \"Show recent activity entries with party details\"\n\n**Key parameters for projects:**\n- `status` -- Filter by \"OPEN\" or \"CLOSED\"\n- `search` -- Search term for project names/descriptions\n- `since` -- ISO8601 date for modifications after this date\n- `embed` -- \"tags,fields,party,opportunity,missingImportantFields\"\n\n**Key parameters for entries:**\n- `embed` -- \"party\", \"kase\", \"opportunity\", \"creator\", \"activityType\"\n- `page` / `perPage` -- Pagination (max 100 per page)\n\n---\n\n## Known Pitfalls\n\n- **Address fields are top-level**: When filtering, use `state`, `city`, `country`, `zip` directly -- NOT `address.state` or nested syntax.\n- **Country codes are ISO alpha-2**: Filter by \"US\", \"GB\", \"CA\" -- not \"United States\" or \"United Kingdom\".\n- **Custom fields use special syntax**: Reference custom fields as `custom:{fieldId}` in filter conditions. For org-level custom fields, use `org.custom:{fieldId}`.\n- **Projects are called \"kases\" in the API**: Despite being \"projects\" in the UI, the API entity type is `kases`. Use `kases` in filter queries.\n- **Delete operations require item IDs**: When updating a party to remove sub-items (emails, phones, tags), you must include the item's `id` along with `_delete: true`. List the party first to get sub-item IDs.\n- **Pagination defaults to 50**: All list endpoints default to 50 items per page with a max of 100. Always implement pagination for complete data retrieval.\n- **Embed values vary by entity**: Not all embed options work for all entities. Check the documentation for supported embed values per endpoint.\n\n---\n\n## Quick Reference\n\n| Action | Tool Slug | Required Params |\n|---|---|---|\n| Run filter query | `CAPSULE_CRM_RUN_FILTER_QUERY` | `entity`, `filter` |\n| List contacts | `CAPSULE_CRM_LIST_PARTIES` | None (optional filters) |\n| Create contact | `CAPSULE_CRM_CREATE_PARTY` | `type` |\n| Update contact | `CAPSULE_CRM_UPDATE_PARTY` | `partyId`, `party` |\n| Delete contact | `CAPSULE_CRM_DELETE_PARTY` | `party_id` |\n| List tasks | `CAPSULE_CRM_LIST_TASKS` | None (optional filters) |\n| List projects | `CAPSULE_CRM_LIST_PROJECTS` | None (optional filters) |\n| List activity entries | `CAPSULE_CRM_LIST_ENTRIES_BY_DATE` | None (optional filters) |\n| List org employees | `CAPSULE_CRM_LIST_ORG_EMPLOYEES` | Organisation ID |\n| List deleted opportunities | `CAPSULE_CRM_LIST_DELETED_OPPORTUNITIES` | `since` |\n\n---\n\n*Powered by [Composio](https://composio.dev)*\n"},"import":{"commit_sha":"f2b5e29bc315f04c8e09591ba275f4c4f7d4b8fe","imported_at":"2026-05-18T20:07:47Z","license_text":"","owner":"ComposioHQ","repo":"ComposioHQ/awesome-claude-skills","source_url":"https://github.com/ComposioHQ/awesome-claude-skills/tree/f2b5e29bc315f04c8e09591ba275f4c4f7d4b8fe/composio-skills/capsule-crm-automation"}},"content_hash":[188,234,221,167,66,239,249,111,134,25,151,32,77,38,41,105,160,137,166,94,29,230,45,21,134,168,4,51,128,104,67,69],"trust_level":"unsigned","yanked":false}
