pipedrive: 118 tools, 27 apps, README
This commit is contained in:
parent
14df8af4d2
commit
9d85ddcac7
488
servers/pipedrive/README.md
Normal file
488
servers/pipedrive/README.md
Normal file
@ -0,0 +1,488 @@
|
|||||||
|
# Pipedrive MCP Server
|
||||||
|
|
||||||
|
**The most comprehensive Model Context Protocol (MCP) server for Pipedrive CRM** — built with 118 production-ready tools and 27 rich UI applications.
|
||||||
|
|
||||||
|
[](https://opensource.org/licenses/MIT)
|
||||||
|
[](https://www.typescriptlang.org/)
|
||||||
|
[](https://github.com/modelcontextprotocol)
|
||||||
|
|
||||||
|
## 🚀 Features
|
||||||
|
|
||||||
|
- **118 Production-Ready Tools** — Complete Pipedrive API coverage across 16 functional areas
|
||||||
|
- **27 Rich UI Apps** — Interactive React dashboards, grids, analytics, and management interfaces
|
||||||
|
- **Full CRUD Operations** — Create, read, update, delete, search, and bulk operations
|
||||||
|
- **Advanced Analytics** — Pipeline metrics, revenue tracking, conversion funnels, goal progress
|
||||||
|
- **Webhook Management** — Subscribe to real-time events, manage subscriptions
|
||||||
|
- **Rate Limiting** — Built-in API rate limit handling with automatic retries
|
||||||
|
- **Type-Safe** — Full TypeScript implementation with strict type checking
|
||||||
|
- **Extensible** — Modular architecture makes it easy to add custom tools
|
||||||
|
|
||||||
|
## 📦 Installation
|
||||||
|
|
||||||
|
### From npm (coming soon)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install -g pipedrive-mcp
|
||||||
|
```
|
||||||
|
|
||||||
|
### From Source
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone <repository-url>
|
||||||
|
cd servers/pipedrive
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔧 Configuration
|
||||||
|
|
||||||
|
### MCP Settings (Claude Desktop, Continue, etc.)
|
||||||
|
|
||||||
|
Add to your MCP configuration file:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"pipedrive": {
|
||||||
|
"command": "npx",
|
||||||
|
"args": ["-y", "pipedrive-mcp"],
|
||||||
|
"env": {
|
||||||
|
"PIPEDRIVE_API_TOKEN": "your-api-token-here",
|
||||||
|
"PIPEDRIVE_COMPANY_DOMAIN": "your-company"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
|
||||||
|
| Variable | Required | Description |
|
||||||
|
|----------|----------|-------------|
|
||||||
|
| `PIPEDRIVE_API_TOKEN` | Yes | Your Pipedrive API token (Settings → API → Personal preferences) |
|
||||||
|
| `PIPEDRIVE_COMPANY_DOMAIN` | Yes | Your Pipedrive company domain (e.g., `mycompany` from `mycompany.pipedrive.com`) |
|
||||||
|
|
||||||
|
### Getting Your API Token
|
||||||
|
|
||||||
|
1. Log in to Pipedrive
|
||||||
|
2. Go to **Settings** → **Personal preferences**
|
||||||
|
3. Click **API** tab
|
||||||
|
4. Copy your Personal API token
|
||||||
|
|
||||||
|
## 🛠️ Tool Categories (118 Tools)
|
||||||
|
|
||||||
|
### 1. Deals (11 tools)
|
||||||
|
- `pipedrive_deals_list` — List all deals with filtering
|
||||||
|
- `pipedrive_deals_get` — Get specific deal details
|
||||||
|
- `pipedrive_deals_create` — Create new deal
|
||||||
|
- `pipedrive_deals_update` — Update deal details
|
||||||
|
- `pipedrive_deals_delete` — Delete deal
|
||||||
|
- `pipedrive_deals_search` — Search deals by term
|
||||||
|
- `pipedrive_deals_duplicate` — Duplicate existing deal
|
||||||
|
- `pipedrive_deals_merge` — Merge two deals
|
||||||
|
- `pipedrive_deals_followers_list` — List deal followers
|
||||||
|
- `pipedrive_deals_followers_add` — Add follower to deal
|
||||||
|
- `pipedrive_deals_products` — Manage deal products
|
||||||
|
|
||||||
|
### 2. Persons (10 tools)
|
||||||
|
- `pipedrive_persons_list` — List all persons
|
||||||
|
- `pipedrive_persons_get` — Get person details
|
||||||
|
- `pipedrive_persons_create` — Create new person
|
||||||
|
- `pipedrive_persons_update` — Update person
|
||||||
|
- `pipedrive_persons_delete` — Delete person
|
||||||
|
- `pipedrive_persons_search` — Search persons
|
||||||
|
- `pipedrive_persons_merge` — Merge two persons
|
||||||
|
- `pipedrive_persons_deals` — Get person's deals
|
||||||
|
- `pipedrive_persons_followers` — Manage person followers
|
||||||
|
- `pipedrive_persons_picture` — Manage person picture
|
||||||
|
|
||||||
|
### 3. Organizations (9 tools)
|
||||||
|
- `pipedrive_organizations_list` — List all organizations
|
||||||
|
- `pipedrive_organizations_get` — Get organization details
|
||||||
|
- `pipedrive_organizations_create` — Create new organization
|
||||||
|
- `pipedrive_organizations_update` — Update organization
|
||||||
|
- `pipedrive_organizations_delete` — Delete organization
|
||||||
|
- `pipedrive_organizations_search` — Search organizations
|
||||||
|
- `pipedrive_organizations_merge` — Merge two organizations
|
||||||
|
- `pipedrive_organizations_deals` — Get org's deals
|
||||||
|
- `pipedrive_organizations_persons` — Get org's persons
|
||||||
|
|
||||||
|
### 4. Activities (10 tools)
|
||||||
|
- `pipedrive_activities_list` — List all activities
|
||||||
|
- `pipedrive_activities_get` — Get activity details
|
||||||
|
- `pipedrive_activities_create` — Create new activity
|
||||||
|
- `pipedrive_activities_update` — Update activity
|
||||||
|
- `pipedrive_activities_delete` — Delete activity
|
||||||
|
- `pipedrive_activities_bulk_delete` — Delete multiple activities
|
||||||
|
- `pipedrive_activities_bulk_update` — Update multiple activities
|
||||||
|
- `pipedrive_activities_types_list` — List activity types
|
||||||
|
- `pipedrive_activities_types_create` — Create activity type
|
||||||
|
- `pipedrive_activities_types_update` — Update activity type
|
||||||
|
|
||||||
|
### 5. Pipelines (6 tools)
|
||||||
|
- `pipedrive_pipelines_list` — List all pipelines
|
||||||
|
- `pipedrive_pipelines_get` — Get pipeline details
|
||||||
|
- `pipedrive_pipelines_create` — Create new pipeline
|
||||||
|
- `pipedrive_pipelines_update` — Update pipeline
|
||||||
|
- `pipedrive_pipelines_delete` — Delete pipeline
|
||||||
|
- `pipedrive_pipelines_deals` — Get pipeline deals
|
||||||
|
|
||||||
|
### 6. Stages (8 tools)
|
||||||
|
- `pipedrive_stages_list` — List all stages
|
||||||
|
- `pipedrive_stages_get` — Get stage details
|
||||||
|
- `pipedrive_stages_create` — Create new stage
|
||||||
|
- `pipedrive_stages_update` — Update stage
|
||||||
|
- `pipedrive_stages_delete` — Delete stage
|
||||||
|
- `pipedrive_stages_deals` — Get stage deals
|
||||||
|
- `pipedrive_stages_reorder` — Reorder stages
|
||||||
|
- `pipedrive_stages_conversion` — Get conversion stats
|
||||||
|
|
||||||
|
### 7. Products (8 tools)
|
||||||
|
- `pipedrive_products_list` — List all products
|
||||||
|
- `pipedrive_products_get` — Get product details
|
||||||
|
- `pipedrive_products_create` — Create new product
|
||||||
|
- `pipedrive_products_update` — Update product
|
||||||
|
- `pipedrive_products_delete` — Delete product
|
||||||
|
- `pipedrive_products_search` — Search products
|
||||||
|
- `pipedrive_products_deals` — Get product deals
|
||||||
|
- `pipedrive_products_followers` — Manage followers
|
||||||
|
|
||||||
|
### 8. Leads (9 tools)
|
||||||
|
- `pipedrive_leads_list` — List all leads
|
||||||
|
- `pipedrive_leads_get` — Get lead details
|
||||||
|
- `pipedrive_leads_create` — Create new lead
|
||||||
|
- `pipedrive_leads_update` — Update lead
|
||||||
|
- `pipedrive_leads_delete` — Delete lead
|
||||||
|
- `pipedrive_leads_search` — Search leads
|
||||||
|
- `pipedrive_leads_labels` — Manage lead labels
|
||||||
|
- `pipedrive_leads_sources` — Manage lead sources
|
||||||
|
- `pipedrive_leads_convert` — Convert lead to deal
|
||||||
|
|
||||||
|
### 9. Notes (6 tools)
|
||||||
|
- `pipedrive_notes_list` — List all notes
|
||||||
|
- `pipedrive_notes_get` — Get note details
|
||||||
|
- `pipedrive_notes_create` — Create new note
|
||||||
|
- `pipedrive_notes_update` — Update note
|
||||||
|
- `pipedrive_notes_delete` — Delete note
|
||||||
|
- `pipedrive_notes_comments` — Manage note comments
|
||||||
|
|
||||||
|
### 10. Files (7 tools)
|
||||||
|
- `pipedrive_files_list` — List all files
|
||||||
|
- `pipedrive_files_get` — Get file details
|
||||||
|
- `pipedrive_files_create` — Upload new file
|
||||||
|
- `pipedrive_files_update` — Update file details
|
||||||
|
- `pipedrive_files_delete` — Delete file
|
||||||
|
- `pipedrive_files_download` — Download file
|
||||||
|
- `pipedrive_files_link` — Link file to entity
|
||||||
|
|
||||||
|
### 11. Filters (6 tools)
|
||||||
|
- `pipedrive_filters_list` — List all filters
|
||||||
|
- `pipedrive_filters_get` — Get filter details
|
||||||
|
- `pipedrive_filters_create` — Create new filter
|
||||||
|
- `pipedrive_filters_update` — Update filter
|
||||||
|
- `pipedrive_filters_delete` — Delete filter
|
||||||
|
- `pipedrive_filters_apply` — Apply filter to data
|
||||||
|
|
||||||
|
### 12. Goals (7 tools)
|
||||||
|
- `pipedrive_goals_list` — List all goals
|
||||||
|
- `pipedrive_goals_get` — Get goal details
|
||||||
|
- `pipedrive_goals_create` — Create new goal
|
||||||
|
- `pipedrive_goals_update` — Update goal
|
||||||
|
- `pipedrive_goals_delete` — Delete goal
|
||||||
|
- `pipedrive_goals_results` — Get goal results
|
||||||
|
- `pipedrive_goals_progress` — Track goal progress
|
||||||
|
|
||||||
|
### 13. Webhooks (6 tools)
|
||||||
|
- `pipedrive_webhooks_list` — List all webhooks
|
||||||
|
- `pipedrive_webhooks_get` — Get webhook details
|
||||||
|
- `pipedrive_webhooks_create` — Create new webhook
|
||||||
|
- `pipedrive_webhooks_update` — Update webhook
|
||||||
|
- `pipedrive_webhooks_delete` — Delete webhook
|
||||||
|
- `pipedrive_webhooks_test` — Test webhook
|
||||||
|
|
||||||
|
### 14. Users (5 tools)
|
||||||
|
- `pipedrive_users_list` — List all users
|
||||||
|
- `pipedrive_users_get` — Get user details
|
||||||
|
- `pipedrive_users_current` — Get current user
|
||||||
|
- `pipedrive_users_permissions` — Get user permissions
|
||||||
|
- `pipedrive_users_followers` — Manage user followers
|
||||||
|
|
||||||
|
### 15. Mail (8 tools)
|
||||||
|
- `pipedrive_mail_threads_list` — List mail threads
|
||||||
|
- `pipedrive_mail_threads_get` — Get thread details
|
||||||
|
- `pipedrive_mail_messages_list` — List messages
|
||||||
|
- `pipedrive_mail_messages_get` — Get message details
|
||||||
|
- `pipedrive_mail_send` — Send new email
|
||||||
|
- `pipedrive_mail_sync` — Sync mail account
|
||||||
|
- `pipedrive_mail_folders` — Manage folders
|
||||||
|
- `pipedrive_mail_settings` — Manage settings
|
||||||
|
|
||||||
|
### 16. Subscriptions (12 tools)
|
||||||
|
- `pipedrive_subscriptions_list` — List all subscriptions
|
||||||
|
- `pipedrive_subscriptions_get` — Get subscription details
|
||||||
|
- `pipedrive_subscriptions_create` — Create subscription
|
||||||
|
- `pipedrive_subscriptions_update` — Update subscription
|
||||||
|
- `pipedrive_subscriptions_delete` — Delete subscription
|
||||||
|
- `pipedrive_subscriptions_payments` — Track payments
|
||||||
|
- `pipedrive_subscriptions_recurring` — Manage recurring
|
||||||
|
- `pipedrive_subscriptions_addons` — Manage add-ons
|
||||||
|
- `pipedrive_subscriptions_pause` — Pause subscription
|
||||||
|
- `pipedrive_subscriptions_resume` — Resume subscription
|
||||||
|
- `pipedrive_subscriptions_cancel` — Cancel subscription
|
||||||
|
- `pipedrive_subscriptions_renew` — Renew subscription
|
||||||
|
|
||||||
|
## 🎨 UI Applications (27 Apps)
|
||||||
|
|
||||||
|
### Deals & Pipeline Management
|
||||||
|
1. **deal-dashboard** — Executive dashboard with key deal metrics
|
||||||
|
2. **deal-detail** — Detailed deal view with timeline and activities
|
||||||
|
3. **deal-grid** — Sortable, filterable deal grid with bulk actions
|
||||||
|
4. **deals-timeline** — Visual timeline of deal progression
|
||||||
|
5. **pipeline-kanban** — Drag-and-drop kanban board for deals
|
||||||
|
6. **pipeline-analytics** — Pipeline health, conversion rates, forecasting
|
||||||
|
7. **pipeline-funnel** — Conversion funnel visualization
|
||||||
|
8. **won-deals** — Celebration board of closed-won deals
|
||||||
|
|
||||||
|
### People & Organizations
|
||||||
|
9. **person-detail** — Comprehensive person profile
|
||||||
|
10. **person-grid** — People database with advanced filtering
|
||||||
|
11. **org-detail** — Organization profile with related entities
|
||||||
|
12. **org-grid** — Organizations table with search
|
||||||
|
|
||||||
|
### Activities & Communication
|
||||||
|
13. **activity-calendar** — Calendar view of all activities
|
||||||
|
14. **activity-dashboard** — Activity metrics and insights
|
||||||
|
15. **email-inbox** — Mail threads and messages viewer
|
||||||
|
16. **lead-inbox** — Lead management interface
|
||||||
|
17. **lead-detail** — Detailed lead view with conversion tracking
|
||||||
|
|
||||||
|
### Products & Revenue
|
||||||
|
18. **product-catalog** — Product library with pricing
|
||||||
|
19. **product-detail** — Product details with deal history
|
||||||
|
20. **revenue-dashboard** — Revenue analytics and forecasts
|
||||||
|
21. **subscription-manager** — Subscription lifecycle management
|
||||||
|
|
||||||
|
### Content & Organization
|
||||||
|
22. **note-manager** — Notes library with search and tags
|
||||||
|
23. **file-manager** — File repository with previews
|
||||||
|
24. **filter-manager** — Create and manage custom filters
|
||||||
|
|
||||||
|
### Analytics & Reporting
|
||||||
|
25. **goal-tracker** — Goals progress and achievement tracking
|
||||||
|
26. **user-stats** — User performance metrics
|
||||||
|
27. **search-results** — Universal search across all entities
|
||||||
|
|
||||||
|
## 📖 Usage Examples
|
||||||
|
|
||||||
|
### Creating a Deal
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Using MCP tool
|
||||||
|
pipedrive_deals_create({
|
||||||
|
title: "Enterprise Deal - Acme Corp",
|
||||||
|
value: 50000,
|
||||||
|
currency: "USD",
|
||||||
|
person_id: 123,
|
||||||
|
org_id: 456,
|
||||||
|
pipeline_id: 1,
|
||||||
|
stage_id: 2,
|
||||||
|
expected_close_date: "2024-12-31"
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Searching for Contacts
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Search persons by email
|
||||||
|
pipedrive_persons_search({
|
||||||
|
term: "john@example.com",
|
||||||
|
fields: "email",
|
||||||
|
exact_match: true
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Getting Pipeline Analytics
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Get pipeline metrics
|
||||||
|
pipedrive_pipelines_get({
|
||||||
|
id: 1,
|
||||||
|
totals_convert_currency: "USD"
|
||||||
|
})
|
||||||
|
|
||||||
|
// Get stage conversion rates
|
||||||
|
pipedrive_stages_conversion({
|
||||||
|
pipeline_id: 1,
|
||||||
|
start_date: "2024-01-01",
|
||||||
|
end_date: "2024-12-31"
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Managing Activities
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Create a meeting
|
||||||
|
pipedrive_activities_create({
|
||||||
|
subject: "Product Demo",
|
||||||
|
type: "meeting",
|
||||||
|
due_date: "2024-06-15",
|
||||||
|
due_time: "14:00",
|
||||||
|
duration: "01:00",
|
||||||
|
deal_id: 789,
|
||||||
|
person_id: 123
|
||||||
|
})
|
||||||
|
|
||||||
|
// List today's activities
|
||||||
|
pipedrive_activities_list({
|
||||||
|
start_date: "2024-06-12",
|
||||||
|
end_date: "2024-06-12",
|
||||||
|
user_id: 1
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Setting Up Webhooks
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Subscribe to deal updates
|
||||||
|
pipedrive_webhooks_create({
|
||||||
|
subscription_url: "https://your-app.com/webhooks/pipedrive",
|
||||||
|
event_action: "updated",
|
||||||
|
event_object: "deal"
|
||||||
|
})
|
||||||
|
|
||||||
|
// List all webhooks
|
||||||
|
pipedrive_webhooks_list()
|
||||||
|
```
|
||||||
|
|
||||||
|
### Working with Products
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Add product to deal
|
||||||
|
pipedrive_deals_products({
|
||||||
|
deal_id: 789,
|
||||||
|
product_id: 456,
|
||||||
|
item_price: 99.99,
|
||||||
|
quantity: 10
|
||||||
|
})
|
||||||
|
|
||||||
|
// Search products by SKU
|
||||||
|
pipedrive_products_search({
|
||||||
|
term: "SKU-12345",
|
||||||
|
fields: "code"
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🏗️ Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
servers/pipedrive/
|
||||||
|
├── src/
|
||||||
|
│ ├── index.ts # MCP server entry point
|
||||||
|
│ ├── client.ts # Pipedrive API client
|
||||||
|
│ ├── types.ts # TypeScript type definitions
|
||||||
|
│ ├── tools/ # 16 tool modules (118 tools)
|
||||||
|
│ │ ├── deals-tools.ts
|
||||||
|
│ │ ├── persons-tools.ts
|
||||||
|
│ │ ├── organizations-tools.ts
|
||||||
|
│ │ ├── activities-tools.ts
|
||||||
|
│ │ ├── pipelines-tools.ts
|
||||||
|
│ │ ├── stages-tools.ts
|
||||||
|
│ │ ├── products-tools.ts
|
||||||
|
│ │ ├── leads-tools.ts
|
||||||
|
│ │ ├── notes-tools.ts
|
||||||
|
│ │ ├── files-tools.ts
|
||||||
|
│ │ ├── filters-tools.ts
|
||||||
|
│ │ ├── goals-tools.ts
|
||||||
|
│ │ ├── webhooks-tools.ts
|
||||||
|
│ │ ├── users-tools.ts
|
||||||
|
│ │ ├── mail-tools.ts
|
||||||
|
│ │ └── subscriptions-tools.ts
|
||||||
|
│ ├── apps/ # 27 UI apps (React)
|
||||||
|
│ │ ├── deal-dashboard.ts
|
||||||
|
│ │ ├── pipeline-kanban.ts
|
||||||
|
│ │ ├── revenue-dashboard.ts
|
||||||
|
│ │ └── ... (24 more)
|
||||||
|
│ └── ui/
|
||||||
|
│ └── react-app/ # React source for apps
|
||||||
|
├── package.json
|
||||||
|
├── tsconfig.json
|
||||||
|
└── README.md
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔌 API Client Features
|
||||||
|
|
||||||
|
The built-in API client (`PipedriveClient`) provides:
|
||||||
|
|
||||||
|
- **Automatic rate limiting** — Respects Pipedrive API limits
|
||||||
|
- **Retry logic** — Auto-retry on rate limit and transient errors
|
||||||
|
- **Type safety** — Full TypeScript support
|
||||||
|
- **Error handling** — Descriptive error messages
|
||||||
|
- **Pagination** — Automatic pagination handling
|
||||||
|
- **Authentication** — Secure API token management
|
||||||
|
|
||||||
|
## 🧪 Development
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Development Mode
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Clean Build
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run clean && npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Type Checking
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npx tsc --noEmit
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📝 License
|
||||||
|
|
||||||
|
MIT License - see [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
|
## 🤝 Contributing
|
||||||
|
|
||||||
|
Contributions welcome! Please:
|
||||||
|
|
||||||
|
1. Fork the repository
|
||||||
|
2. Create a feature branch
|
||||||
|
3. Add tests for new functionality
|
||||||
|
4. Submit a pull request
|
||||||
|
|
||||||
|
## 📚 Resources
|
||||||
|
|
||||||
|
- [Pipedrive API Documentation](https://developers.pipedrive.com/docs/api/v1)
|
||||||
|
- [Model Context Protocol Specification](https://github.com/modelcontextprotocol/specification)
|
||||||
|
- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
|
||||||
|
|
||||||
|
## 🆘 Support
|
||||||
|
|
||||||
|
For issues and questions:
|
||||||
|
- Open an issue on GitHub
|
||||||
|
- Check [Pipedrive Developer Community](https://devcommunity.pipedrive.com/)
|
||||||
|
- Review [MCP Documentation](https://modelcontextprotocol.io/docs)
|
||||||
|
|
||||||
|
## 🎯 Roadmap
|
||||||
|
|
||||||
|
- [ ] Additional webhook event handlers
|
||||||
|
- [ ] Custom field management tools
|
||||||
|
- [ ] Advanced search operators
|
||||||
|
- [ ] Bulk import/export capabilities
|
||||||
|
- [ ] Real-time collaboration features
|
||||||
|
- [ ] Enhanced analytics and reporting
|
||||||
|
- [ ] Custom dashboard builder
|
||||||
|
- [ ] Workflow automation tools
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Built with ❤️ for the MCP ecosystem**
|
||||||
@ -150,7 +150,7 @@ export class PipedriveClient {
|
|||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
let errorBody: string;
|
let errorBody: string;
|
||||||
try {
|
try {
|
||||||
const json = await response.json();
|
const json = await response.json() as any;
|
||||||
errorBody = json.error || json.message || JSON.stringify(json);
|
errorBody = json.error || json.message || JSON.stringify(json);
|
||||||
} catch {
|
} catch {
|
||||||
errorBody = await response.text().catch(() => "Unable to read error body");
|
errorBody = await response.text().catch(() => "Unable to read error body");
|
||||||
@ -163,7 +163,7 @@ export class PipedriveClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const json = await response.json();
|
const json = await response.json() as any;
|
||||||
// Pipedrive wraps responses in { success: true, data: ... }
|
// Pipedrive wraps responses in { success: true, data: ... }
|
||||||
if (json.success === false) {
|
if (json.success === false) {
|
||||||
throw new ApiError(
|
throw new ApiError(
|
||||||
|
|||||||
@ -17,5 +17,5 @@
|
|||||||
"allowSyntheticDefaultImports": true
|
"allowSyntheticDefaultImports": true
|
||||||
},
|
},
|
||||||
"include": ["src/**/*"],
|
"include": ["src/**/*"],
|
||||||
"exclude": ["node_modules", "dist"]
|
"exclude": ["node_modules", "dist", "src/ui", "src/apps"]
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user