# Slack integrations

*6 integrations*

**In short:** Integrating Slack means turning events from the systems a team depends on, such as issues, tickets, deals and HR changes, into messages people actually read, and letting their replies flow back. What breaks is state, not posting: without a stored map from each record to its Slack thread every update becomes a new message, and without user matching, echo suppression and pacing under per-channel limits the channel turns into noise.

## What connects to Slack

Slack is where teams already talk, so its integrations bring other systems' events into the conversation instead of making people watch another tool.

Engineering and support are the largest group. [Jira](https://seamless.engineering/integrations/jira-slack/) issues and [Zendesk](https://seamless.engineering/integrations/zendesk-slack/) tickets post to the right channel, later updates thread under the original message, and a threaded reply goes back as a Jira comment or a Zendesk note. Revenue teams follow won opportunities, escalated cases and big stage changes from [Salesforce](https://seamless.engineering/integrations/salesforce-slack/) or Dynamics 365, sometimes acting on them from Slack. Project teams route ClickUp task events by Space, Folder or List. HR connects too: a hire in [Personio](https://seamless.engineering/integrations/personio-slack/) provisions a Slack account and channel invites, an approved absence sets a status, and a termination deactivates the user.

## Where Slack integrations break

- **One record, one thread.** Threading only works if the pipeline stores the Slack channel and message timestamp for each issue, ticket or record. Lose that state and every status change posts as a new top-level message.
- **User identity.** A Slack member ID is not a Jira accountId, a Salesforce User or a Dataverse systemuser. Email usually bridges them, but deactivated accounts, guests and people without a seat break naive matching and @-mention the wrong person.
- **Per-channel rate limits.** Slack meters `chat.postMessage` per channel, at roughly one message per second. A sprint close, a bulk edit or a ticket storm has to be queued, coalesced and paced with Retry-After, not fired in a loop.
- **Echo loops and duplicates.** A Slack reply written into another system fires that system's webhook, which must not post back into Slack. Every event carries a stable ID so retries and redeliveries never double-post.
- **Formatting.** Jira's Atlassian Document Format, Zendesk HTML and numeric Dynamics option-set codes all have to become readable Block Kit or mrkdwn, not raw markup or a bare `2` where `High` belongs.

## All Slack integrations

### HR ↔ Payroll

- [Personio ↔ Slack](https://seamless.engineering/integrations/personio-slack/): Personio Slack integration

### Support ↔ ITSM & Dev

- [Zendesk ↔ Slack](https://seamless.engineering/integrations/zendesk-slack/): Zendesk Slack integration
- [Jira ↔ Slack](https://seamless.engineering/integrations/jira-slack/): Jira Slack integration

### Collaboration ↔ Ops

- [Dynamics 365 ↔ Slack](https://seamless.engineering/integrations/dynamics-365-slack/): Dynamics 365 Slack integration
- [Salesforce ↔ Slack](https://seamless.engineering/integrations/salesforce-slack/): Salesforce Slack integration
- [ClickUp ↔ Slack](https://seamless.engineering/integrations/clickup-slack/): ClickUp Slack integration

## Slack API changelog

- [Slack API changelog](https://seamless.engineering/api-changelog/slack/): 4 breaking changes and 2 deprecations in the last 90 days

## Request a scoping call

Connecting Slack to something not listed here? Tell us which systems are involved and what data has to move. Fixed-price scoping quote within 48 hours.

- Email: hello@seamless.engineering
- Contact form: https://seamless.engineering/#contact
