MolKit logo
Tools

Step 8 of 10

Update the sheet status after sending

Write the processing result back to the spreadsheet row so the team can track which leads were replied to, which failed, and when each was processed.

Why this matters

Without this step, the spreadsheet is a passive log, you can see leads come in but you have no idea which ones were processed. With status writeback, every row tells you exactly what happened: sent at 14:32, failed because of invalid email, needs manual review. This is what makes the workflow operational rather than just a demo.

Build instructions

Add the Update Row step after successful send

  1. Step 1

    Click '+' after the Gmail send step. Search for 'Google Sheets'. Select action event 'Update Spreadsheet Row'.

  2. Step 2

    Select the same spreadsheet and worksheet you used for the trigger. In the 'Row' field, you need to identify which row to update. The trigger output includes a 'Row' field - anumber like '2' or '3'. Select that field.

  3. Step 3

    Alternatively, if you created a Lead ID formula, you can use the row number directly. The trigger's 'Row' output is the most reliable identifier.

Map the status columns

  1. Step 1

    In the Update Row fields, find 'Reply Status'. Click inside and type 'sent' directly (do not map from another field, this is a hardcoded value you set after a successful send).

  2. Step 2

    Find 'Reply Timestamp'. Click inside and select 'Zap Meta > Run Time' from Zapier's built-in fields. This inserts the exact UTC timestamp when this step ran.

  3. Step 3

    Find 'Last Error'. Leave this field blank or type an empty space. A blank value here signals that the last processing attempt succeeded with no errors.

Handle the failure path

If the Gmail send fails (e.g. the recipient address bounced or Gmail returned a rate limit error), you want the sheet to reflect that instead of showing no update at all.

  1. Step 1

    In Zapier, use the 'Paths' feature or add error handling. Create a second path triggered 'Only if Gmail send fails'. In this path, add another Update Spreadsheet Row step.

  2. Step 2

    Set Reply Status to 'failed'. Set Last Error to the error message from the Gmail step (available as an output field when the step fails). Set Reply Timestamp to the current time.

  3. Step 3

    This gives operators a clear signal to check: the row shows 'failed' with an error message so they know exactly what to fix.

Common mistakes

  • Updating the wrong row. If you use a hardcoded row number (like '2') instead of the dynamic row from the trigger, every run will update Row 2 regardless of which lead triggered the Zap.
  • Not writing a timestamp. Without Reply Timestamp, you cannot tell when a lead was processed. Timestamp data is essential for SLA tracking and debugging time-sensitive issues.
  • Skipping the failure path. If you only update status on success and the Gmail step fails, the row stays in 'queued' state forever. You will not know it failed unless you happen to check the Zap history.

Pro tips

  • Add the Zap run ID to the Ops Notes column using Zapier's built-in 'Zap Meta > Zap ID'. This lets you look up the exact Zapier run that processed a specific row when you need to debug.
  • After publishing, manually check 5 rows in the sheet after 5 real form submissions. Every row should have a Reply Status of 'sent' and a timestamp. If any rows still show blank status, your Update Row step has a mapping error.

Before you continue

Trigger a test run through the full Zap. After it completes, check the Google Sheet. The test row should show: Reply Status = 'sent', Reply Timestamp = a real timestamp, Last Error = blank. If any of these are missing or incorrect, debug the Update Row step before continuing.

Step result

Every lead row now records exactly what happened: sent, failed, or needs-review, with a timestamp and error details for any failures.