Un caso piuttosto frequente nella costruzione di app è la necessità di una procedura che, quando viene modificata una Entità, ne modifica automaticamente altre. Una procedura di questo tipo è di solito formata almeno dai seguenti elementi:
| 1 | un Evento Presave content entity | attiva la procedura quando sta per essere salvata una Entità di un certo tipo |
| 2 | una serie di Azioni e Condizioni | realizzano il comando |
| 3 | un'Azione o più Azioni Mostra un messaggio all'utente | avvisa l'Utente di aver modificato altre Entità |
Come esempio, costruiamo per la app "Vicinato" una procedura che allinea lo Stato della Richiesta allo Stato del Prestito concesso in risposta alla Richiesta. La procedura risultante è questa:

Vediamo passo passo come costruirla:
| crea la procedura | In Configurazione - ECA clicca Add new model. Clicca l'icona ℹ️ e in Etichetta digita un nome per la procedura | |
| 1 | attiva la procedura quando viene salvato un Prestito (nuovo o modificato) | Aggiungi un Evento Presave content entity. In Type (and bundle) seleziona il tipo di Entità "Contenuto: Prestito". L'Entità che ha attivato la procedura è memorizzata nel Token entity. |
| 2 | assegna alla procedura i privilegi di Amministratore, per consentire all'Utente di modificare lo Stato della Richiesta su cui non avrebbe diritti di modifica. | Aggiungi l'Azione User: switch current account. In User ID digita "1", che è l'identificativo di Amministratore |
| memorizza nel Token "richiesta" la Richiesta corrispondente al Prestito | Aggiungi l'Azione Entity: load. In Name of Token digita "richiesta" per creare il Token in cui memorizzare l'Entità Richiesta. In Load entity from seleziona Type and ID. In Tipo di Entità seleziona Contenuto, perché la Richiesta è una Entità di questo tipo. Copia dalla gerarchia dei Token il Token corrispondente al Campo del Prestito che contiene l'identificativo della Richiesta [node:field_richiesta_prestito:target_id]. In ID Entità incolla quel Token modificandolo in [entity:field_richiesta_prestito:target_id], perché l'Entità da cui prelevare quel Campo è il Prestito memorizzato nel Token entity. | |
| distingui cosa fare in base allo Stato del Prestito | Aggiungi un gateway (rombo). Da qui partono tre percorsi alternativi (2a) (2b) (2c) | |
| 2a | se il Prestito è "in corso", anche la Richiesta va messa "in corso" | Dal gateway aggiungi una Azione. Sul connettore che va dal gateway a questa Azione aggiungi la Condizione Compare two scalar values. Copia dalla gerarchia il Token che contiene il Campo Stato del Prestito [node:field_stato_prestito:value]. In First value incolla quel Token modificandolo in [entity:field_stato_prestito:value]. In Second value digita il nome interno dello Stato "in_corso". In questo modo le Azioni che seguono sono eseguite solo se lo Stato del Prestito è "in corso". Associa all'Azione la funzione Entity: set field value. In Nome del Campo digita il nome del Campo che memorizza lo Stato della Richiesta "field_stato_richiesta". In Valore del Campo digita "in_corso". In Entità digita "richiesta". |
| 2b | se il Prestito è "concluso", anche la Richiesta va messa "conclusa" | Come 2a, stavolta verificando che lo Stato del Prestito sia "concluso" e imponendo alla Richiesta lo Stato "conclusa" |
| 2c | se il Prestito è "concesso", la Richiesta è "accettata" | Come 2a, stavolta verificando che lo Stato del Prestito sia "concesso" e imponendo alla Richiesta lo Stato "accettata" |
| 3 | avvisa l'Utente che è stato cambiato lo Stato della Richiesta | Aggiungi l'Azione Mostra un messaggio all'utente. In Messaggio digita "Lo Stato della Richiesta [richiesta] è stato allineato a quello del Prestito" |