Data store - OfficeDev/microsoft-teams-apps-newemployeeonboarding GitHub Wiki
The app uses the following data store: All these resources are created in your Azure subscription. None are hosted directly by Microsoft.
- Azure Storage Account
- [TeamConfigurationEntity] to store the teams that have the app installed.
- [UserConfigurationEntity] to store that have the app installed, either personal scope or they are members of team.
- [NewHireIntroductionEntity] to store data which is posted by the new hire.
- [FeedbackEntity] to store feedback data which is posted by the new hire.
Storage account tables
1. TeamConfigurationEntity The table has following rows:
Attribute | Comment |
---|---|
PartitionKey | Conversation Id of Team Channel [TeamId]. |
RowKey | Conversation Id of Team Channel [TeamId]. |
TimeStamp | Timestamp of actual record insertion (Done by Azure). |
TeamId | Team Id where bot is installed. |
Name | Team display name. |
ServiceUrl | Service URL for the tenant. |
AadGroupId | Unique Group Id of team. |
InstalledByAadObjectId | AadObjectId of Admin/HR who installed the bot. |
2. UserConfigurationEntity The table has following rows:
Attribute | Comment |
---|---|
PartitionKey | AadObjectId of the User. |
RowKey | AadObjectId of the User. |
TimeStamp | Timestamp of actual record insertion (Done by Azure). |
AadObjectId | AadObjectId of user who installed app. |
ConversationId | Thread ID of the 1:1 conversation between the bot and the user. |
BotInstalledOn | Date and time when user installed the bot. |
UserProfileImageUrl | User profile image URL. |
ServiceUrl | Service URL for the tenant. |
UserRole | Role of the user. e.g. NewHire, HiringManager |
OptedIn | Value indicating whether the user is opted in to pair-ups. |
Name | Name of the user. |
UserPrincipalName | Unique user principal name. |
Email Id of the user. |
3. NewHireIntroductionEntity
The table has following rows:
Attribute | Comment |
---|---|
PartitionKey | AAD object ID of the manager [ManagerAadObjectId]. |
RowKey | AAD object ID of the new hire [NewHireAadObjectId]. |
TimeStamp | Timestamp of actual record insertion (Done by Azure). |
ApprovalStatus | Introduction approval status shared by the Hiring Manager. |
ApprovedOn | Date of the introduction approval. |
ManagerAadObjectId | AAD object ID of the hiring manager. |
ManagerConversationId | Thread ID of the 1:1 conversation between the bot and the hiring manager. |
NewHireAadObjectId | AAD object ID of the new hire. |
NewHireConversationId | Thread ID of the 1:1 conversation between the bot and the new hire. |
NewHireName | Name of the new hire user. |
NewHireProfileNote | Profile Note of the new hire user. |
NewHireQuestionnaire | Question and answers shared by the new hire. |
NewHireUserPrincipalName | User principal name of the new hire user. |
SurveyNotificationSentOn | Date of survey notification sent. |
SurveyNotificationSentStatus | status of survey notification sent. |
4. FeedbackEntity The table has following rows:
Attribute | Comment |
---|---|
PartitionKey | Monthly generated id (BatchId). |
RowKey | Unique identifier(GUID) for each feedback. |
TimeStamp | Timestamp of actual record insertion (Done by Azure). |
BatchId | Monthly generated ID with a combination of motnh and year. |
Feedback | Feedback text submitted by new hire |
Id | Unique identifier(GUID) for each feedback. |
NewHireAadObjectId | Aad Object Id of new hire who shared a feedback. |
NewHireName | Name of the new hire user. |
SubmittedOn | Date of the feedback shared by new hire. |