Description
Compared with the app manifest reference, the following keys have no corresponding field in Manifest (manifests.go, master 4b9cec9 / v0.29.0). Because ExportManifestContext decodes into Manifest and UpdateManifestContext sends it back, these keys are not carried through an export → update round trip.
features
| Key |
Type in the reference |
features.agent_view |
object: agent_description (required, max 300 chars), suggested_prompts[]{title, message}, actions[]{name, description} |
features.assistant_view |
object: assistant_description (required), suggested_prompts[]{title, message} |
features.rich_previews |
object: is_active bool, entity_types []string |
features.search |
object: search_function_callback_id (required), search_filters_function_callback_id, slackbot_metadata{description, examples[], example_query} |
features.unfurl_domains |
[]string (max 5) |
oauth_config
| Key |
Type in the reference |
oauth_config.pkce_enabled |
bool |
oauth_config.token_management_enabled |
bool |
settings
| Key |
Type in the reference |
settings.event_subscriptions.metadata_subscriptions |
[]{app_id, event_type} |
settings.incoming_webhooks |
object: incoming_webhooks_enabled bool |
settings.token_rotation_enabled |
bool |
settings.is_hosted |
bool |
settings.is_mcp_enabled |
bool |
settings.siws_links |
object: initiate_uri string |
settings.function_runtime |
string (remote / slack) |
Top level
| Key |
Type in the reference |
app_directory |
object (Slack Marketplace listing fields) |
functions |
map keyed by callback_id (input_parameters / output_parameters differ between manifest v1 and v2) |
workflows |
map keyed by callback_id |
datastores |
object |
outgoing_domains |
[]string (max 10) |
types |
object (max 50) |
metadata_events |
object or reference form |
external_auth_providers |
object (CUSTOM / SLACK_PROVIDED) |
compliance |
object: fedramp_authorization, dod_srg_ilx, itar_compliant |
mcp_servers |
map keyed by server key (max 20) |
For reference, Slack's own Go types for the manifest are in the Slack CLI (slackapi/slack-cli, internal/shared/types/app_manifest.go), and the Node SDK types are in slackapi/node-slack-sdk, packages/web-api/src/types/request/manifest.ts.
I plan to send a PR for features.agent_view and features.assistant_view.
(Optional) Slack's documentation
Description
Compared with the app manifest reference, the following keys have no corresponding field in
Manifest(manifests.go,master4b9cec9 / v0.29.0). BecauseExportManifestContextdecodes intoManifestandUpdateManifestContextsends it back, these keys are not carried through an export → update round trip.featuresfeatures.agent_viewagent_description(required, max 300 chars),suggested_prompts[]{title, message},actions[]{name, description}features.assistant_viewassistant_description(required),suggested_prompts[]{title, message}features.rich_previewsis_activebool,entity_types []stringfeatures.searchsearch_function_callback_id(required),search_filters_function_callback_id,slackbot_metadata{description, examples[], example_query}features.unfurl_domains[]string(max 5)oauth_configoauth_config.pkce_enabledoauth_config.token_management_enabledsettingssettings.event_subscriptions.metadata_subscriptions[]{app_id, event_type}settings.incoming_webhooksincoming_webhooks_enabledboolsettings.token_rotation_enabledsettings.is_hostedsettings.is_mcp_enabledsettings.siws_linksinitiate_uristringsettings.function_runtimeremote/slack)Top level
app_directoryfunctionsinput_parameters/output_parametersdiffer between manifest v1 and v2)workflowsdatastoresoutgoing_domains[]string(max 10)typesmetadata_eventsexternal_auth_providersCUSTOM/SLACK_PROVIDED)compliancefedramp_authorization,dod_srg_ilx,itar_compliantmcp_serversFor reference, Slack's own Go types for the manifest are in the Slack CLI (
slackapi/slack-cli,internal/shared/types/app_manifest.go), and the Node SDK types are inslackapi/node-slack-sdk,packages/web-api/src/types/request/manifest.ts.I plan to send a PR for
features.agent_viewandfeatures.assistant_view.(Optional) Slack's documentation
apps.manifest.export: https://docs.slack.dev/reference/methods/apps.manifest.exportapps.manifest.update: https://docs.slack.dev/reference/methods/apps.manifest.update