Connecting to ServiceDeskPlus
Using OAuth Authentication
ServiceDeskPlus uses Zoho OAuth 2.0 for secure authentication. To set up OAuth access:
- Register your application in the Zoho Developer Console at https://api-console.zoho.com
- Configure your redirect URI to match your application setup
- Note your Client ID and Client Secret from the application settings
After setting the following connection properties, you are ready to connect:
- AuthScheme: Set this to OAuth.
- OAuthClientId: Set this to your Zoho application Client ID.
- OAuthClientSecret: Set this to your Zoho application Client Secret.
- Scope: Set this to the required ServiceDeskPlus permissions (default includes read access to requests, problems, assets, and projects).
- Domain: Set this to your ServiceDeskPlus domain
- Portal: Set this to your ServiceDeskPlus portal
Example Connection String
Profile=C:\profiles\ServiceDeskPlus.apip;ProfileSettings="Portal=itdesk;Domain=.in;Scope=SDPOnDemand.requests.READ SDPOnDemand.problems.READ SDPOnDemand.assets.READ SDPOnDemand.projects.READ";AuthScheme=OAuth;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;
Available Tables
The ServiceDeskPlus API Profile provides comprehensive access to ITSM and asset management data across 50 specialized tables:
- Requests - Access incident and service request tickets with their complete lifecycle information.
- Problems - Query problem management records for identifying and resolving underlying causes of incidents.
- Changes - Retrieve change management records with approval workflows and implementation details.
- Assets - Access comprehensive asset inventory with financial and lifecycle tracking information.
- Projects - Query project management data with timelines, milestones, and resource allocation.
- Solutions - Access knowledge base solutions and documentation for issue resolution.
- Contracts - Query vendor contracts, service agreements, and warranty information.
- PurchaseOrders - Access procurement and purchase order management data.
- Products - Query product catalog with specifications and vendor information.
- ConfigurationItems - Access CMDB configuration item relationships and dependencies.
- Tasks - Retrieve task management data with assignments and completion tracking.
- RequestTasks - Query tasks specifically associated with service requests.
- ChangeTasks - Access tasks related to change implementation and validation.
- ProblemTasks - Query tasks for problem investigation and resolution activities.
- ProjectTasks - Retrieve project task assignments and progress tracking.
- ReleaseTasks - Access release management task coordination and execution.
- Releases - Query software release planning and deployment coordination.
- Milestones - Access project milestones and key delivery checkpoints.
- ProjectMembers - Query project team membership and role assignments.
- RequestNotes - Access communication history and notes for service requests.
- ProblemNotes - Query problem investigation notes and communication logs.
- ChangeNotes - Retrieve change management communication and documentation.
- RequestWorklogs - Access time tracking and effort logs for service requests.
- ProblemWorklogs - Query time logs for problem resolution activities.
- ChangeWorklogs - Retrieve effort tracking for change implementation work.
- Categories - Query request categories for service classification and routing.
- RequestTaskWorklogs - Access time logs specific to request task execution.
- ChangeTaskWorklogs - Query time tracking for individual change task activities.
- ReleaseWorklogs - Retrieve effort logs for release preparation and deployment.
- RequestApprovals - Access approval workflow status and decision history for requests.
- ProblemApprovals - Query approval processes for problem resolution activities.
- ChangeApprovals - Retrieve change approval board decisions and workflow status.
- ReleaseApprovals - Access release approval gates and authorization tracking.
- RequestApprovalLevels - Query multi-tier approval hierarchies for request processing.
- Announcements - Access system announcements and communication broadcasts.
- AnnouncementComments - Query user responses and feedback on announcements.
- Topics - Retrieve discussion topics and knowledge sharing content.
- Unavailability - Access technician availability and resource scheduling data.
- ContractTypes - Query contract classification and template definitions.
- CustomModules - Access custom field definitions and extended data structures.
- Departments - Query organizational departments with hierarchies and contact details.
- Groups - Access user groups with technician assignments and escalation settings.
- Personalization - Retrieve user personalization settings and preferences.
- RequestAttachments - Access file attachments with metadata for service requests.
- RequestConversations - Query conversation history and communication for requests.
- RequestHistory - Retrieve complete audit trail and change history for requests.
- Roles - Query system roles and permission structures.
- Services - Access service catalog items with specifications and classifications.
- Vendors - Query vendor information with contact details and addresses.
- Workflows - Retrieve automated workflows with approval processes and transitions.
Usage Examples
AnnouncementComments:
SELECT * FROM AnnouncementComments WHERE AnnouncementId = 12345
Announcements:
SELECT * FROM Announcements
Assets:
SELECT * FROM Assets
ChangeApprovals:
SELECT * FROM ChangeApprovals WHERE ChangeId = 12345 AND ApprovalLevelId = 67890
ChangeNotes:
SELECT * FROM ChangeNotes WHERE ChangeId = 12345
Changes:
SELECT * FROM Changes
ChangeTasks:
SELECT * FROM ChangeTasks WHERE ChangeId = 12345
ChangeTaskWorklogs:
SELECT * FROM ChangeTaskWorklogs WHERE ChangeId = 12345 AND TaskId = 67890
ChangeWorklogs:
SELECT * FROM ChangeWorklogs WHERE ChangeId = 12345
Categories:
SELECT * FROM Categories WHERE Id = 12345
ConfigurationItems:
SELECT * FROM ConfigurationItems WHERE CiTypeApiName = 'ci_computer'
Contracts:
SELECT * FROM Contracts
ContractTypes:
SELECT * FROM ContractTypes
CustomModules:
SELECT * FROM CustomModules WHERE CustomModuleName = 'custom_client_portal'
Departments:
SELECT * FROM Departments WHERE Id = 12345
Groups:
SELECT * FROM Groups WHERE Id = 12345
Milestones:
SELECT * FROM Milestones WHERE ProjectId = 12345
ProblemApprovals:
SELECT * FROM ProblemApprovals WHERE ProblemId = 12345 AND ApprovalLevelId = 67890
ProblemNotes:
SELECT * FROM ProblemNotes WHERE ProblemId = 12345
Problems:
SELECT * FROM Problems
ProblemTasks:
SELECT * FROM ProblemTasks WHERE ProblemId = 12345
ProblemWorklogs:
SELECT * FROM ProblemWorklogs WHERE ProblemId = 12345
Products:
SELECT * FROM Products
ProjectMembers:
SELECT * FROM ProjectMembers WHERE ProjectId = 12345
Projects:
SELECT * FROM Projects
ProjectTasks:
SELECT * FROM ProjectTasks WHERE ProjectId = 12345
PurchaseOrders:
SELECT * FROM PurchaseOrders
Personalization:
SELECT * FROM Personalization
ReleaseApprovals:
SELECT * FROM ReleaseApprovals WHERE ReleaseId = 12345 AND ApprovalLevelId = 67890
Releases:
SELECT * FROM Releases
ReleaseTasks:
SELECT * FROM ReleaseTasks WHERE ReleaseId = 12345
ReleaseWorklogs:
SELECT * FROM ReleaseWorklogs WHERE ReleaseId = 12345
RequestApprovalLevels:
SELECT * FROM RequestApprovalLevels WHERE RequestId = 12345
RequestApprovals:
SELECT * FROM RequestApprovals WHERE RequestId = 12345 AND ApprovalLevelId = 67890
RequestAttachments:
SELECT * FROM RequestAttachments WHERE RequestId = 12345
RequestConversations:
SELECT * FROM RequestConversations WHERE RequestId = 12345
RequestHistory:
SELECT * FROM RequestHistory WHERE RequestId = 12345
RequestNotes:
SELECT * FROM RequestNotes WHERE RequestId = 12345
Requests:
SELECT * FROM Requests
RequestTasks:
SELECT * FROM RequestTasks WHERE RequestId = 12345
RequestTaskWorklogs:
SELECT * FROM RequestTaskWorklogs WHERE RequestId = 12345 AND TaskId = 67890
RequestWorklogs:
SELECT * FROM RequestWorklogs WHERE RequestId = 12345
Roles:
SELECT * FROM Roles
Services:
SELECT * FROM Services
Solutions:
SELECT * FROM Solutions
Tasks:
SELECT * FROM Tasks
Topics:
SELECT * FROM Topics
Unavailability:
SELECT * FROM Unavailability
Vendors:
SELECT * FROM Vendors WHERE Id = 12345
Workflows:
SELECT * FROM Workflows WHERE Id = 12345
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| AuthScheme | The scheme used for authentication. Accepted entries are OAuth, or None. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT |
| CallbackURL | Identifies the URL users return to after authenticating to API via OAuth (Custom OAuth applications only). |
| Domain | Determines the domain where authentication calls will be sent to. Allowed values are: MIXPANEL, EU.MIXPANEL, IN.MIXPANEL, .COM, .EU, .COM.AU, .IN, COM, EU, COM.AU, IN, .COM.CN, .JP |
| InitiateOAuth | Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working. Allowed values are: OFF, REFRESH, GETANDREFRESH |
| OAuthAccessToken | Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange. |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
| OAuthExpiresIn | Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working. |
| OAuthRefreshToken | Specifies the OAuth refresh token used to request a new access token after the original has expired. |
| OAuthSettingsLocation | Specifies the location of the settings file where OAuth values are saved. |
| OAuthTokenTimestamp | Displays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created. |
| OAuthVerifier | Specifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set. |
| Portal | The ServiceDeskPlus portal identifier for multi-tenant environments. |
| Scope | Scope(s) to use when authenticating, that control access to specific information. |