Wdrożenie dwuetapowego systemu powiadomień e-mail o akceptacji w Arkuszach Google

Wdrożenie dwuetapowego systemu powiadomień e-mail o akceptacji w Arkuszach Google
Google Sheets

Automatyzacja powiadomień o zatwierdzeniu w przepływach pracy arkusza kalkulacyjnego

W dzisiejszych dynamicznych środowiskach biznesowych wydajność procesów zatwierdzania może znacząco wpłynąć na przepływy pracy operacyjnej. Wiele organizacji korzysta z Arkuszy Google do zarządzania zadaniami, takimi jak prośby o zatwierdzenie, ze względu na ich elastyczność i dostępność. Częstym wyzwaniem jest wdrożenie zautomatyzowanego systemu dla tych procesów, szczególnie gdy wiąże się to z dwuetapowym mechanizmem zatwierdzania. System ten wymaga wysłania automatycznej wiadomości e-mail do działu IT po uzyskaniu zatwierdzeń wstępnych i ostatecznych, pod warunkiem, że status żądania zmieni się na „zatwierdzone”.

Jednak automatyzacja tego procesu za pomocą Google Apps Script stanowi szczególne wyzwanie. Wbudowany wyzwalacz „onEdit”, kluczowy dla zainicjowania wysyłki e-maila, nie aktywuje się w przypadku zmian wprowadzonych programowo – tylko w przypadku tych wprowadzonych w wyniku bezpośredniej interakcji z użytkownikiem. To ograniczenie stanowi poważną przeszkodę w przypadkach, gdy aktualizacja statusu z „oczekującego” na „zatwierdzony” jest wykonywana przez skrypt. To wprowadzenie stanowi podstawę do eksploracji rozwiązań umożliwiających bezproblemową integrację automatycznych powiadomień e-mail z przepływem pracy zatwierdzania opartym na Arkuszach Google, zapewniając terminową komunikację i wydajność procesów.

Komenda Opis
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Approvals") Uzyskuje dostęp do aktywnego arkusza kalkulacyjnego i pobiera arkusz o nazwie „Zatwierdzenia”.
getDataRange() Pobiera wszystkie dane z arkusza jako zakres.
getValues() Zwraca wartości komórek w zakresie jako tablicę dwuwymiarową.
MailApp.sendEmail(email, subject, body) Wysyła wiadomość e-mail z określonym odbiorcą, tematem i treścią.
sheet.getRange(i + 1, emailSentColumn + 1).setValue("sent") Ustawia wartość określonej komórki na „wysłane”, wskazując, że wiadomość e-mail została wysłana.
google.script.run Wywołuje funkcję Google Apps Script z aplikacji internetowej.
withSuccessHandler(function()) Określa funkcję, która ma zostać uruchomiona, jeśli wywołanie google.script.run zakończy się pomyślnie.
withFailureHandler(function(err)) Określa funkcję, która ma zostać uruchomiona w przypadku niepowodzenia wywołania google.script.run, przekazując błąd jako argument.
updateStatusInSheet(approvalId, status) Niestandardowa funkcja skryptu Google Apps (niewidoczna we fragmencie kodu), która aktualizuje stan prośby o zatwierdzenie w arkuszu kalkulacyjnym.

Odszyfrowanie automatycznego mechanizmu poczty elektronicznej

Zautomatyzowany system wyzwalania wiadomości e-mail, który zaprojektowałem dla Arkuszy Google, ma przede wszystkim na celu usprawnienie procesu zatwierdzania w organizacjach, szczególnie w przypadkach wymagających zgody wielu osób zatwierdzających przed kontynuowaniem. Pierwsza część rozwiązania, stworzona w Google Apps Script, bezpośrednio współpracuje z Arkuszami Google, w których rejestrowane są stany zatwierdzeń. Skrypt sprawdza cały arkusz „Zatwierdzenia” pod kątem wierszy, w których zarówno osoba zatwierdzająca 1, jak i osoba zatwierdzająca 2 oznaczyły swoje zatwierdzenie jako „zatwierdzone”. Jest to istotne, ponieważ skrypt ma działać tylko wtedy, gdy zostaną wydane obie zgody, co odzwierciedla w pełni autoryzowane żądanie. Aby to osiągnąć, skrypt iteruje po każdym wierszu, sprawdzając konkretne kolumny wyznaczone dla decyzji każdej osoby zatwierdzającej oraz ogólny status żądania. Kiedy wiersz spełnia kryteria — obie osoby zatwierdzające zostały zatwierdzone, a status jest ustawiony na „zatwierdzony” — skrypt wysyła wiadomość e-mail do działu IT. To powiadomienie e-mail jest wysyłane za pomocą usługi MailApp, będącej częścią Google Apps Script, która umożliwia wysyłanie wiadomości e-mail bezpośrednio ze skryptu. Daje pewność, że dział IT zostanie niezwłocznie poinformowany o zatwierdzonym wniosku, co pozwala na szybkie podjęcie działań.

