diff --git a/internal/shared/types/app_manifest.go b/internal/shared/types/app_manifest.go index 1b010ff0..77146518 100644 --- a/internal/shared/types/app_manifest.go +++ b/internal/shared/types/app_manifest.go @@ -76,6 +76,12 @@ type AppFeatures struct { ManifestShortcutsItems []ManifestShortcutsItem `json:"shortcuts,omitempty" yaml:"shortcuts,flow,omitempty"` ManifestSlashCommandsItems []ManifestSlashCommandsItem `json:"slash_commands,omitempty" yaml:"slash_commands,flow,omitempty"` Search *Search `json:"search,omitempty" yaml:"search,flow,omitempty"` + RichPreviews *RichPreviews `json:"rich_previews,omitempty" yaml:"rich_previews,flow,omitempty"` +} + +type RichPreviews struct { + EntityTypes []string `json:"entity_types,omitempty" yaml:"entity_types,flow,omitempty"` + IsActive bool `json:"is_active,omitempty" yaml:"is_active,flow,omitempty"` } type AssistantView struct { diff --git a/internal/shared/types/app_manifest_test.go b/internal/shared/types/app_manifest_test.go index d6435a80..c68d5572 100644 --- a/internal/shared/types/app_manifest_test.go +++ b/internal/shared/types/app_manifest_test.go @@ -179,6 +179,17 @@ func Test_AppManifest_AppFeatures(t *testing.T) { }, want: `{"app_home":{},"bot_user":{"display_name":"kubrick"},"search":{"search_function_callback_id":"movie_search","search_filters_function_callback_id":"movie_filters","enable_ai_answers":true}}`, }, + "includes Work Objects settings when provided": { + features: AppFeatures{ + BotUser: BotUser{ + DisplayName: "business_bot", + }, + RichPreviews: &RichPreviews{ + EntityTypes: []string{"slack#/entities/file"}, + }, + }, + want: `{"app_home":{},"bot_user":{"display_name":"business_bot"},"rich_previews":{"entity_types":["slack#/entities/file"]}}`, + }, } for name, tt := range tests { t.Run(name, func(t *testing.T) {