Weekly Wrike timelog to Google Sheets billing tracker
Every Monday at 7am ET, last week's tracked hours from Wrike land in your billing spreadsheet with a Slack heads-up to finance.
Build a deterministic weekly ETL workflow that copies last week's Wrike time entries into our billing tracker spreadsheet and posts a one-line confirmation in a finance Slack channel. No agent reasoning, no LLM in the loop, just a fixed pipeline.
Trigger: cron, every Monday at 7:00am US Eastern. On each run, compute the previous Monday through Sunday tracking window (the seven days ending the day before the run) and use that as the date filter for everything downstream.
Step 1: call Wrike List Timelogs filtered to that previous Monday-through-Sunday window. This is the source of truth for the rows we'll append.
Step 2: call Wrike List Contacts once to build an in-memory map from user ID to user name. We'll use this to turn each timelog's user ID into a human-readable name on the row.
Step 3: call Wrike List Folders once to build an in-memory map from folder/project ID to project name. We'll use this to turn each timelog's project reference into a readable project name. If a timelog references a project ID that isn't in the map (e.g. the project was deleted), fall back to writing the raw ID so no row is dropped.
Step 4: transform the timelogs into rows. Each row should contain, in this order: date, user name (from the contacts map), project name (from the folders map), task ID, hours logged, billable category, and the timelog comment.
Step 5: call Google Sheets Append Values once with the full batch of rows, targeting a designated billing-tracker spreadsheet and tab that the user configures at setup. Use a single append call, not one per row. Append after the last row of the existing table so prior weeks are never overwritten.
Step 6: after the append succeeds, call Slack Send a Message to post a one-line confirmation in a designated finance channel. The message should state how many rows were appended and the total hours logged for the week (e.g. "Weekly billing sync: appended 84 rows, 312.5 hours total for May 19 to May 25"). Include the date range in the message so finance can confirm coverage at a glance.
Configuration the workflow should expose at setup: the Google Sheets spreadsheet ID and tab name to append to, the Slack channel ID for the confirmation message, and the time zone for both the schedule and the tracking window (default America/New_York).
This is strictly deterministic. Do not use any agent or LLM reasoning steps. The whole flow is: list timelogs, build two ID-to-name lookup maps, assemble rows, append in one batch, send one Slack confirmation.
Additional information
What does this prompt do?
- Pulls last week's tracked time from Wrike, Monday through Sunday, so your billing records stay current without manual exports.
- Adds one row per time entry to your billing spreadsheet, with date, teammate, project, task, hours, billable category, and the time entry comment.
- Posts a one-line confirmation in your finance Slack channel with how many rows were added and total hours logged for the week.
- Runs on a steady weekly cadence so finance never has to chase project leads for time data.
What do I need to use this?
- A Wrike account with time tracking turned on for your team.
- A Google Sheets spreadsheet set up as your billing tracker, with a tab ready to receive new rows.
- A Slack workspace and a finance channel where the weekly confirmation can be posted.
How can I customize it?
- Change the day or time the sync runs. The default is Monday at 7am Eastern.
- Pick a different Slack channel for the confirmation, or send it as a direct message instead.
- Adjust which columns get written, change the project name lookup, or filter to specific billable categories.
Frequently asked questions
What time zone does the weekly schedule use?
Will this overwrite the rows already in my billing sheet?
What happens if a teammate logged time against a project that has since been deleted?
Can I send the result somewhere other than Google Sheets?
Do I need to keep my Wrike, Sheets, and Slack accounts connected after setup?
Stop exporting Wrike timelogs by hand every Monday.
Connect Wrike, Google Sheets, and Slack once, and Geni runs your weekly billing sync automatically.