Use Settings to configure delivery, Routing to select events, Logs to inspect delivery history, and Help for this guide. Routing requires Tier 1; Tier 2 adds request rules. Log visibility, payload previews, and deletion can be delegated separately with Tier 2 role permissions.
Send signals to Google Sheets to append rows from WordPress events.
Google Sheets is a premium SignalPress service. The active license must include service_google_sheets or *.
Hub service ID: google-sheets. Index: Integrations Overview. Target from PHP: Service Targeting.
Append SignalPress events to a Google Sheet in Drive. Each event is written as a summary row with a collapsed row group underneath for payload fields.
Google connection
Google Sheets uses your site's own Google Cloud project, not a shared SignalPress account. You create OAuth credentials in Google Cloud, paste them into SignalPress, then connect the Google account that should own the log spreadsheet.
Once connected, SignalPress can:
- Browse or create a Drive folder where the log spreadsheet will live.
- Create the log spreadsheet (
SignalPress - {your-domain} - Logs) in that folder. - Append rows when SignalPress events are routed to Google Sheets.
Each site keeps its own OAuth tokens, folder choice, and spreadsheet. Nothing is sent through SignalPress servers–WordPress talks to Google directly using the credentials you saved.
Setup checklist
- Save your OAuth client ID and client secret in the Google Cloud setup section.
- Click Connect Google account and approve access.
- Click Select folder or Create folder.
- Click Create log spreadsheet.
- Enable Google Sheets, save settings, and send a Test connection event.
If folder browsing stops working after an update, click Disconnect Google, then connect again so Google refreshes Drive permissions.
Send a signal
Send events to Google Sheets by name in the services option, or enable routing so matching events reach the sheet automatically.
PHP
sp_capture( 'order_completed', [ 'order_id' => 12345, 'total' => 99.00, 'currency' => 'USD', ], [ 'source' => 'checkout', 'services' => [ 'google-sheets' ], ] );
SignalPress adds a summary row at the top of the sheet (newest first) with timestamp, event name, project, source, environment, and message. Additional payload fields appear in a collapsed row group under that event. Sensitive keys such as passwords and API tokens are redacted before export.
Google Cloud setup
- Open SignalPress → Google Sheets → Settings.
- Follow the Google Cloud setup steps in the integration settings:
- Create or select a Google Cloud project
- Enable the Google Sheets and Google Drive APIs
- Configure the OAuth consent screen (External, Testing, add your Google account as a Test user)
- Create an OAuth web application
- Copy the Authorized redirect URI from SignalPress and paste it into your OAuth client’s redirect URI list.
- Paste the OAuth client ID and client secret into SignalPress, then save settings.
No API key is required. Folder selection uses your connected Google account.
Connect and create the log sheet
- Click Connect Google account and approve access.
- Click Select folder to browse Drive, or Create folder to make a new one.
- Click Create log spreadsheet. SignalPress creates
SignalPress - {your-domain} - Logs. - Enable the integration and save settings again if needed.
If folder browsing fails after an update, click Disconnect Google, then connect again so Google grants the latest Drive permissions.
Test the connection
Use Test connection on the Settings tab. SignalPress adds a test row at the top of the sheet (below the header).
Sheet layout
- Row 1 is a frozen header: Timestamp, Event, Project, Source, Environment, Message.
- Each new event is inserted on row 2, so the newest entry stays on top.
- Payload fields are written as indented rows grouped under the event. The group is collapsed by default; expand it with the + control in the row gutter.
Sensitive payload keys (tokens, passwords, secrets) are redacted before export.
Routing
Use the Routing tab to limit which events reach the sheet:
- Routing Environment — production, staging, development, or local
- Routing Minimum Level —
debug,info,warning,error,critical - Include / Exclude Event Patterns and Include Sources — wildcard filters
- Request Rules (Tier 2) — user, role, and path conditions
Filtered events appear in the delivery log with reason filtered.
Troubleshooting
- Connect is disabled: Save the OAuth client ID and client secret first.
- Google consent screen is blank or hangs: Keep the app in Testing, add your Google account under OAuth consent screen → Test users, and allow the Drive scopes SignalPress requests.
- Redirect URI mismatch: The redirect URI in Google Cloud must exactly match the value shown in SignalPress.
- Folder browser fails: Disconnect and reconnect Google. Confirm the Drive API is enabled in the same Cloud project as your OAuth client.
- Rows fail to append: Reconnect Google and confirm the spreadsheet still exists in the selected folder.
Optional server constants
Sites can still define SIGNALPRESS_GOOGLE_CLIENT_ID and SIGNALPRESS_GOOGLE_CLIENT_SECRET in wp-config.php. Values entered in the integration settings take precedence.
What to read next
- Integrations Overview — browse and activate services
- Your First Connection Test — send a test signal and read the log
- Advanced Event Routing — per-service event filters
- Connection Tests and Delivery Log — interpret delivery results
- Service Targeting — limit destinations from PHP