Service Account Configuration Guide
Complete guide for configuring Service Accounts in Moveworks Setup with channel_id_info and itsm_id_info for all systems.
Overview
A service account is required for Moveworks to function properly. Without a configured service account, the user roster cannot be ingested, and the bot cannot perform automated actions on behalf of the system.
Purpose:
- User Roster Ingestion: Service Account / Bot User must be present for the User Identity Flow to execute successfully
- Automated Actions: Enables the bot to create tickets, submit requests, and perform other actions in connected systems
- System Integration: Links the bot’s identity across chat platforms (Teams/Slack), ITSM systems (ServiceNow/Jira), and identity providers (Okta/Azure AD)
What This Configuration Does:
The service account configuration maps the bot’s identity across all integrated systems using channel_id_info (chat platforms) and user_itsm_id_info (ITSM systems). This allows Moveworks to operate as a unified bot identity across your entire stack.
Complete Configuration Example
Note: This example includes inline comments for documentation purposes. When creating your actual configuration in Moveworks Setup, remove the comments & sections not relevant to your tech stack.
How to Use API Playground
- Navigate to Setup → Manage Connectors → System Connectors
- Find the connector for your system (e.g., “MS Teams”, “Slack”, “ServiceNow”)
- Click “Test in API Playground”
- Enter the API endpoint and parameters from the configuration example above
- Copy the response values into your service account configuration
Note: API Playground handles authentication automatically through your configured connector.
API Quick Reference
Chat Systems
ITSM Systems
Field Descriptions
channel_id_info Fields
user_itsm_id_info Fields
Common Issues
Cannot find service account in API
- Try different search fields (email vs username vs UPN)
- Verify account exists and is active
- Check connector permissions
- For ServiceNow, try:
sysparm_query=email={email}orsysparm_query=user_name={username}^active=true
MS Teams - Where to find Microsoft App ID
- Go to Setup → Manage Connectors → System Connectors
- Find your MS Teams connector
- The Microsoft App ID is displayed in the connector configuration
- Format for service account:
"28:{microsoft_app_id}" - If installed from MS App Store: Use
"28:b8ec4e1a-e05a-49d0-ba3a-05119b8b62c0"
Slack - Getting user_id and team_id
- Use API Playground with your Slack connector
- Call
/api/auth.testendpoint - Response includes both
user_id(starts withU) andteam(team_id, starts withT) - Format:
"{user_id}:{team_id}"(e.g.,"U01ABC123:T01ABC123")
Jira displayName needs splitting
- Parse
displayName(e.g., “Moveworks Bot”) into first/last name - Example:
firstName = displayName.split(" ")[0],lastName = displayName.split(" ").slice(1).join(" ")
Multiple users returned from ITSM search
- Add
sysparm_limit=1(ServiceNow) or use exact match filters - Use unique identifiers (email) instead of partial names
Best Practices
- Test in API Playground first - Verify response format before configuring
- Use descriptive integration_ids - For multi-tenant:
msteams_commercial,msteams_gcch,slack_main - Document multi-instance setups - Add inline comments for each tenant/workspace
- Validate after configuring - Setup → User Identity → View Users → search for service account
Notes
- MS Teams format:
user_channel_idis"28:{microsoft_app_id}"from connector settings, or"28:b8ec4e1a-e05a-49d0-ba3a-05119b8b62c0"if installed from MS App Store - Slack format:
user_channel_idis"{user_id}:{team_id}"from/api/auth.test(e.g.,"U01ABC123:T01ABC123") - Web Chat format:
user_channel_idis the service account email address - ITSM ID formats: ServiceNow (32-char hex), Jira (accountId), Salesforce (18-char), FreshService (numeric), ManageEngine (string)
Document Version: 4.0 Last Updated: 2025-01-21