Skip to content

Commit

Permalink
Merge pull request #626 from shaydewael/add-app-home-documentation
Browse files Browse the repository at this point in the history
Add documentation for publishing to home tab
  • Loading branch information
Shay DeWael authored Sep 17, 2020
2 parents 36e51d4 + 13a3da2 commit ad1493d
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 2 deletions.
2 changes: 1 addition & 1 deletion docs/_basic/authenticating_oauth.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Authenticating with OAuth
lang: en
slug: authenticating-oauth
order: 14
order: 15
---

<div class="section-content">
Expand Down
2 changes: 1 addition & 1 deletion docs/_basic/listening_responding_options.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Listening and responding to options
lang: en
slug: options
order: 13
order: 14
---

<div class="section-content">
Expand Down
50 changes: 50 additions & 0 deletions docs/_basic/publishing_views.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Publishing views to App Home
lang: en
slug: publishing-views
order: 13
---

<div class="section-content">
<a href="https://api.slack.com/surfaces/tabs/using">Home tabs</a> are customizable surfaces accessible via the sidebar and search that allow apps to display views on a per-user basis. After enabling App Home within your app configuration, home tabs can be published and updated by passing a `user_id` and <a href="https://api.slack.com/reference/block-kit/views">view payload</a> to the <a href="https://api.slack.com/methods/views.publish">`views.publish`</a> method.

You can subscribe to the <a href="https://api.slack.com/events/app_home_opened">`app_home_opened`</a> event to listen for when users open your App Home.
</div>

```javascript
// Listen for users opening your App Home
app.event('app_home_opened', async ({ event, client }) => {
try {
// Call views.publish with the built-in client
const result = await client.views.publish({
// Use the user ID associated with the event
user_id: event.user,
view: {
// Home tabs must be enabled in your app configuration page under "App Home"
"type": "home",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Welcome home, <@" + event.user + "> :house:*"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Learn how home tabs can be more useful and interactive <https://api.slack.com/surfaces/tabs/using|*in the documentation*>."
}
}
]
}
});

console.log(result);
}
catch (error) {
console.error(error);
}
});
```

0 comments on commit ad1493d

Please sign in to comment.