πŸ‘₯ Sync your HRIS employee directory with Microsoft Teams, Coda, and Slack

⚑ 108 views Β· πŸ‘₯ HR & Recruitment

πŸ’‘ Pro Tip β€” HTTP Request scraping tends to break when sites update their markup. If you’re scraping a major platform, check if ScraperNode covers it β€” it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.

View All Scrapers

Description

Employee Directory Sync – Microsoft Teams & Coda

⚠️ COMMUNITY TEMPLATE DISCLAIMER: This is a community-contributed template that uses ScrapeGraphAI (a community node). Please ensure you have the ScrapeGraphAI community node installed in your n8n instance before using this template.

This workflow keeps your employee directory perfectly synchronized across your HRIS (or any REST-compatible HR database), Microsoft Teams, Coda docs, and Slack channels. It automatically polls the HR system on a schedule, detects additions or updates, and propagates those changes to downstream tools so everyone always has the latest employee information.

Pre-conditions/Requirements

Prerequisites

Required Credentials

HRIS Field Mapping

HRIS FieldCoda ColumnTeams/Slack Field
firstNameFirst NameFirst Name
lastNameLast NameLast Name
emailEmailEmail
titleJob TitleJob Title
departmentDepartmentDepartment

(Adjust the mapping in the Set and Code nodes as needed.)

How it works

This workflow keeps your employee directory perfectly synchronized across your HRIS (or any REST-compatible HR database), Microsoft Teams, Coda docs, and Slack channels. It automatically polls the HR system on a schedule, detects additions or updates, and propagates those changes to downstream tools so everyone always has the latest employee information.

Key Steps:

Set up steps

Setup Time: 10-15 minutes

  1. Import the workflow into your n8n instance.
  2. Open Credentials tab and create:
    • Microsoft Teams OAuth2 credential.
    • Coda API credential.
    • Slack OAuth2 credential.
    • HRIS HTTP credential (Basic or Bearer).
  3. Configure the HRIS HTTP Request node
    • Replace the placeholder URL with your HRIS endpoint (e.g., https://api.yourhr.com/v1/employees).
    • Add query parameters or headers as required by your HRIS.
  4. Map Coda Doc & Table IDs in the Coda node.
  5. Select Teams & Slack channels in their respective nodes.
  6. Adjust the Schedule Trigger to your desired frequency.
  7. Optional: Edit the Code node to tweak field mapping or add custom delta-comparison logic.
  8. Execute the workflow manually once to verify proper end-to-end operation.
  9. Activate the workflow.

Node Descriptions

Core Workflow Nodes:

Data Flow:

  1. Schedule Trigger β†’ HTTP Request β†’ Code (Delta Detector)
  2. Code β†’ IF (Has Changes?)
    • If No β†’ End
    • If Yes β†’ Split In Batches β†’ Set β†’ Coda β†’ Teams β†’ Slack

Customization Examples

Change Sync Frequency

// Inside Schedule Trigger
{
  "mode": "everyDay",
  "hour": 6,
  "minute": 0
}

Extend Field Mapping

// Inside Set node
items[0].json.phone = item.phoneNumber ?? '';
items[0].json.location = item.officeLocation ?? '';
return items;

Data Output Format

The workflow outputs structured JSON data:

{
  "employee": {
    "id": "123",
    "firstName": "Jane",
    "lastName": "Doe",
    "email": "jane.doe@example.com",
    "title": "Senior Engineer",
    "department": "R&D",
    "status": "New Hire",
    "syncedAt": "2024-05-08T10:15:23.000Z"
  },
  "destination": {
    "codaRowId": "row_abc123",
    "teamsMessageId": "msg_987654",
    "slackTs": "1715158523.000200"
  }
}

Troubleshooting

Common Issues

  1. HTTP 401 from HRIS API – Verify token validity and that the credential is attached to the HTTP Request node.
  2. Coda duplicates rows – Ensure the key column in Coda is set to β€œEmail” and the Upsert option is enabled.

Performance Tips

Pro Tips:

πŸ”— Nodes Used

HTTP Request, Slack, Coda, Microsoft Teams, Schedule Trigger

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup