Suggestions

- Scheduled trigger: We send out suggestions at specific time intervals. On such an interval cycle, we trigger the TechWolf Skill Assistant. The interval can be changed depending on your needs.
- Fetch suggestions: To get those suggestions, we fetch them from our own API. More specifically, from the Suggestions Skill Profile endpoint, for all employees.
-
Format suggestions:
The Skill Assistant first determines which users should receive suggestions
or reminders. The system determines this by checking when each user last
received a suggestion and comparing it against the configured timing
parameters for suggestions and reminders.
The suggestions are then formatted based on the configurations for the
message content. See how the message looks like in the
How It Lookssection. - Send suggestions: We send out the suggestions to the messaging platform.
- Users receive the message: The messaging platform delivers the message to the correct user.
How the Skill Engine API max skills setting affects suggestions
The Skill Engine API uses themax_skills setting to return the top ranked
Skills for an Employee based on their data. This setting does not directly mean
that an Employee will only ever see that number of suggestions over time.
The ranking is based on the Employee Skill Profile and includes Skills that were
already accepted or rejected. The Skill Engine API then filters out already
validated Skills before suggestions are shown in the Skill Assistant.
What happens near the limit
Rejected Skills can still influence the topmax_skills ranking through an
indirect effect. A rejection acts as feedback for the recommendation model and
can change the confidence scores of related Skills. When an Employee is close to
the limit, this recalculation can reorder the Employee Skill Profile and cause a
different Skill to enter the top max_skills.
- The Skill Engine API returns the top
max_skillsSkills from the Employee Skill Profile. - The Employee validates suggestions (for example, accepts 6 and rejects 4).
- The recommendation scores are recalculated based on the new feedback, including the rejection signal, which can change nearby Skill rankings.
- If this recalculation pulls another Skill into the top
max_skills, that Skill can appear as a new suggestion.
What happens when data changes
When new Skill Events are added, probabilities can change and different Skills can enter the topmax_skills ranking. This can create new suggestions for the
Employee.

- New Skill Events are added for the Employee.
- New inferred Skills are scored and compared against the current top
max_skillsranking. - Only the new Skills that enter the top
max_skillsbecome visible suggestions. - Repeating this process over time can lead to more than
max_skillsvalidated Skills on an Employee profile.
Validations

- The user clicks submit on a card, which informs the messaging platform that it should send an update to the TechWolf Skill Assistant.
- The message is received by the Skill Assistant, which receives a list of confirmed and rejected skills.
- The TechWolf Skill Assistant stores this information, such as which skills, but also when and by whom.
- The feedback is sent to the TechWolf API, using the
Employee Skill Profile feedback endpoint
and can be tracked with the
sourcefield as“tw--bot”. To access feedback provided by an employee through the Skill Assistant, use the Employee List Skill Event endpoint withskill_profile_feedbackasevent_type. The resulting Skill Events withsourcefield as“tw--bot”are the feedback events given using the Skill Assistant.
App Home
In addition to our Skill Assistant: We offer an App Home that enables employees to efficiently manage and track their skills. Within the App Home, employees can:- View and Reevaluate Skills: Access their validated and rejected skills for assessment and potential updates.
- Add Missing Skills: Identify and add any skills that may be lacking.
- Self-rate Skill proficiency levels (optional): Update the proficiency level of a Skill.

Linking users through Custom Properties
An important step for the Skill Assistant to work is linking employee profiles in TechWolf to users in the messaging platform. This can be done by setting a Custom Property on the employee profile in TechWolf. The Skill Assistant will then use this Custom Property to link the employee profile to the user in the messaging platform.Data flows
General overview

Components
Slack The Slack environment used by the customer. AWS infrastructure TechWolf utilizes AWS infrastructure to facilitate communication between Slack and the Skill Assistant. This infrastructure comprises:- CloudFront: Processes and routes incoming requests at edge locations, minimizing latency by handling traffic close to its source.
- Lambda at Edge: Processes incoming requests by extracting the Enterprise or Workspace ID and uses DynamoDB to determine the correct Skill Assistant deployment region (EU or US) for routing.
- Global DynamoDB: Maintains a mapping between Enterprise/Workspace IDs and their corresponding deployment regions (EU or US).
Data processing
Types of data that is processed- Skill Suggestions: Automatically inferred skills for an employee, retrieved from the Skill Engine API.
- Skill Feedback: Employee feedback on their suggested skills. Either validating that they have the skills, or rejecting the skills.
- Skill Profile: A list of validated and rejected skills maintained in the Skill Engine API.
- Slack User Data: Employee details retrieved from Slack systems, including name.
| Managed by | Suggestions | Feedback | Skill Profile | Slack User Data | |
|---|---|---|---|---|---|
| Slack | Customer | X | X | X | X |
| AWS: CloudFront | TechWolf | ||||
| AWS: Lambda at Edge | TechWolf | X | X | X | |
| AWS: Global DynamoDB | TechWolf | ||||
| Skill Assistant | TechWolf | X | X | X | X |
Data storage
Overview of Data Storage Locations| Managed by | Suggestions | Feedback | Skill Profile | Slack User Data | |
|---|---|---|---|---|---|
| Slack | Customer | X | X | X | |
| AWS | TechWolf | ||||
| Skill Assistant | TechWolf | X | X | X (No personal identifiable information stored) |
Communication Protocols
All data exchanges occur over REST APIs secured by TLS 1.2 or higher.Suggesting Skills

- Fetch suggestions: On a regular basis, the Skill Assistant will fetch suggestions generated by the API.
- Sending the suggestion: The suggestion is sent by the Skill Assistant to the customer Slack tenant.
- Slack ID, Internal ID, Suggestion
- Slack ID, Suggestion
User Input
User input entails button clicks, messages and App Home interactions.
- User input request: When a user interacts with a suggestion or the App Home, it is sent to CloudFront in the TechWolf AWS instance.
- Routing to Skill Assistant: The request is processed and routed by CloudFront to the Skill Assistant. Only necessary information is retained, and names and email addresses are dropped.
- Execution of request: The Skill Assistant directs the request in proper format to the API, where the request is executed on the customer’s data.
- Response to user: A response, based on the request’s proper execution, is sent back to the concerning Slack user.
- Event Data or Interactivity Data, Feedback, Slack User Data (Contains the name of the user which cannot be dropped from the request.)
- Event Data or Interactivity Data, Feedback, Slack User Data (Contains the name of the user which cannot be dropped from the request.)
- Internal ID, Slack ID, Depending on the event: Feedback, Request suggestions or Skill Profile
- Slack ID, Custom response, Depending on the event: Suggestion or Skill Profile