Recued
Menu
← Back to recipes

Todoist task comment closure watcher

by recued-core v3 37 views

Use “Todoist task comment closure watcher” in Recued. It checks saved items on a schedule and updates them when the connected service reports a final status.

Complete workflow

Use Todoist Task Comment Closure Loop in Recued for tasks, comments, productivity, and task management. It includes 2 ready-to-run workflows and 1 related pack in one install.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Todoist task comment closure watcher
This recipe Background automation

Use “Todoist task comment closure watcher” in Recued. It checks saved items on a schedule and updates them when the connected service reports a final status.

todoisttaskscommentsproductivity
by recued-core pinned v3

Use “Todoist task comment closure watcher timeout” in Recued. Low-frequency timeout role for the connected service. It moves a limited batch of expired rows from active to timedout, deletes the active copy only after the durable timeout write succeeds, and notifies the owner once per batch.

todoistwatchertimeoutowner-review
by recued-core pinned v2
View pack details, dependencies, and permissions →
How it works 175 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Data fetch
▼ shared_task_watches core.storage.shared.list
List storage shared
▼
Process (174 steps)
■ now date_add
Add 0 days to
■ watch_rows filter
Filter by condition
■ watch_rows_for_connection filter
Filter by condition
■ watch_rows_with_task filter
Filter by condition
■ watch_rows_with_comment filter
Filter by condition
■ never_checked_watch_rows filter
Filter by condition
■ checked_watch_rows filter
Filter by condition
■ checked_watch_rows_oldest_first sort
Sort by value.last_checked_at
■ fair_watch_rows flatten
Flatten nested lists in
■ candidate_rows slice
Take a subset of
■ batch_count count
Count items in candidate rows
■ candidate_count count
Count items in watch rows with comment
■ has_candidate compare
Check if candidate rows has data
■ has_connection compare
Check if connections todoist has data
■ skip_live_reads any
Check if any of the conditions are true
■ batch_context_envelopes merge
Combine objects together
■ batch_contexts map
Extract from each item
◆ task recued-core.todoist.task.read
Read task on todoist
skip: step.skip_live_reads equal true
■ task_live_batch_context pick
Keep only specific fields from
■ task_batch_context_envelopes merge
Combine objects together
■ task_batch_contexts map
Extract from each item
◆ comment recued-core.todoist.comment.read
Read comment on todoist
skip: step.skip_live_reads equal true
■ comment_live_batch_context pick
Keep only specific fields from
■ comment_batch_context_envelopes merge
Combine objects together
■ comment_batch_contexts map
Extract from each item
■ live_task_id default
Apply default
■ live_task_id_live_batch_context pick
Keep only specific fields from
■ live_task_id_batch_context_envelopes merge
Combine objects together
■ live_task_id_batch_contexts map
Extract from each item
■ has_live_task compare
Check if item live task id has data
■ has_live_task_live_batch_context pick
Keep only specific fields from
■ has_live_task_batch_context_envelopes merge
Combine objects together
■ has_live_task_batch_contexts map
Extract from each item
■ live_comment_id default
Apply default
■ live_comment_id_live_batch_context pick
Keep only specific fields from
■ live_comment_id_batch_context_envelopes merge
Combine objects together
■ live_comment_id_batch_contexts map
Extract from each item
■ has_live_comment compare
Check if item live comment id has data
■ has_live_comment_live_batch_context pick
Keep only specific fields from
■ has_live_comment_batch_context_envelopes merge
Combine objects together
■ has_live_comment_batch_contexts map
Extract from each item
■ task_checked_value default
Apply default
■ task_checked_value_live_batch_context pick
Keep only specific fields from
■ task_checked_value_batch_context_envelopes merge
Combine objects together
■ task_checked_value_batch_contexts map
Extract from each item
■ task_checked all
Check if all conditions are true
■ task_checked_live_batch_context pick
Keep only specific fields from
■ task_checked_batch_context_envelopes merge
Combine objects together
■ task_checked_batch_contexts map
Extract from each item
■ task_completed_at default
Apply default
■ task_completed_at_live_batch_context pick
Keep only specific fields from
■ task_completed_at_batch_context_envelopes merge
Combine objects together
■ task_completed_at_batch_contexts map
Extract from each item
■ task_completed_at_present all
Check if all conditions are true
■ task_completed_at_present_live_batch_context pick
Keep only specific fields from
■ task_completed_at_present_batch_context_envelopes merge
Combine objects together
■ task_completed_at_present_batch_contexts map
Extract from each item
■ task_completed any
Check if any of the conditions are true
■ task_completed_live_batch_context pick
Keep only specific fields from
■ task_completed_batch_context_envelopes merge
Combine objects together
■ task_completed_batch_contexts map
Extract from each item
■ task_deleted_value default
Apply default
■ task_deleted_value_live_batch_context pick
Keep only specific fields from
■ task_deleted_value_batch_context_envelopes merge
Combine objects together
■ task_deleted_value_batch_contexts map
Extract from each item
■ task_deleted all
Check if all conditions are true
■ task_deleted_live_batch_context pick
Keep only specific fields from
■ task_deleted_batch_context_envelopes merge
Combine objects together
■ task_deleted_batch_contexts map
Extract from each item
■ comment_deleted_value default
Apply default
■ comment_deleted_value_live_batch_context pick
Keep only specific fields from
■ comment_deleted_value_batch_context_envelopes merge
Combine objects together
■ comment_deleted_value_batch_contexts map
Extract from each item
■ comment_deleted all
Check if all conditions are true
■ comment_deleted_live_batch_context pick
Keep only specific fields from
■ comment_deleted_batch_context_envelopes merge
Combine objects together
■ comment_deleted_batch_contexts map
Extract from each item
■ deleted_status any
Check if any of the conditions are true
■ deleted_status_live_batch_context pick
Keep only specific fields from
■ deleted_status_batch_context_envelopes merge
Combine objects together
■ deleted_status_batch_contexts map
Extract from each item
■ terminal_status any
Check if any of the conditions are true
■ terminal_status_live_batch_context pick
Keep only specific fields from
■ terminal_status_batch_context_envelopes merge
Combine objects together
■ terminal_status_batch_contexts map
Extract from each item
■ task_project_id default
Apply default
■ task_project_id_live_batch_context pick
Keep only specific fields from
■ task_project_id_batch_context_envelopes merge
Combine objects together
■ task_project_id_batch_contexts map
Extract from each item
■ task_section_id default
Apply default
■ task_section_id_live_batch_context pick
Keep only specific fields from
■ task_section_id_batch_context_envelopes merge
Combine objects together
■ task_section_id_batch_contexts map
Extract from each item
■ comment_deleted_reason ternary
Apply ternary
■ comment_deleted_reason_live_batch_context pick
Keep only specific fields from
■ comment_deleted_reason_batch_context_envelopes merge
Combine objects together
■ comment_deleted_reason_batch_contexts map
Extract from each item
■ completion_reason ternary
Apply ternary
■ completion_reason_live_batch_context pick
Keep only specific fields from
■ completion_reason_batch_context_envelopes merge
Combine objects together
■ completion_reason_batch_contexts map
Extract from each item
■ closed_reason ternary
Apply ternary
■ closed_reason_live_batch_context pick
Keep only specific fields from
■ closed_reason_batch_context_envelopes merge
Combine objects together
■ closed_reason_batch_contexts map
Extract from each item
■ closed_status ternary
Apply ternary
■ closed_status_live_batch_context pick
Keep only specific fields from
■ closed_status_batch_context_envelopes merge
Combine objects together
■ closed_status_batch_contexts map
Extract from each item
■ owner_action ternary
Apply ternary
■ owner_action_live_batch_context pick
Keep only specific fields from
■ owner_action_batch_context_envelopes merge
Combine objects together
■ owner_action_batch_contexts map
Extract from each item
■ skip_close any
Check if any of the conditions are true
■ skip_close_live_batch_context pick
Keep only specific fields from
■ skip_close_batch_context_envelopes merge
Combine objects together
■ skip_close_batch_contexts map
Extract from each item
■ closed_watch_key replace
Replace text in item watch key
■ closed_watch_key_live_batch_context pick
Keep only specific fields from
■ closed_watch_key_batch_context_envelopes merge
Combine objects together
■ closed_watch_key_batch_contexts map
Extract from each item
◆ close_watch core.storage.shared.write
Write storage shared
skip: item.skip_close equal true
■ close_watch_live_batch_context pick
Keep only specific fields from
■ close_watch_batch_context_envelopes merge
Combine objects together
■ close_watch_batch_contexts map
Extract from each item
◆ delete_closed_active_watch core.storage.shared.delete
Delete storage shared
skip: item.close_watch.ok not_equal true
■ delete_closed_active_watch_live_batch_context pick
Keep only specific fields from
■ delete_closed_active_watch_batch_context_envelopes merge
Combine objects together
■ delete_closed_active_watch_batch_contexts map
Extract from each item
■ notify_completed_enabled compare
Check if setting notify when completed equals true
■ notify_completed_enabled_live_batch_context pick
Keep only specific fields from
■ notify_completed_enabled_batch_context_envelopes merge
Combine objects together
■ notify_completed_enabled_batch_contexts map
Extract from each item
■ notify_deleted_enabled compare
Check if setting notify when deleted equals true
■ notify_deleted_enabled_live_batch_context pick
Keep only specific fields from
■ notify_deleted_enabled_batch_context_envelopes merge
Combine objects together
■ notify_deleted_enabled_batch_contexts map
Extract from each item
■ should_notify_completed all
Check if all conditions are true
■ should_notify_completed_live_batch_context pick
Keep only specific fields from
■ should_notify_completed_batch_context_envelopes merge
Combine objects together
■ should_notify_completed_batch_contexts map
Extract from each item
■ should_notify_deleted all
Check if all conditions are true
■ should_notify_deleted_live_batch_context pick
Keep only specific fields from
■ should_notify_deleted_batch_context_envelopes merge
Combine objects together
■ should_notify_deleted_batch_contexts map
Extract from each item
■ status_should_notify any
Check if any of the conditions are true
■ status_should_notify_live_batch_context pick
Keep only specific fields from
■ status_should_notify_batch_context_envelopes merge
Combine objects together
■ status_should_notify_batch_contexts map
Extract from each item
■ should_notify all
Check if all conditions are true
■ should_notify_live_batch_context pick
Keep only specific fields from
■ should_notify_batch_context_envelopes merge
Combine objects together
■ should_notify_batch_contexts map
Extract from each item
■ notification_title ternary
Apply ternary
■ notification_title_live_batch_context pick
Keep only specific fields from
■ notification_title_batch_context_envelopes merge
Combine objects together
■ notification_title_batch_contexts map
Extract from each item
◆ notify_owner core.notification.send
Send notification
skip: item.should_notify not_equal true
■ notify_owner_live_batch_context pick
Keep only specific fields from
■ notify_owner_batch_context_envelopes merge
Combine objects together
■ notify_owner_batch_contexts map
Extract from each item
■ refreshed_watch_value merge
Combine objects together
skip: item.delete_closed_active_watch.ok equal true
■ refreshed_watch_value_live_batch_context pick
Keep only specific fields from
■ refreshed_watch_value_batch_context_envelopes merge
Combine objects together
■ refreshed_watch_value_batch_contexts map
Extract from each item
◆ refresh_active_watch core.storage.shared.write
Write storage shared
skip: item.delete_closed_active_watch.ok equal true
■ refresh_active_watch_live_batch_context pick
Keep only specific fields from
■ refresh_active_watch_batch_context_envelopes merge
Combine objects together
■ refresh_active_watch_batch_contexts map
Extract from each item
■ closed_batch_rows filter
Filter by condition
■ refreshed_batch_rows filter
Filter by condition
■ closed_batch_count count
Count items in closed batch rows
■ refreshed_batch_count count
Count items in refreshed batch rows
■ summary to_summary
Format results as a summary card
▼
Output
summary summary
Settings 4 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

channels setting = [object Object]
batch limit setting = 5
notify when deleted setting = true
notify when completed setting = true

Uses (6 operations)

Shared store List storage shared core.storage.shared.list
Pack operation Read task on todoist recued-core.todoist.task.read
Pack operation Read comment on todoist recued-core.todoist.comment.read
Shared store Write storage shared core.storage.shared.write
Shared store Delete storage shared core.storage.shared.delete
Notifications Send notification core.notification.send

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

Permissions it requires

Send notificationsRead your Todoist connection
Declared by the recipe — Recued grants these at install, where you review them before approving.

What it's allowed to do

Read Shared store core.storage.shared.list read-only
Write Shared store core.storage.shared.write external change
Write Shared store core.storage.shared.delete external change
Read Notifications core.notification.send external change

2 more aren't listed here. You'll see them at install.

Data it touches

SurfacesShared storeNotifications
Warehousedata.shared

About

Tags

todoist todoisttaskscommentsproductivitytask-managementclosurenotificationclosed-loopstate:todoist-task-comment-closure-watcherpack:todoist-task-comment-closure

Details

175 steps 4 configurable settings recipe_id: task-comment-closure-watcher-todoist