delete_case_follower
Remove a user from following a case to stop their notifications and updates about that case.
Instructions
Remove a follower from a case, ending their subscription to case notifications and updates. Removes the follower association between case and user.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| caseID | Yes | Case ID. Example: "MYORG-APP-WORK C-1001". Complete identifier including spaces."OSIEO3-DOCSAPP-WORK T-561003". a complete case identifier including spaces and special characters. | |
| followerID | Yes | User ID of the follower to remove from the case. This is the unique identifier for the user in the Pega system who will no longer follow the case. | |
| sessionCredentials | No | Optional session-specific credentials. If not provided, uses environment variables. Supports two authentication modes: (1) OAuth mode - provide baseUrl, clientId, and clientSecret, or (2) Token mode - provide baseUrl and accessToken. |
Implementation Reference
- The execute method of DeleteCaseFollowerTool class that implements the tool's core logic: validates parameters, initializes session, and calls pegaClient.deleteCaseFollower with error handling.async execute(params) { const { caseID, followerID } = params; let sessionInfo = null; try { sessionInfo = this.initializeSessionConfig(params); // Validate required parameters using base class const requiredValidation = this.validateRequiredParams(params, ['caseID', 'followerID']); if (requiredValidation) { return requiredValidation; } // Execute with standardized error handling return await this.executeWithErrorHandling( `Delete Case Follower: ${caseID} - ${followerID}`, async () => await this.pegaClient.deleteCaseFollower(caseID.trim(), followerID.trim()), { sessionInfo } ); } catch (error) { return { content: [{ type: 'text', text: `## Error: Delete Case Follower: ${caseID} - ${followerID}\n\n**Unexpected Error**: ${error.message}\n\n${sessionInfo ? `**Session**: ${sessionInfo.sessionId} (${sessionInfo.authMode} mode)\n` : ''}*Error occurred at: ${new Date().toISOString()}*` }] }; } }
- Static getDefinition method providing the tool name, description, and input schema validation for the delete_case_follower tool.return { name: 'delete_case_follower', description: 'Remove a follower from a case, ending their subscription to case notifications and updates. Removes the follower association between case and user.', inputSchema: { type: 'object', properties: { caseID: { type: 'string', description: 'Case ID. Example: "MYORG-APP-WORK C-1001". Complete identifier including spaces."OSIEO3-DOCSAPP-WORK T-561003". a complete case identifier including spaces and special characters.' }, followerID: { type: 'string', description: 'User ID of the follower to remove from the case. This is the unique identifier for the user in the Pega system who will no longer follow the case.' }, sessionCredentials: getSessionCredentialsSchema() }, required: ['caseID', 'followerID'] } }; }
- src/api/pega-client.js:777-782 (helper)PegaClient method that checks if the followers feature is available and delegates the deleteCaseFollower call to the underlying SDK client.async deleteCaseFollower(caseID, followerID) { if (!this.isFeatureAvailable('followers')) { this.throwUnsupportedFeatureError('followers', 'deleteCaseFollower'); } return this.client.deleteCaseFollower(caseID, followerID); }