Mechanizm aktualizacji statusu akceptacji poprzez aplikację webową stanowi frontendowy odpowiednik zautomatyzowanego systemu poczty elektronicznej. Ten komponent jest szczególnie istotny, ponieważ wyzwalacz „onEdit” w Arkuszach Google reaguje tylko na ręczne zmiany, a nie na zmiany programowe. Aby ominąć to ograniczenie, prosty interfejs sieciowy umożliwia użytkownikom aktualizację statusu prośby o zatwierdzenie. Podczas interakcji, na przykład kliknięcia przycisku w celu oznaczenia żądania jako „zatwierdzonego”, aplikacja internetowa wywołuje funkcję Google Apps Script za pomocą polecenia `google.script.run`. To polecenie ma ogromne możliwości, ponieważ umożliwia skryptowi wykonywanie działań w Arkuszu Google na podstawie danych wejściowych otrzymanych z interfejsu internetowego, skutecznie naśladując ręczną edycję. Następnie skrypt może przystąpić do sprawdzania zmian i wysyłania wiadomości e-mail zgodnie z założeniami, wypełniając lukę utworzoną przez ograniczenia wyzwalacza „onEdit”. To dwuskładnikowe rozwiązanie zapewnia, że ​​proces zatwierdzania jest zarówno wydajny, jak i elastyczny, uwzględniając potrzebę zarówno ręcznych, jak i automatycznych interwencji w przepływie pracy.

Usprawnienie powiadomień e-mail o etapach zatwierdzania w aplikacjach arkuszy kalkulacyjnych

Skrypt Google Apps do przetwarzania zaplecza

function checkApprovalsAndSendEmail() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Approvals");
  var range = sheet.getDataRange();
  var values = range.getValues();
  var emailSentColumn = 5; // Assuming the fifth column tracks email sending status
  var approver1Column = 2; // Column for approver 1's status
  var approver2Column = 3; // Column for approver 2's status
  var statusColumn = 4; // Column for the overall status
  for (var i = 1; i < values.length; i++) {
    var row = values[i];
    if (row[statusColumn] == "approved" && row[emailSentColumn] != "sent") {
      if (row[approver1Column] == "approved" && row[approver2Column] == "approved") {
        var email = "it@domain.com";
        var subject = "Approval Request Completed";
        var body = "The approval request for " + row[0] + " has been fully approved.";
        MailApp.sendEmail(email, subject, body);
        sheet.getRange(i + 1, emailSentColumn + 1).setValue("sent");
      }
    }
  }
}

Automatyczna aktualizacja statusu zatwierdzenia za pośrednictwem aplikacji internetowej

HTML i JavaScript dla interakcji frontendowej

<!DOCTYPE html>
<html>
<head>
<title>Approval Status Updater</title>
</head>
<body>
<script>
function updateApprovalStatus(approvalId, status) {
  google.script.run
    .withSuccessHandler(function() {
      alert('Status updated successfully.');
    })
    .withFailureHandler(function(err) {
      alert('Failed to update status: ' + err.message);
    })
    .updateStatusInSheet(approvalId, status);
}
</script>
<input type="button" value="Update Status" onclick="updateApprovalStatus('123', 'approved');" />
</body>
</html>

Zwiększanie wydajności przepływu pracy poprzez automatyzację arkuszy kalkulacyjnych

