Suggestions

Suggestions
  1. 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.
  2. Fetch suggestions: To get those suggestions, we fetch them from our own API. More specifically, from the Suggestions Skill Profile endpoint, for all employees.
  3. 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 Looks section.
  4. Send suggestions: We send out the suggestions to the messaging platform.
  5. Users receive the message: The messaging platform delivers the message to the correct user.

Validations

Validations
  1. The user clicks submit on a card, which informs the messaging platform that it should send an update to the TechWolf Skill Assistant.
  2. The message is received by the Skill Assistant, which receives a list of confirmed and rejected skills.
  3. The TechWolf Skill Assistant stores this information, such as which skills, but also when and by whom.
  4. The feedback is sent to the TechWolf API, using the Employee Skill Profile feedback endpoint and can be tracked with the source field as “tw--bot”. To access feedback provided by an employee through the Skill Assistant, use the Employee List Skill Event endpoint with skill_profile_feedback as event_type. The resulting Skill Events with source field as “tw--bot” are the feedback events given using the Skill Assistant.

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

Data Flow 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).
Skill Assistant TechWolf’s backend system responsible for generating skill suggestions and processing feedback. Skill Engine API The main TechWolf product. Handles skill-related data processing and integration.

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.
  • Slack User Data: Employee details retrieved from Slack systems, including name.
Data Processing Overview
Managed bySuggestionsFeedbackSlack User Data
SlackCustomerXXX
AWS: CloudFrontTechWolf
AWS: Lambda at EdgeTechWolfXX
AWS: Global DynamoDBTechWolf
Skill AssistantTechWolfXXX

Data storage

Overview of Data Storage Locations
Managed bySuggestionsFeedbackSlack User Data
SlackCustomerXXX
AWSTechWolf
Skill AssistantTechWolfXXX (No personal identifiable information stored)

Communication Protocols

All data exchanges occur over REST APIs secured by TLS 1.2 or higher.

Suggesting Skills

Suggesting Skills Process
  1. Fetch suggestions: On a regular basis, the Skill Assistant will fetch suggestions generated by the API.
  2. Sending the suggestion: The suggestion is sent by the Skill Assistant to the customer Slack tenant.
Data Involved
  1. Slack ID, Internal ID, Suggestion
  2. Slack ID, Suggestion

User Input

User input entails button clicks and messages. User Input
  1. User input request: When a user interacts with a suggestion, it is sent to CloudFront in the TechWolf AWS instance.
  2. 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.
  3. 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.
  4. Response to user: A response, based on the request’s proper execution, is sent back to the concerning Slack user.
Data Involved
  1. Event Data or Interactivity Data, Feedback, Slack User Data (Contains the name of the user which cannot be dropped from the request.)
  2. Event Data or Interactivity Data, Feedback, Slack User Data (Contains the name of the user which cannot be dropped from the request.)
  3. Internal ID, Slack ID, Depending on the event: Feedback or Request suggestions
  4. Slack ID, Custom response, Suggestion