diff --git a/alfa-client/libs/command-shared/src/lib/command.model.ts b/alfa-client/libs/command-shared/src/lib/command.model.ts
index a64cb0dd5f581ff2a55b66d3ab9e56f22223841a..86fbc485c7b5143be1ab69d70e04644bafb1328b 100644
--- a/alfa-client/libs/command-shared/src/lib/command.model.ts
+++ b/alfa-client/libs/command-shared/src/lib/command.model.ts
@@ -73,6 +73,7 @@ export enum CommandOrder {
   VORGANG_ZURUECKHOLEN = 'VORGANG_ZURUECKHOLEN',
   VORGANG_BEARBEITEN = 'VORGANG_BEARBEITEN',
   VORGANG_BESCHEIDEN = 'VORGANG_BESCHEIDEN',
+  VORGANG_FORWARD = 'VORGANG_FORWARD',
   VORGANG_ZURUECKSTELLEN = 'VORGANG_ZURUECKSTELLEN',
   VORGANG_ABSCHLIESSEN = 'VORGANG_ABSCHLIESSEN',
   VORGANG_WIEDEREROEFFNEN = 'VORGANG_WIEDEREROEFFNEN',
diff --git a/alfa-client/libs/forwarding-shared/src/lib/forwarding.service.spec.ts b/alfa-client/libs/forwarding-shared/src/lib/forwarding.service.spec.ts
index f36d739ff6533b5fa17fa448dfecf9211238c7fe..32c7dcbe9469d168c5b4911268a5316a5ac21a9f 100644
--- a/alfa-client/libs/forwarding-shared/src/lib/forwarding.service.spec.ts
+++ b/alfa-client/libs/forwarding-shared/src/lib/forwarding.service.spec.ts
@@ -21,9 +21,15 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { CommandOrder, CommandResource, CommandService } from '@alfa-client/command-shared';
+import { CommandOrder, CommandResource, CommandService, CreateCommandProps } from '@alfa-client/command-shared';
 import { NavigationService } from '@alfa-client/navigation-shared';
-import { StateResource, createEmptyStateResource, createErrorStateResource, createStateResource } from '@alfa-client/tech-shared';
+import {
+  EMPTY_STRING,
+  StateResource,
+  createEmptyStateResource,
+  createErrorStateResource,
+  createStateResource,
+} from '@alfa-client/tech-shared';
 import { Mock, mock, useFromMock } from '@alfa-client/test-utils';
 import {
   CreateForwardCommand,
@@ -33,9 +39,11 @@ import {
   VorgangWithEingangLinkRel,
   VorgangWithEingangResource,
 } from '@alfa-client/vorgang-shared';
+import { faker } from '@faker-js/faker/.';
+import { ResourceUri } from '@ngxp/rest';
 import { hot } from 'jest-marbles';
 import { CommandLinkRel } from 'libs/command-shared/src/lib/command.linkrel';
-import { createCommandResource } from 'libs/command-shared/test/command';
+import { createCommandResource, createCreateCommandProps } from 'libs/command-shared/test/command';
 import {
   createVorgangForwardRequest,
   createVorgangResource,
@@ -43,7 +51,7 @@ import {
 } from 'libs/vorgang-shared/test/vorgang';
 import { Observable, of } from 'rxjs';
 import { createApiError } from '../../../tech-shared/test/error';
-import { multipleCold } from '../../../tech-shared/test/marbles';
+import { multipleCold, singleColdCompleted } from '../../../tech-shared/test/marbles';
 import { createForwardingListResource, createForwardingResource } from '../../test/forwarding';
 import { ForwardingLinkRel } from './forwarding.linkrel';
 import { ForwardingListResource, ForwardingResource } from './forwarding.model';
@@ -348,4 +356,74 @@ describe('ForwardingService', () => {
       expect(service.setList).toHaveBeenCalledWith(list);
     });
   });
+
+  describe('forward', () => {
+    const forwardingToUri: ResourceUri = faker.internet.url();
+    const vorgangResource: VorgangWithEingangResource = createVorgangWithEingangResource();
+    const createCommandProps: CreateCommandProps = createCreateCommandProps();
+    const commandResource: CommandResource = createCommandResource();
+    const commandStateResource: StateResource<CommandResource> = createStateResource(commandResource);
+
+    beforeEach(() => {
+      vorgangService.selectVorgangWithEingang.mockReturnValue(of(createStateResource(vorgangResource)));
+      service._buildForwardCreateCommandProps = jest.fn().mockReturnValue(createCommandProps);
+      commandService.createCommandByProps.mockReturnValue(of(commandStateResource));
+    });
+
+    it('should call vorgang service to get vorgang with eingang', () => {
+      service.forward(forwardingToUri).subscribe();
+
+      expect(vorgangService.selectVorgangWithEingang).toHaveBeenCalled();
+    });
+
+    it('should call build forward create command', () => {
+      service.forward(forwardingToUri).subscribe();
+
+      expect(service._buildForwardCreateCommandProps).toHaveBeenCalledWith(vorgangResource, forwardingToUri);
+    });
+
+    it('should call command service to create command', () => {
+      service.forward(forwardingToUri).subscribe();
+
+      expect(commandService.createCommandByProps).toHaveBeenCalledWith(createCommandProps);
+    });
+
+    it('should return response from command service', () => {
+      const forwardCommand$: Observable<StateResource<CommandResource>> = service.forward(forwardingToUri);
+
+      expect(forwardCommand$).toBeObservable(singleColdCompleted(commandStateResource));
+    });
+  });
+
+  describe('build forward command props', () => {
+    const forwardingToUri: ResourceUri = faker.internet.url();
+    const vorgangResource: VorgangWithEingangResource = createVorgangWithEingangResource();
+
+    it('should contains linkrel', () => {
+      const commandProps: CreateCommandProps = service._buildForwardCreateCommandProps(vorgangResource, forwardingToUri);
+
+      expect(commandProps.linkRel).toBe(VorgangWithEingangLinkRel.FORWARD_BY_OZGCLOUD);
+    });
+
+    it('should contains command', () => {
+      const commandProps: CreateCommandProps = service._buildForwardCreateCommandProps(vorgangResource, forwardingToUri);
+
+      expect(commandProps.command).toEqual({
+        order: CommandOrder.VORGANG_FORWARD,
+        body: { organisationEinheitId: forwardingToUri },
+      });
+    });
+
+    it('should contains empty snackbar message', () => {
+      const commandProps: CreateCommandProps = service._buildForwardCreateCommandProps(vorgangResource, forwardingToUri);
+
+      expect(commandProps.snackBarMessage).toBe(EMPTY_STRING);
+    });
+
+    it('should contains resource', () => {
+      const commandProps: CreateCommandProps = service._buildForwardCreateCommandProps(vorgangResource, forwardingToUri);
+
+      expect(commandProps.resource).toBe(vorgangResource);
+    });
+  });
 });
