# How to add Slack to ECI E2 Shop System

> Source: https://netray.co/integrations/e2-shop-slack
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Integrations

## Short answer

Create a Slack app with slash commands and interactive messages, backed by a small service that reads E2's SQL Server database. Alerts flow out to channels, quick lookups flow in, and any change to E2 goes through a reviewed request.

## System

ECI E2 Shop System

## Capability

slack

## Intro

Slack is less common than Teams in job shops, but it is widespread in the engineering, sales and operations groups of newer fabricators, electronics assemblers and shops owned by tech-minded founders. If your team uses Slack, the same problem exists as everywhere else: E2 holds the truth, but nobody wants to open it to learn that a job is stuck.

What Slack does especially well is the lightweight command. A planner types a slash command with a job number and gets the status. A sales rep types a customer name and sees open quotes. This is different from the card and approval emphasis you would build in Teams, and it suits shops where speed of lookup matters more than formal workflow.

This page focuses on the Slack-specific pieces: app types, Socket Mode for on-prem friendliness, slash commands, and how to keep E2 safe.

## Use Cases

### Job status by slash command

**Description:** Typing a command with a job number returns current operation, work center, hours booked versus estimated and due date, read from E2.

### Customer lookup for sales

**Description:** A rep enters a customer name and gets open quotes, open sales orders and the last shipment date in a private reply.

### Inventory check

**Description:** Ask for a part number and see on hand, allocated, on order and the next PO due date, with the bin location if tracked.

### Rush order channel

**Description:** Orders flagged as rush or expedited post to a dedicated channel with thread replies for the planner, buyer and shipping to coordinate.

### Receiving notifications

**Description:** When material is received against a PO, notify the channel of the job waiting on it so the scheduler can release work.

### End of day exceptions

**Description:** At a fixed time, send a digest of jobs past due, POs past due and quotes expiring, each with a link to the E2 record.

## System Surface

- SQL Server read-only access for jobs, operations, labor, inventory, purchase order and quote data. Inspect actual table names and relationships in your own E2 version before writing queries.
- Stock and allocation values in E2 may be computed by application logic rather than stored as one field, so verify your query against what the E2 screen shows.
- Labor and time entries from shop floor data collection can be a good signal for live job progress, if your site uses that module.
- There is no standard outbound event feed in classic installs, so use polling with a change marker or SQL Server features such as change tracking if your DBA allows it.
- Any licensed E2 integration or web service can be used for writes; otherwise use import files or manual acceptance.

## How It Works

### Create the Slack app

**Detail:** Define slash commands, interactivity and bot scopes in the Slack app configuration, and install it to the workspace with a minimal scope list.

### Use Socket Mode if inbound traffic is blocked

**Detail:** Socket Mode lets your service open an outbound connection to Slack, so no public URL is needed. Slack positions it for development and restricted networks, so weigh it against HTTP request URLs for production.

### Write the query layer

**Detail:** Create parameterised, read-only queries for each command. Never concatenate user input into SQL; validate job and part number formats first.

### Format with Block Kit

**Detail:** Return compact blocks with the key fields and a link to open the E2 record. Respond within Slack's time limit and send a delayed response for slower queries.

### Add user mapping and permissions

**Detail:** Map Slack user IDs to E2 roles so a command like cost lookup is only answered for authorised users.

### Add interactive requests

**Detail:** For actions such as placing a hold or adding a note, create a request with a confirm button and have an E2 user execute it.

## Example Flows

### Planner job lookup

**Trigger:** A planner types a status command with a job number in a private channel.

**Steps:**

- Slack sends the command to the service.
- The service validates the job number format and queries E2.
- A Block Kit reply shows operation, work center and due date.
- A button opens the job in the E2 web view or gives the screen path.

**Result:** The planner has the answer in seconds without leaving Slack or logging into E2.

### Rush job coordination

**Trigger:** An order is saved with a rush priority code.

**Steps:**

- The poller detects the rush flag and posts a message to the rush channel.
- Buyer and planner reply in the thread with material and capacity status.
- A summary of the thread is stored as a note request.
- An E2 user adds the note to the order.

**Result:** Cross-department coordination is visible in one thread and ends as a record in E2.

## On Prem

Because E2 normally runs inside your network, Slack's Socket Mode is attractive: your on-prem service opens an outbound WebSocket to Slack, so you do not publish any inbound endpoint. Run the service on a Windows or Linux server next to SQL Server or on a small VM, and give it a read-only database login. If your policy requires HTTP request URLs, put them behind a reverse proxy and verify Slack's signing secret on every call. Slack itself is a cloud service, so decide what fields are acceptable to display in channels and prefer links to E2 for sensitive values. Free-text questions can be handled by a local model that turns text into one of your approved queries, which keeps the question and the data inside your network.

## Security

- Verify the Slack signing secret on every request, and store bot and app tokens in a secrets manager.
- Request only the scopes you need and restrict commands to specific channels and users.
- Use parameterised read-only SQL and validate every input against expected formats.
- Use ephemeral replies for sensitive data so only the requesting user sees it.
- Review Slack retention and export settings, since replies become part of workspace history.

## Options

### Workflow Builder with exported data

**Fit:** Very small teams that only need scheduled posts from a report exported out of E2.

**Effort:** A day or two, but no live lookups.

### Custom Slack app with SQL queries

**Fit:** Shops with a developer who can maintain a small service and a query library.

**Effort:** Typically two to five weeks including testing against your schema.

### Partner build with Netray

**Fit:** Teams that want natural-language commands over E2, running on a private model.

**Effort:** A scoped project of several weeks, delivered with an E2 specialist.

## Pitfalls

- Slack expects a response to slash commands within a few seconds; slow SQL needs an acknowledgement and a delayed reply.
- Putting prices or costs in public channels exposes data to everyone in the workspace.
- Allowing free-text SQL from a model without a whitelist of tables is a data leakage risk.
- Poor handling of job number formats leads to wrong matches; normalise and validate.
- Tokens committed to scripts on a shared drive are a common leak; keep them in a vault.

## Faq

### Is there a Slack app for ECI E2 Shop System?

**Answer:** No official Slack app is known to exist. You build a small custom app or use a general integration tool that can query SQL Server. Check ECI and any marketplace listings for your version in case something newer exists.

### Can Slack reach an E2 database that is only on our network?

**Answer:** Yes, if your service runs inside the network and connects outward. Socket Mode avoids inbound firewall rules. Slack never connects to SQL Server directly.

### Can we create or change records from Slack?

**Answer:** It is possible but risky. A safer approach is to capture the request in Slack, show it to an authorised E2 user and let them execute it. This preserves E2's validations, user attribution and audit trail.

### How is this different from the Teams approach?

**Answer:** Slack leans toward quick commands, threads and lightweight lookups, while Teams projects tend to focus on approvals and Entra identity. The E2 data access is the same; the front end and authentication differ.

### Do we need AI for this?

**Answer:** No. Fixed slash commands over known queries are reliable and cheap. AI becomes useful when users want to ask free-form questions, and then it should only choose from approved queries or generate read-only SQL against a limited view.

## Search terms

e2 shop system slack integration, slack for e2 shop system, slack slash command erp job status, eci e2 slack notifications, slack bot sql server manufacturing, slack socket mode on-prem erp, e2 shop system rush order alerts, slack inventory lookup erp, add slack to on-prem erp, e2 shop system chatops

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
