---
id: object/codeunit/1543
type: object
title: Codeunit 1543 "Workflow Webhook Management"
summary: Codeunit 1543 "Workflow Webhook Management" in Base Application (System.Automation). 22 public procedures, 4 events. Present since at least BC23, still in BC30, changed in BC24.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: "24"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 88840ccec1b23d9b022ec3efad789152d8000290a9fe1533297a423be5da9925
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/Workflow/WorkflowWebhookManagement.Codeunit.al
    title: src/Layers/W1/BaseApp/System/Workflow/WorkflowWebhookManagement.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 1543
name: Workflow Webhook Management
namespace: System.Automation
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 34
  events: 4
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 3
  calls: 3
  called_by: 35
  implements: 0
---

# Codeunit 1543 "Workflow Webhook Management"

> Codeunit 1543 "Workflow Webhook Management" in Base Application (System.Automation). 22 public procedures, 4 events. Present since at least BC23, still in BC30, changed in BC24.

Base Application · System.Automation · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/Workflow/WorkflowWebhookManagement.Codeunit.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Permissions | TableData "Workflow Webhook Entry" = rimd |

## Events published

- `OnCancelWorkflow(WorkflowWebhookEntry: Record "Workflow Webhook Entry"; OnDeletion: Boolean)` (integration)
  - subscribers: [Codeunit 1541 "Workflow Webhook Events"](../codeunit/1541.md) HandleOnCancelWorkflow
- `OnContinueWorkflow(WorkflowWebhookEntry: Record "Workflow Webhook Entry")` (integration)
  - subscribers: [Codeunit 1541 "Workflow Webhook Events"](../codeunit/1541.md) HandleOnContinueWorkflow
- `OnRejectWorkflow(WorkflowWebhookEntry: Record "Workflow Webhook Entry")` (integration)
  - subscribers: [Codeunit 1541 "Workflow Webhook Events"](../codeunit/1541.md) HandleOnRejectWorkflow
- `OnFindTaskSchedulerAllowed(var IsTaskSchedulingAllowed: Boolean)` (integration)

## Procedures

- `CanCancel(WorkflowWebhookEntry: Record "Workflow Webhook Entry"): Boolean`
- `CanRequestApproval(RecordId: RecordID): Boolean`
- `GetCanRequestAndCanCancel(RecordId: RecordID; var CanRequestApprovalForFlow: Boolean; var CanCancelApprovalForFlow: Boolean)`
- `GetCanRequestAndCanCancelJournalBatch(GenJournalBatch: Record "Gen. Journal Batch"; var CanRequestBatchApproval: Boolean; var CanCancelBatchApproval: Boolean; var CanRequestLineApprovals: Boolean)`
- `Cancel(var WorkflowWebhookEntry: Record "Workflow Webhook Entry")`
- `Cancel(var WorkflowWebhookEntry: Record "Workflow Webhook Entry"; OnDeletion: Boolean)`
- `CancelByStepInstanceId(Id: Guid)`
- `CanContinue(WorkflowWebhookEntry: Record "Workflow Webhook Entry"): Boolean`
- `CanReject(WorkflowWebhookEntry: Record "Workflow Webhook Entry"): Boolean`
- `Continue(var WorkflowWebhookEntry: Record "Workflow Webhook Entry")`
- `ContinueByStepInstanceId(Id: Guid)`
- `GenerateRequest(RecRef: RecordRef; WorkflowStepInstance: Record "Workflow Step Instance")`
- `Reject(var WorkflowWebhookEntry: Record "Workflow Webhook Entry")`
- `RejectByStepInstanceId(Id: Guid)`
- `SendWebhookNotificaton(WorkflowStepInstance: Record "Workflow Step Instance")`
- `FindWorkflowWebhookEntryByRecordIdAndResponse(var WorkflowWebhookEntry: Record "Workflow Webhook Entry"; RecordId: RecordID; ResponseStatus: Option): Boolean`
- `HasPendingWorkflowWebhookEntryByRecordId(RecordId: RecordID): Boolean`
- `GetDirectApproverForRequestor(RequestorEmailAddress: Text): Text`
- `FindAndCancel(RecordId: RecordID)`
- `FindAndCancel(RecordId: RecordID; OnDeletion: Boolean)`
- `DeleteWorkflowWebhookEntries(RecordId: RecordID)`
- `RenameRecord(OldRecordId: RecordID; NewRecordId: RecordID)`

Plus 8 local procedures.

## Triggers

OnRun

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 1541 "Workflow Webhook Events"](../codeunit/1541.md) (1 call: `GetInitialResponseValue → WorkflowWebhookResponseReceivedEventCode`)
- [Codeunit 1545 "Workflow Webhook Notification"](../codeunit/1545.md) (1 call: `SendWebhookNotificaton → StartNotification`)
- [Codeunit 1546 "Workflow Webhook Notify Task"](../codeunit/1546.md) (1 call: `SendWebhookNotificaton → (object)`)