diff --git a/alfa-client/libs/forwarding-shared/src/lib/forwarding.service.ts b/alfa-client/libs/forwarding-shared/src/lib/forwarding.service.ts
index 3440dd55eaec83add48a0f56d3e2905304f60343..032a0569f57ad920f08a3db64238636d93c2a67f 100644
--- a/alfa-client/libs/forwarding-shared/src/lib/forwarding.service.ts
+++ b/alfa-client/libs/forwarding-shared/src/lib/forwarding.service.ts
@@ -21,9 +21,24 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { CommandResource, CommandService, CreateCommand, isDone, isPending } from '@alfa-client/command-shared';
+import {
+  CommandOrder,
+  CommandResource,
+  CommandService,
+  CreateCommand,
+  CreateCommandProps,
+  isDone,
+  isPending,
+} from '@alfa-client/command-shared';
 import { NavigationService } from '@alfa-client/navigation-shared';
-import { StateResource, createEmptyStateResource, createStateResource, hasStateResourceError } from '@alfa-client/tech-shared';
+import {
+  EMPTY_STRING,
+  StateResource,
+  createEmptyStateResource,
+  createStateResource,
+  hasStateResourceError,
+  mapToResource,
+} from '@alfa-client/tech-shared';
 import {
   ForwardRequest,
   VorgangResource,
@@ -34,9 +49,10 @@ import {
 } from '@alfa-client/vorgang-shared';
 import { Injectable, OnDestroy } from '@angular/core';
 import { Params } from '@angular/router';
+import { ResourceUri } from '@ngxp/rest';
 import { isNil } from 'lodash-es';
 import { BehaviorSubject, Observable, Subscription } from 'rxjs';
-import { first, map, startWith, tap } from 'rxjs/operators';
+import { first, map, startWith, switchMap, tap } from 'rxjs/operators';
 import { ForwardingLinkRel } from './forwarding.linkrel';
 import { ForwardingListResource, ForwardingResource } from './forwarding.model';
 import { ForwardingRepository } from './forwarding.repository';
@@ -164,6 +180,31 @@ export class ForwardingService implements OnDestroy {
     this.forwardingList$.next(createStateResource(list));
   }
 
+  public forward(forwardingToUri: ResourceUri): Observable<StateResource<CommandResource>> {
+    return this.selectVorgangWithEingang().pipe(
+      switchMap((vorgang: VorgangWithEingangResource) => {
+        return this.commandService.createCommandByProps(this._buildForwardCreateCommandProps(vorgang, forwardingToUri));
+      }),
+    );
+  }
+
+  private selectVorgangWithEingang(): Observable<VorgangWithEingangResource> {
+    return this.vorgangService.selectVorgangWithEingang().pipe(first(), mapToResource());
+  }
+
+  _buildForwardCreateCommandProps(vorgang: VorgangWithEingangResource, forwardingToUri: ResourceUri): CreateCommandProps {
+    return <any>{
+      linkRel: VorgangWithEingangLinkRel.FORWARD_BY_OZGCLOUD,
+      command: this.createBuildForwardCommand(forwardingToUri),
+      snackBarMessage: EMPTY_STRING,
+      resource: vorgang,
+    };
+  }
+
+  private createBuildForwardCommand(forwardingToUri: ResourceUri): CreateCommand {
+    return { order: CommandOrder.VORGANG_FORWARD, body: { organisationEinheitId: forwardingToUri } };
+  }
+
   ngOnDestroy(): void {
     this.unsubscribe();
   }
diff --git a/alfa-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts b/alfa-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts
index 0aa3ead988609bc5416e593f13cfdf6e44bd8a6e..841db70f825511dbd592a67f7a614955ff11f515 100644
--- a/alfa-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts
+++ b/alfa-client/libs/vorgang-shared/src/lib/vorgang.service.spec.ts
@@ -39,11 +39,12 @@ import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorga
 import { Observable, of } from 'rxjs';
 import { VorgangFacade } from './+state/vorgang.facade';
 import { VorgangWithEingangLinkRel } from './vorgang.linkrel';
-import { AdditionalActions, VorgangWithEingangResource } from './vorgang.model';
+import { AdditionalActions, VorgangResource, VorgangWithEingangResource } from './vorgang.model';
 import { VorgangService } from './vorgang.service';
 
 import { faker } from '@faker-js/faker';
 
+import { singleColdCompleted } from 'libs/tech-shared/test/marbles';
 import * as VorgangNavigationUtil from './vorgang-navigation.util';
 
 describe('VorgangService', () => {
@@ -515,4 +516,25 @@ describe('VorgangService', () => {
       });
     });
   });
