Recently, Our HR team reached out to me for AI support.
They were spending lots of time answering questions like “What’s our PTO policy”, “How does our health insurance work?”, where most of information is documented in our internal site. The problem is nobody goes there to search. It’s understandable, it’s much easier to ask questions in Slack where they already spend their day.
So I built them a slack bot uses LLM to answer HR questions, with answers grounded in our actual HR documents such as Employee Handbook and 2025 Benefits Guide.
Below is the Step-by-step guide.
Step 1: Setting Up OpenAI #
- Create a new project in OpenAI Platform.
- Project name:
HR Assistant. - This keeps everything organized and secure.
- Project name:
- Generate a project-specific API key
- This ensures access is scoped to the HR assistant only.
- this helps us track cost specific for this service
- Create a Vector Store
- Navigate: Storage → Vector Stores → Create.
- Name it as
HR Docs. - Upload and attach your reference PDFs (e.g., Benefits Guide, Employee Handbook).
- Wait until status =
completedand chunks > 0.
- Save the Vector Store ID (e.g.,
vs_xxxxx).- We’ll need this in Zapier later.
Step 2: Creating a Slack App #
- Create a Slack App
- Go to slack api app: https://api.slack.com/apps
- click “Create New App” (e.g.,
hr-bot). - Choose “From scratch” and name it something like “hr-bot.” Select your workspace.
- It will take you to your app setting page.
- Click on “OAuth & Permissions”, scroll down to “Scopes”
- Click “Add an OAuth Scope”
- Request necessary scopes:
chat:writeapp_mentions:readchannels:join
- Scroll up to Submit for our company’s slack workspace approval
- our company Slack workspaces require admin approval for new apps. Click “Submit for approval” and wait for your Slack admin to approve it.
- Once the app is approved, you can start Step 3 - Zapier workflow
Step 3: Building a Zapier Workflow #
Now the fun part - this is where everything comes together! We’re going to create a Zapier workflow that connects Slack and OpenAI.
Node # 1: Slack #
First node would be a trigger node. Search “Slack” and connect to your Slack account
- Event:
New Mention - Configure:
- Username:
hrbot - Trigger for Bot Messages?
false - Only Public Channels?
true
- Username:
- Test: you can try
@hr-botin slack in a public channel to trigger the mention
Node # 2: LLM #
- Setup: Webhooks by Zapier
- Event: Custom Request (so we can easily paste json data in Configure)
- Configure:
- Method:
POST - URL: https://api.openai.com/v1/responses
- Data Pass-Through?
false - Data: Replace
"vs_YOUR_VECTOR_STORE_ID"with the actual ID we copied from OpenAI earlier. This tells the LLM to only use your uploaded documents. (See below json example) - Headers:
- Authorization:
Bearer - Content-Type:
application/json
- Authorization:
- Data:
- Method:
{
"model": "gpt-4.1-mini",
"instructions": "You are an HR assistant. Only answer using the Benefits Guide and Employee Handbook attached to the HR Docs vector store. If the answer cannot be found there, respond with exactly: \"I don't know\". Do not use outside knowledge.",
"input": [
{
"role": "user",
"content": [
{ "type": "input_text", "text": "{{SlackText}}" }
]
}
],
"tools": [
{
"type": "file_search",
"vector_store_ids": ,
"max_num_results": 5
}
],
"max_output_tokens": 500,
"temperature": 0
}Node # 3: Slack #
Finally, we need to send that AI response back to Slack.
- Setup: Slack
- Event:
Send Channel Message - Configure:
- Channel:
hr-qa - Add Zapier app to channel automatically?
yes - Message Text: select “Output Content Text” from step 2
- Send as a bot?
yes - Bot Name:
HR Bot - Bot Icon: :robot_face:
- Include a link to this Zap?
false - Auto-Expand Links?
yes - Link Usernames and Channel Names?
yes - Send Channel Message?
yes
- Channel:
Do a few rounds of tests and then hit “Publish”!
Congratulations! Your team now has an AI assistant that answers HR questions instantly using your actual company documents.
Of course, you can customize it for marketing documents, sales, IT — really any team that needs quick answers from their documents.
As a professional coder — whether you’re a data scientist, software engineer, or developer — it’s natural to think, “I’ll just write the code myself and deploy it.” But in cases like this, I actually think using glue tools like Zapier or n8n is the better path.
Because it’s easier to hand off to non-technical teams, simpler to maintain, and if they decide the workflow is not for them, you haven’t sunk weeks into writing code, deploying it, and managing infra.
For enterprise AI adoption, I see two main directions:
- Building AI apps for customers — where code and full deployment really matter.
- Using AI for automation — to cut down repetitive tasks and help yourself and your coworkers.
Most companies only have a handful of core, customer-facing apps. If you’re not on those projects, don’t worry — there are tons of opportunities in this second direction, using AI to improve everyday workflows!