1. Introduce yourself in #introductions
2. Read the first-day guide
3. Book a quick catch-up with your buddy
Team workflows / BLOCK KIT JSON
Welcome a teammate with a short first-day checklist, a named buddy, and useful starting links.
Blank optional fields are omitted. Fallback text updates with your fields.
Approximate Slack rendering. Buttons are visual previews; no actions are sent.
Local validation checks the supported schema. It does not guarantee Slack API acceptance.
Manual editing and validation run in your browser. Opening Slack’s Builder shares the message with Slack.
Welcome to the team, Riley 👋 We’re glad you’re here. Here’s a simple place to start: 1. Introduce yourself in #introductions 2. Read the first-day guide 3. Book a quick catch-up with your buddy Your team: Product engineering Your buddy: Sam Patel Orientation: Monday · 10:00 UTC Questions?: Ask in #new-starters Take your time. Your buddy is here to help. First-day guide: https://example.com/handbook/first-day Meet the team: https://example.com/team
Download the payload or use this command in your own terminal. Replace the placeholder URL with your Slack incoming webhook. Keep the real URL secret. This tool never sends a Slack message.
curl --request POST \
--header 'Content-Type: application/json' \
--data-binary @- \
'https://hooks.slack.com/services/YOUR/WEBHOOK/URL' <<'SLACK_MESSAGE_JSON'
{
"text": "Welcome to the team, Riley 👋\nWe’re glad you’re here. Here’s a simple place to start:\n\n1. Introduce yourself in #introductions\n2. Read the first-day guide\n3. Book a quick catch-up with your buddy\nYour team: Product engineering\nYour buddy: Sam Patel\nOrientation: Monday · 10:00 UTC\nQuestions?: Ask in #new-starters\nTake your time. Your buddy is here to help.\nFirst-day guide: https://example.com/handbook/first-day\nMeet the team: https://example.com/team",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "Welcome to the team, Riley 👋"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "We’re glad you’re here. Here’s a simple place to start:\n\n1. Introduce yourself in #introductions\n2. Read the first-day guide\n3. Book a quick catch-up with your buddy"
}
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Your team*\nProduct engineering"
},
{
"type": "mrkdwn",
"text": "*Your buddy*\nSam Patel"
},
{
"type": "mrkdwn",
"text": "*Orientation*\nMonday · 10:00 UTC"
},
{
"type": "mrkdwn",
"text": "*Questions?*\nAsk in #new-starters"
}
]
},
{
"type": "context",
"elements": [
{
"type": "mrkdwn",
"text": "Take your time. Your buddy is here to help."
}
]
},
{
"type": "divider"
},
{
"type": "actions",
"elements": [
{
"type": "button",
"text": {
"type": "plain_text",
"text": "First-day guide"
},
"action_id": "guide",
"url": "https://example.com/handbook/first-day",
"style": "primary"
},
{
"type": "button",
"text": {
"type": "plain_text",
"text": "Meet the team"
},
"action_id": "team-url",
"url": "https://example.com/team"
}
]
}
]
}
SLACK_MESSAGE_JSONMake a new teammate’s first visit to a channel feel clear and welcoming. A small, ordered checklist reduces uncertainty, while a named buddy gives them a human point of contact when the documentation is not enough.
Use the teammate’s preferred name and adapt the checklist to their role. Keep it to a few first-day actions. Replace the example links with accessible internal resources and remove optional orientation details when not yet scheduled.
Post after the teammate joins the appropriate channel. This payload does not invite users, grant document access, provision accounts, or track checklist completion.
To post this JSON, create a Slack app with an incoming webhook for your channel, or use chat.postMessage with the appropriate bot token and permissions. Keep credentials on your server.
For buttons, enable Interactivity and handle Slack’s interaction requests, including URL buttons. Acknowledge requests promptly. This preview does not execute actions, authorize users, or save decisions.
Use the top-level fallback text for notifications and accessibility. Test your final payload in Slack; local validation covers the declared subset, and visual details vary by client.
Slack interaction setup ↗