* feat: remove Revert.dev dependency from Pipedrive integration
- Replace Revert API calls with direct Pipedrive OAuth2 and REST API
- Update OAuth flow to use Pipedrive's authorization endpoint
- Implement token exchange in callback handler
- Map Revert's unified API format to Pipedrive's native API structure
- Remove REVERT_* environment variables from configuration
- Update app config to reflect direct Pipedrive integration
- Follow patterns from other CRM integrations like HubSpot
Breaking change: Requires PIPEDRIVE_CLIENT_ID and PIPEDRIVE_CLIENT_SECRET
environment variables instead of REVERT_* variables
Co-Authored-By: anik@cal.com <adhabal2002@gmail.com>
* feat: implement proper token refresh logic for Pipedrive OAuth
- Add token refresh implementation following Pipedrive OAuth2 specification
- Use proper Basic Auth for token refresh requests
- Handle token refresh errors with appropriate logging
- Update access token and expiry date after successful refresh
- Add note about database credential update requirement
Co-Authored-By: anik@cal.com <adhabal2002@gmail.com>
* feat: add database credential updates for Pipedrive token refresh
- Import updateTokenObjectInDb utility for proper credential management
- Store credentialId in constructor for database updates
- Update token refresh logic to persist refreshed tokens to database
- Follow Cal.com patterns for OAuth credential management
- Ensure tokens are properly updated after successful refresh
Co-Authored-By: anik@cal.com <adhabal2002@gmail.com>
* refactor: use OAuthManager for Pipedrive token management
- Refactor CrmService.ts to use OAuthManager instead of manual token refresh
- Create getPipedriveAppKeys helper function for client credentials
- Update callback.ts to use the new helper function
- Add requestPipedrive helper method for all API calls
- Implement proper token refresh callbacks (isTokenObjectUnusable, isAccessTokenUnusable)
This addresses the review comments from hariom and cubic on PR #22492.
Co-Authored-By: anik@cal.com <adhabal2002@gmail.com>
* fix: validate token endpoint response before storing Pipedrive credentials
Co-Authored-By: unknown <>
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>