## Called by

- [Codeunit 1541 "Workflow Webhook Events"](../codeunit/1541.md) (10 calls: `HandleOnCancelCustomerApprovalRequest → FindAndCancel`, `HandleOnCancelGeneralJournalBatchApprovalRequest → FindAndCancel`, `HandleOnCancelGeneralJournalLineApprovalRequest → FindAndCancel`, …)
- [Codeunit 1535 "Approvals Mgmt."](../codeunit/1535.md) (7 calls: `PreventDeletingRecordWithOpenApprovalEntry → HasPendingWorkflowWebhookEntryByRecordId`, `PreventInsertRecIfOpenApprovalEntryExist → HasPendingWorkflowWebhookEntryByRecordId`, `PreventModifyRecIfOpenApprovalEntryExist → HasPendingWorkflowWebhookEntryByRecordId`, …)
- [Codeunit 1544 "Workflow Webhook Subscription"](../codeunit/1544.md) (4 calls: `Approve → ContinueByStepInstanceId`, `Cancel → CancelByStepInstanceId`, `GetDirectApprover → GetDirectApproverForRequestor`, …)
- [Page 255 "Cash Receipt Journal"](../page/255.md) (2 calls: `SetApprovalStateForBatch → GetCanRequestAndCanCancelJournalBatch`, `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 256 "Payment Journal"](../page/256.md) (2 calls: `SetApprovalStateForBatch → GetCanRequestAndCanCancelJournalBatch`, `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 39 "General Journal"](../page/39.md) (2 calls: `SetApprovalState → GetCanRequestAndCanCancel`, `SetApprovalStateForBatch → GetCanRequestAndCanCancelJournalBatch`)
- [Codeunit 1542 "Workflow Webhook Responses"](../codeunit/1542.md) (1 call: `SendNotificationToWebhook → GenerateRequest`)
- [Page 21 "Customer Card"](../page/21.md) (1 call: `OnAfterGetCurrRecordFunc → GetCanRequestAndCanCancel`)
- [Page 22 "Customer List"](../page/22.md) (1 call: `OnAfterGetCurrRecord → GetCanRequestAndCanCancel`)
- [Page 253 "Sales Journal"](../page/253.md) (1 call: `SetApprovalState → GetCanRequestAndCanCancel`)
- [Page 254 "Purchase Journal"](../page/254.md) (1 call: `SetApprovalState → GetCanRequestAndCanCancel`)
- [Page 26 "Vendor Card"](../page/26.md) (1 call: `OnAfterGetCurrRecordFunc → GetCanRequestAndCanCancel`)
- [Page 27 "Vendor List"](../page/27.md) (1 call: `OnAfterGetCurrRecord → GetCanRequestAndCanCancel`)
- [Page 30 "Item Card"](../page/30.md) (1 call: `OnAfterGetCurrRecordFunc → GetCanRequestAndCanCancel`)
- [Page 31 "Item List"](../page/31.md) (1 call: `OnAfterGetCurrRecord → GetCanRequestAndCanCancel`)
- [Page 41 "Sales Quote"](../page/41.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 42 "Sales Order"](../page/42.md) (1 call: `SetControlVisibility → GetCanRequestAndCanCancel`)
- [Page 425 "Vendor Bank Account Card"](../page/425.md) (1 call: `OnAfterGetCurrRecord → GetCanRequestAndCanCancel`)
- [Page 426 "Vendor Bank Account List"](../page/426.md) (1 call: `OnAfterGetCurrRecord → GetCanRequestAndCanCancel`)
- [Page 43 "Sales Invoice"](../page/43.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 44 "Sales Credit Memo"](../page/44.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 49 "Purchase Quote"](../page/49.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 50 "Purchase Order"](../page/50.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 51 "Purchase Invoice"](../page/51.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 52 "Purchase Credit Memo"](../page/52.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 830 "Workflow Webhook Entries"](../page/830.md) (1 call: `OnAfterGetRecord → CanCancel`)
- [Page 9300 "Sales Quotes"](../page/9300.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 9301 "Sales Invoice List"](../page/9301.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 9302 "Sales Credit Memos"](../page/9302.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 9305 "Sales Order List"](../page/9305.md) (1 call: `SetControlVisibility → GetCanRequestAndCanCancel`)
- [Page 9307 "Purchase Order List"](../page/9307.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 9308 "Purchase Invoices"](../page/9308.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Page 9309 "Purchase Credit Memos"](../page/9309.md) (1 call: `SetControlAppearance → GetCanRequestAndCanCancel`)
- [Table 233 "Item Journal Batch"](../table/233.md) (1 call: `SetApprovalStateForBatch → GetCanRequestAndCanCancel`)
- [Table 245 "Requisition Wksh. Name"](../table/245.md) (1 call: `SetApprovalStateForWkshBatch → GetCanRequestAndCanCancel`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "codeunit", object_name: "Workflow Webhook Management")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
