Brief Overview
Allow external services to create, edit, delete, or use existing WalkMe segments data. This integration enables automated content segmentation, advanced filtering in Insights, and streamlined reporting.
For example: Use Heap Analytics to create a new segment and show a ShoutOut based on that segmentation logic.
Enabled feature
This is an enabled feature. To request access, submit a request through the appropriate support channel:
- WalkMe customers: In the Support Portal, select Enable or configure a WalkMe feature and include Segments API in the description
- SAP customers: In ServiceNow, select the WalkMe Admin Center Features ticket component and include Segments API in the description
Authentication Access Tokens
An access token is a credential used by an application to access an API. It informs the system that the bearer is authorized to perform specific actions, such as passing data from an external system to the WalkMe Menu.
Create access token
- Go to the Admin Center
- Open the API Keys page
- Select Create new Key
- In the Create new key panel:
- Name the key (indicate its purpose to help you remember later)
- Turn on Segments API
- Select Write and Read from the dropdown
- Select Create
- In the Key Details panel, copy the Client ID and the Client Secret
Save the Client Secret
You will not see the Secret again. Save it in a secure, accessible location immediately
Configuring the API Connection
Use the following universally necessary information to configure your connection application:
- URL: https://api.walkme.com/accounts/connect/token
- Method: POST
- Payload Type: application/x-www-form-urlencoded
- Data: grant_type client_credentials
- Basic Authentication: Enter the Client ID and Client Secret copied from the Admin Center
Once you have added this information, the system will generate an access token.
- Copy your Access Token
- Use this token to manage segments
cURL request example
curl --location --request POST 'https://api.walkme.com/accounts/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <credentials>' \
--data-urlencode 'grant_type=client_credentials'
# <credentials> is the base64 encoding of the consumer key and consumer secrect of the WalkMe account joined by a colon.
{ "access_token": "asdjkldfsjsdfhjksfdhjkxvc32cvhjhjksefbnxjnweuirou8sdfg8xdfjwkjr.sv8o8vuisuhvseuksfe",
"expires_in": 86400,
"token_type": "Bearer",
"scope": "segments:write segments:read"
}
Endpoint Reference
Create segment
Create a new segment based on a static list of users.
- Method: POST
- URL: https://api.walkme.com/public/v1/user/system/{systemGuid}/segment
- Headers: Authorization: Bearer <Access Token>
- URL Parameters: systemGuid (found in the WalkMe Editor in the Snippet)
- Payload / Body: {"id": "<external id>", "name": "<WalkMe Segment Name>", "userIds": ["user1@company.com", "user2@company.com"]}
- Limitations:
- Maximum 25,000 users per request
- Maximum 100 characters per ID value
Update segment
Modify users within an existing segment.
- Method: PUT
- URL: https://api.walkme.com/public/v1/user/system/{systemGuid}/segment/{segmentGuid}
- Headers: Authorization: Bearer <Access Token>
- URL Parameters:
- systemGuid: WalkMe system GUID
- segmentGuid: The specific segment GUID (must include hyphens, for example: 12345aeb-123c-4d83-8b38-a5a456789d0a)
- Payload Parameters:
- userIds: List of IDs to modify (limit 25,000)
- action: Specify add, remove, or override
- Payload Example: {"action": "add", "userIds": ["jane.doe@walkme.com"]}
{ "action": <enum("add"|"remove"|"override")>, "userIds": [<string>] }
Get segments
Retrieve a list of existing segments.
- Method: GET
- URL: https://api.walkme.com/public/v1/user/system/{systemGuid}/segment
- Headers: Authorization: Bearer <Access Token>
- URL Parameters: systemGuid
Delete segments
Permanently remove a segment.
- Method: DELETE
- URL: https://api.walkme.com/public/v1/user/system/{systemGuid}/segment/{segmentId}
- Headers: Authorization: Bearer <Access Token>
- URL Parameters: segmentId (the ID of the target segment)
DELETE <a target="_blank" data-stringify-link="https://api.walkme.com/public/v1/user/system/{systemGuid}/segment/{segmentId}" delay="150" data-sk="tooltip_parent" href="https://api.walkme.com/public/v1/user/system/%7BsystemGuid%7D/segment/%7BsegmentId%7D" rel="noopener noreferrer">https://api.walkme.com/public/v1/user/system/{systemGuid}/segment/{segmentId}</a>
Technical Notes
- It takes up to 10 minutes for a new segment to appear in the Editor Condition Builder
- To use your segment, open the Condition Builder and select User Attributes, then External-Segment, then your Segment Name
- Use only Is or Is not as the operator and type True in the input field

- WalkMe currently does not display users that were synced as part of this integration