Koncepcja automatyzacji powiadomień e-mail w Arkuszach Google w ramach dwuetapowego procesu zatwierdzania wprowadza wyrafinowaną metodę usprawnienia przepływów pracy w organizacji. Tradycyjnie podstawą były ręczne interwencje w sekwencje zatwierdzania, wymagające działań człowieka w celu popchnięcia procesów do przodu. Jednak wykorzystując Google Apps Script, zwracamy się w stronę modelu, w którym takie interwencje są minimalizowane, co prowadzi do zwiększonej wydajności i redukcji błędów. Ta zmiana nie tylko przyspiesza ogólny proces zatwierdzania, ale także zapewnia, że ​​powiadomienia są wysyłane we właściwym momencie, szczególnie gdy obie strony zatwierdzające zatwierdziły wniosek, co oznacza zmianę statusu na „zatwierdzony”.

To podejście podkreśla znaczenie programowo zarządzanych aktualizacji statusu w arkuszu kalkulacyjnym, co jest metodą omijającą ograniczenia wyzwalacza „onEdit”. Stosując niestandardowy skrypt, który nasłuchuje zmian statusu i odpowiednio wysyła powiadomienia e-mail, organizacje mogą ominąć ręczne wąskie gardła, automatyzując w ten sposób krytyczny element przepływu pracy operacyjnej. Ten zwrot metodologiczny nie tylko udoskonala proces zatwierdzania, ale także wprowadza poziom skalowalności i możliwości adaptacji, który wcześniej był nieosiągalny w przypadku procesów ręcznych, otwierając drzwi do bardziej dynamicznego i responsywnego systemu zarządzania przepływem pracy.

Często zadawane pytania dotyczące automatyzacji arkuszy kalkulacyjnych

  1. Pytanie: Czy proces automatyzacji może działać w przypadku dowolnego dokumentu Arkuszy Google?
  2. Odpowiedź: Tak, automatyzację można zastosować do dowolnego dokumentu Arkuszy Google, pod warunkiem, że skrypt zostanie poprawnie skonfigurowany pod kątem struktury tego konkretnego dokumentu.
  3. Pytanie: Czy do wdrożenia tych skryptów wymagana jest wiedza z zakresu kodowania?
  4. Odpowiedź: Podstawowa znajomość kodowania w języku JavaScript jest korzystna przy dostosowywaniu i wdrażaniu skryptów w Google Apps Script.
  5. Pytanie: Czy automatyczny wyzwalacz e-mail może obsługiwać wiele próśb o zatwierdzenie jednocześnie?
  6. Odpowiedź: Tak, skrypt może obsłużyć wiele żądań, iterując po wierszach danych i sprawdzając status zatwierdzenia każdego żądania.
  7. Pytanie: Jak bezpieczny jest zautomatyzowany proces?
  8. Odpowiedź: Proces ten jest tak samo bezpieczny, jak każda operacja w Arkuszach Google i Google Apps Script, a do ochrony danych wykorzystuje standardowe protokoły bezpieczeństwa Google.
  9. Pytanie: Czy skrypt może wysyłać powiadomienia na wiele adresów e-mail?
  10. Odpowiedź: Tak, skrypt można zmodyfikować tak, aby wysyłał powiadomienia na wiele adresów e-mail, dostosowując parametr odbiorcy w funkcji MailApp.sendEmail.

Podsumowanie spostrzeżeń i dalszych kroków

Badanie automatycznych wyzwalaczy poczty e-mail w Arkuszach Google w ramach dwuetapowego procesu zatwierdzania pozwala uzyskać krytyczny wgląd w ograniczenia i potencjalne rozwiązania usprawniające takie przepływy pracy. Domyślny wyzwalacz onEdit nie rozpoznaje zmian programowych, wymaga kreatywnego podejścia do skryptów, aby zapewnić, że powiadomienia będą wysyłane tylko wtedy, gdy zatwierdzenia zostaną w pełni potwierdzone. Ten scenariusz podkreśla znaczenie niestandardowych rozwiązań Google Apps Script w wypełnianiu luk w natywnych funkcjach Arkuszy Google, umożliwiając rozwój bardziej dynamicznych i responsywnych procesów zatwierdzania. Wykorzystując skrypt Google Apps Script do tworzenia wyspecjalizowanych wyzwalaczy i funkcji, organizacje mogą zwiększyć swoją efektywność operacyjną i przepływ komunikacji, zapewniając, że kluczowi interesariusze zostaną niezwłocznie poinformowani o zakończeniu etapów zatwierdzania. Dyskusja podkreśliła konieczność adaptacji w obliczu ograniczeń platformy, zachęcając do proaktywnego podejścia do rozwiązywania problemów w ramach zautomatyzowanych systemów.