+
+  describe('select vorgang with eingang', () => {
+    const vorgangStateResource: StateResource<VorgangResource> = createStateResource(createVorgangWithEingangResource());
+
+    beforeEach(() => {
+      facade.getVorgangWithEingang.mockReturnValue(of(vorgangStateResource));
+    });
+
+    it('should call facade to get vorgang with eingang', () => {
+      service.selectVorgangWithEingang();
+
+      expect(facade.getVorgangWithEingang).toHaveBeenCalled();
+    });
+
+    it('should return value', () => {
+      const vorgangWithEingangStateResource$: Observable<StateResource<VorgangWithEingangResource>> =
+        service.selectVorgangWithEingang();
+
+      expect(vorgangWithEingangStateResource$).toBeObservable(singleColdCompleted(vorgangStateResource));
+    });
+  });
 });
diff --git a/alfa-client/libs/vorgang-shared/src/lib/vorgang.service.ts b/alfa-client/libs/vorgang-shared/src/lib/vorgang.service.ts
index 1af6e12ff7877e9e221d05730199423689663082..27fbe8ff8a03361c403cd38d034cacac177ef7ec 100644
--- a/alfa-client/libs/vorgang-shared/src/lib/vorgang.service.ts
+++ b/alfa-client/libs/vorgang-shared/src/lib/vorgang.service.ts
@@ -198,4 +198,8 @@ export class VorgangService {
     const createCommand = { order: CommandOrder.SET_AKTENZEICHEN, body: { aktenzeichen } };
     return this.commandService.createCommand(vorgang, VorgangWithEingangLinkRel.SET_AKTENZEICHEN, createCommand);
   }
+
+  public selectVorgangWithEingang(): Observable<StateResource<VorgangWithEingangResource>> {
+    return this.facade.getVorgangWithEingang();
+  }
 }