Appearance
Notifications Snapshot 2026-11-02T16-12-35-180Z
This matrix lists Ernest API notification triggers and the Knock workflows that deliver them.
Source: Knock production workflows via read-only knock workflow pull
Generated: 2026-11-02T16:12:35.181Z
Coverage: 57 active mapped row(s), 25 mapped row(s) missing from Knock
The trigger and recipient columns describe how the Ernest API scopes each notification. The channel and status columns are read from the current Knock workflow definitions.
Office Management
Daily Reports
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-daily-report | Daily report submitted | Not configured | Project Managers on the project | Project role | Daily Report Submitted | Missing in Knock | Missing in Knock |
update-daily-report | Daily report edited | Not configured | Project Managers on the project | Project role | Daily Report Edited | Missing in Knock | Missing in Knock |
Change Orders
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-co | Change order created | Not configured | Project Managers on the project | Project role | Change Order created | Missing in Knock | Missing in Knock |
update-co-status | Change order status changed to a notifiable status | Not configured | Project Managers on the project and Admins | Project role and org user role | Change Order status changed to {status} | Missing in Knock | Missing in Knock |
Subcontract Invoices
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-subcontract-invoice | Subcontract invoice created | In-app: Office Management feed Email: Email | Project Managers on the project | Project role | Subcontract Invoice created | Active | Unknown |
update-subcontract-invoice-status | Subcontract invoice changed to a notifiable status | In-app: Office Management feed Email: Email | Project Managers on the project and Admins | Project role and org user role | Subcontract Invoice status changed to {status} | Active | Unknown |
update-subcontract-invoice-status-to-exception | Subcontract invoice unlocked for exception handling | In-app: Office Management feed Email: Email | Users tied to the subcontractor company on the project | Direct user IDs resolved from subcontractor company membership | Invoice unlocked; submit your pay application | Active | Unknown |
Billing Window
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
billing-window-open | Project billing window opens | In-app: Office Management feed Email: Email | Subcontractor users on active subcontracts for the project | Direct user IDs resolved from project subcontractors | Billing window opened; submit before {closeDate} | Active | Unknown |
Project Invoices
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-project-invoice | Project invoice created | In-app: Office Management feed | Project Managers on the project | Project role | Project Invoice created | Active | Unknown |
update-project-invoice-status | Project invoice status changed | In-app: Office Management feed Email: Email | Project Managers on the project and Admins | Project role and org user role | Project Invoice status changed to {status} | Active | Unknown |
Commodity Requests
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-commodity-request | Commodity material order requested | In-app: Office Management feed | Project Managers on the project plus Slack channel recipients | Project role and Knock channel object | Commodity Material Order Requested | Active | Unknown |
update-commodity-request | Commodity material order updated | In-app: Office Management feed | Project Managers on the project plus Slack channel recipients | Project role and Knock channel object | Commodity Material Order Request Updated | Active | Unknown |
commodity-request-quote-threshold | Commodity request quote threshold reached | Not configured | Configured commodity request stakeholders | Workflow-specific direct recipients | Commodity quote threshold reached | Missing in Knock | Missing in Knock |
Lookaheads
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-lookahead | Two-week lookahead created | In-app: Office Management feed | Project Managers on the project | Project role | Two Week Lookahead Created | Active | Unknown |
update-lookahead | Two-week lookahead edited | In-app: Office Management feed | Project Managers on the project | Project role | Two Week Lookahead Edited | Active | Unknown |
Objectives
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-objectives | Objective created | In-app: Office Management feed | Project Managers on the project | Project role | Objective Created | Active | Unknown |
update-objectives | Objective status updated | In-app: Office Management feed | Project Managers on the project | Project role | Objective Marked as {status} | Active | Unknown |
update-objective-status-to-blocked | Objective marked as Blocked | In-app: Growth Management feed | Project Managers on the project | Project role | Objective Marked as Blocked | Active | Unknown |
comment-mention-on-objective | User mentioned in an objective comment | In-app: Office Management feed | Mentioned users | Direct user IDs extracted from comment mentions | Tagged you in objective comment | Active | Unknown |
Permits and Inspections
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-permits | Permit added | In-app: Office Management feed | Project Managers on the project | Project role | New Permit Added | Active | Unknown |
generic-workflow-office-mgmt | Permit edited | Not configured | Project Managers on the project | Project role | Permit Edited | Missing in Knock | Missing in Knock |
generic-workflow-office-mgmt | Inspection edited | Not configured | Project Managers on the project | Project role | Inspection Edited | Missing in Knock | Missing in Knock |
Submittals
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
generic-workflow-office-mgmt | Submittal created | Not configured | Project Managers and Client Owners | Project role and org user role | Submittal Created | Missing in Knock | Missing in Knock |
submittal-status-change | Submittal status changed to Submitted or Approved | Email: Email | Submittal assignee, and creator when approved | Direct user IDs | Submittal status updated to {status} | Active | Unknown |
RFIs
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-rfi | RFI submitted | Not configured | Project Managers on the project | Project role | RFI submitted | Missing in Knock | Missing in Knock |
update-rfi-status | RFI status changed in Office Management | Not configured | Project Managers, Client Owners, and Admins | Project role and org user role | RFI status changed to {status} | Missing in Knock | Missing in Knock |
update-rfi-response | Owner responded to RFI | Not configured | Project Managers on the project | Project role | Owner responded to RFI | Missing in Knock | Missing in Knock |
Media Library
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
generic-workflow-office-mgmt | Media uploaded | Not configured | Project Managers on the project | Project role | New Media Uploaded | Missing in Knock | Missing in Knock |
comment-mention-on-media-library | User mentioned in media library comment | Not configured | Mentioned users | Direct user IDs extracted from comment mentions | Tagged you in media library | Missing in Knock | Missing in Knock |
As-Builts
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
generic-workflow-office-mgmt | As-built posted | Not configured | Project Managers on the project | Project role | New As-built Posted | Missing in Knock | Missing in Knock |
Specialty Material Orders
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
generic-workflow-office-mgmt | Specialty material order requested or updated | Not configured | Project Managers on the project | Project role | Specialty Material Order Requested / Updated | Missing in Knock | Missing in Knock |
Rental Equipment
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
generic-workflow-office-mgmt | Rental equipment requested or updated | Not configured | Project Managers on the project | Project role | Rental Equipment Requested / Updated | Missing in Knock | Missing in Knock |
Observations
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-observation | Observation created | In-app: Office Management feed Email: Email | Project Managers, creator, and assignee when present | Project role and direct user IDs | Observation created | Active | Unknown |
update-observation-status | Observation status updated | In-app: Office Management feed Email: Email | Project Managers, creator, and assignee when present | Project role and direct user IDs | Observation status changed to {status} | Active | Unknown |
Growth Management
Bids
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-bid | Bid created | In-app: Growth Management feed | Account Executive owner, Project Manager when assigned, and ITB Slack channel | Direct user IDs and Knock channel object | New Bid Created | Active | Unknown |
update-bid-status | Bid status changed | Not configured | Admins, Account Executive owner, or owner only depending on status | Org user role and direct user IDs | Bid status changed to {status} | Missing in Knock | Missing in Knock |
bids-due-date | Bid due-date reminder | Not configured | Configured bid stakeholders and Slack channel | Direct user IDs and Knock channel object | Bid due date reminder | Missing in Knock | Missing in Knock |
due-date-bids | Bid due-date reminder | Not configured | Deal owner, estimator, and Slack channel | Direct user IDs and Knock channel object | Bid due date reminder | Missing in Knock | Missing in Knock |
RFIs
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
create-rfi-growth | RFI created in proposal context | Not configured | Account Executive owner and Project Manager when assigned | Direct user IDs from bid record | RFI Created | Missing in Knock | Missing in Knock |
update-rfi-status | RFI status changed in proposal context | Not configured | Account Executive owner and Project Manager when assigned | Direct user IDs from bid record | RFI status changed to {status} | Missing in Knock | Missing in Knock |
Bid Quotes
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
bid-quote-detail-updated | Quote response updated via app | In-app: Growth Management feed Email: Email | Account Executive owner and package creator | Direct user IDs | Quote Response Updated | App | Active | Unknown |
bid-quote-request-submitted | Quote request submitted via portal | In-app: Growth Management feed Email: Email | Account Executive owner and package creator | Direct user IDs | Quote Response Updated | Portal | Active | Unknown |
Notes
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
growth-create-note-slack-channel | Growth note created for Slack channel | Not configured | Configured Growth Slack channel | Knock channel object | Growth note created | Missing in Knock | Missing in Knock |
Project Management
Quotes
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
project-quote-request-submitted | Subcontractor quote submitted via portal | In-app: Office Management feed Email: Email | Project Managers, package creator, and quote creator | Project role and direct user IDs | Quote Response Updated | Portal | Active | Unknown |
project-quote-detail-updated | Project quote detail updated | In-app: Office Management feed Email: Email | Project Managers, package creator, and quote creator | Project role and direct user IDs | Quote response updated | Active | Unknown |
project-vendor-quote-submission | Vendor quote submitted | Not configured | Project Managers and quote stakeholders | Project role and direct user IDs | Vendor quote submitted | Missing in Knock | Missing in Knock |
Cross-App
Action Items
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
assigned-as-next-step-owner | User assigned as next step owner | In-app: Office Management feed In-app: Growth Management feed Email: Email | Assigned user | Direct user ID | You are assigned as next step owner for Task: {name} | Active | Unknown |
comment-mention-on-action-item | User mentioned in action item comment | Not configured | Mentioned users | Direct user IDs extracted from comment mentions | Tagged you in an action item | Missing in Knock | Missing in Knock |
Generic Comment Mention
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
comment-mention | User mentioned in a comment on a supported entity | Email: Email | Mentioned users | Direct user IDs extracted from comment mentions | You were mentioned in a comment | Active | Unknown |
System
User Sync
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
sync-users | Knock user sync job reports status | Not configured | Configured Slack channel | Knock channel object | Knock user sync status | Missing in Knock | Missing in Knock |
Unmapped Knock Workflows
Office Management, As-Built
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
as-built-created | Not mapped to an Ernest API trigger yet | In-app: Office Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} in {}. | Active | Unknown |
Change Order, Office Management
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
change-order-status-changed | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | {} just marked a Change Order as {} | Active | Unknown |
create-subcontract-change-order | Not mapped to an Ernest API trigger yet | In-app: Office Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - there's a new activity in your workspace. | Active | Unknown |
update-subcontract-change-order-status | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | Hey {} 👋 - there's a new activity in your workspace. | Active | Unknown |
Proposal Management, Communication Hub, Comment
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
communication-hub-thread-comment-mentioned | Not mapped to an Ernest API trigger yet | In-app: Growth Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} {}. | Active | Unknown |
communication-hub-thread-commented | Not mapped to an Ernest API trigger yet | In-app: Growth Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} {}. | Active | Unknown |
Office Management, General Contractor Log
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
daily-log-missing | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | {} | Active | Unknown |
update-gcl-status | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | {} {} | Active | Unknown |
Office Management
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
daily-log-status-changed | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | {} {} | Active | Unknown |
Proposal Management, Filetree, Comment
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
filetree-item-comment-mentioned | Not mapped to an Ernest API trigger yet | In-app: Growth Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} {}. | Active | Unknown |
filetree-item-commented | Not mapped to an Ernest API trigger yet | In-app: Growth Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} {}. | Active | Unknown |
Office Management, Inspection Request
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
inspection-request-updated | Not mapped to an Ernest API trigger yet | In-app: Office Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} in {}. | Active | Unknown |
Office Management, Media Library
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
media-library-file-uploaded | Not mapped to an Ernest API trigger yet | In-app: Office Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} in {}. | Active | Unknown |
Office Management, Permit
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
permit-updated | Not mapped to an Ernest API trigger yet | In-app: Office Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} in {}. | Active | Unknown |
RFI, Office Management
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
rfi-created | Not mapped to an Ernest API trigger yet | In-app: Office Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - a new RFI was created in {}. | Active | Unknown |
rfi-owner-responded | Not mapped to an Ernest API trigger yet | Email: Email | Review backend trigger usage | Unknown | rfi-owner-responded | Active | Unknown |
rfi-owner-review-requested | Not mapped to an Ernest API trigger yet | Email: Email | Review backend trigger usage | Unknown | RFI review requested in {} — Shackleton AI | Active | Unknown |
rfi-response-forwarded | Not mapped to an Ernest API trigger yet | Email: Email | Review backend trigger usage | Unknown | RFI response received in {} — Shackleton AI | Active | Unknown |
rfi-status-change | Not mapped to an Ernest API trigger yet | Email: Email | Review backend trigger usage | Unknown | RFI marked as {} in {} — Shackleton AI | Active | Unknown |
rfi-voided | Not mapped to an Ernest API trigger yet | Email: Email | Review backend trigger usage | Unknown | RFI marked as Void in {} — Shackleton AI | Active | Unknown |
Office Management, Specialty Request
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
specialty-material-request-created | Not mapped to an Ernest API trigger yet | In-app: Office Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} in {}. | Active | Unknown |
specialty-material-request-updated | Not mapped to an Ernest API trigger yet | In-app: Office Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - {} in {}. | Active | Unknown |
Office Management, Subcontract Invoice
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
subcontract-invoice-compliance-uploaded | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | Hey {} 👋 - there's a new activity in your workspace. | Active | Unknown |
update-subcontract-invoice-compliance-status | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | Hey {} 👋 - there's a new activity in your workspace. | Active | Unknown |
Office Management, Subcontractor Insurance
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
subcontractor-insurance-expiring | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | Hey {} 👋 - there's a new activity in your workspace. | Active | Unknown |
Office Management, Budget Modification
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
submit-budget-modification | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | {} just submitted {} Budget Modifications for Review.{} just submitted a Budget Modification for Review. | Active | Unknown |
update-budget-modification-status | Not mapped to an Ernest API trigger yet | In-app: Office Management feed Email: Email | Review backend trigger usage | Unknown | {} just {} your {} Budget Modifications.{} just {} your Budget Modification. | Active | Unknown |
Submittal, Office Management
| Workflow | Trigger / action | Channels | Recipients / roles | Role source | Message | Status | Last updated |
|---|---|---|---|---|---|---|---|
submittal-created | Not mapped to an Ernest API trigger yet | In-app: Office Management feed | Review backend trigger usage | Unknown | Hey {} 👋 - a new Submittal was created in {}. | Active | Unknown |
submittal-owner-responded | Not mapped to an Ernest API trigger yet | Email: Email | Review backend trigger usage | Unknown | submittal-owner-responded | Active | Unknown |
submittal-owner-review-requested | Not mapped to an Ernest API trigger yet | Email: Email | Review backend trigger usage | Unknown | Submittal review requested in {} — Shackleton AI | Active | Unknown |
submittal-response-forwarded | Not mapped to an Ernest API trigger yet | Email: Email | Review backend trigger usage | Unknown | Submittal response received in {} — Shackleton AI | Active | Unknown |
submittal-voided | Not mapped to an Ernest API trigger yet | Email: Email | Review backend trigger usage | Unknown | Submittal marked as Void in {} — Shackleton AI | Active | Unknown |
Role Source Legend
| Role source | Meaning |
|---|---|
| Project role | Recipients are resolved from project team role assignments, such as Project Manager. |
| Org user role | Recipients are resolved from organization-level roles, such as Admin or Client Owner. |
| Direct user IDs | Recipients are supplied directly from entity data, assignments, owners, or mentions. |
| Knock channel object | Recipients are configured channel objects in Knock, such as Slack channels. |