diff --git a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..27fbc0aa695b4e30a7e311679e3331dfd621b8ea
--- /dev/null
+++ b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-forwarding-dialog.e2e.component.ts
@@ -0,0 +1,51 @@
+export class ForwardingDialogE2EComponent {
+  private readonly root: string = 'forwarding-dialog';
+  private readonly cancelButton: string = 'cancel-dialog-button';
+  private readonly cancelIconButton: string = 'cancel-dialog-icon-button';
+  private readonly forwardingButton: string = 'forwarding-button';
+  private readonly searchText: string = 'instant_search-text-input';
+  private readonly searchEntry: string = 'item-button';
+  private readonly forwardingItem: string = 'forwarding-item';
+  private readonly changeButton: string = 'forwarding-item-change-button';
+  private readonly zufiSearch: string = 'zufi-search';
+
+  public getRoot() {
+    return cy.getTestElement(this.root);
+  }
+
+  public getCancelButton() {
+    return cy.getTestElement(this.cancelButton);
+  }
+
+  public getCancelIconButton() {
+    return cy.getTestElement(this.cancelIconButton);
+  }
+
+  public getForwardingButton() {
+    return cy.getTestElement(this.forwardingButton);
+  }
+
+  public getSearchText() {
+    return cy.getTestElement(this.searchText);
+  }
+
+  public search(text: string) {
+    this.getSearchText().type(text);
+  }
+
+  public clickSearchEntry(index: number): void {
+    cy.getTestElement(this.searchEntry).eq(index).click();
+  }
+
+  public getForwardingItem() {
+    return cy.getTestElement(this.forwardingItem);
+  }
+
+  public getChangeButton() {
+    return cy.getTestElement(this.changeButton);
+  }
+
+  public getZufiSearch() {
+    return cy.getTestElement(this.zufiSearch);
+  }
+}