Recued
Menu
← Back to recipes

Front conversation reply reopen watcher

by recued-core v3 32 views

Use “Front conversation reply reopen watcher” in Recued. It checks saved items on a schedule and updates them when the connected service reports a final status.

Complete workflow

Use Front Conversation Reply Reopen Loop in Recued for support, shared inbox, closed loop, and state front conversation reply reopen watcher. It includes 3 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.

Front conversation reply reopen watcher
This recipe Background automation

Use “Front conversation reply reopen watcher” in Recued. It checks saved items on a schedule and updates them when the connected service reports a final status.

frontsupportshared-inboxconversation
by recued-core pinned v3

Use “Front conversation reply reopen 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.

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

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

Data fetch
▼ shared_reopen_watches core.storage.shared.list
List storage shared
▼
Process (169 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_conversation 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 conversation
■ has_candidate compare
Check if candidate rows has data
■ has_connection compare
Check if connections front has data
■ skip_front_read any
Check if any of the conditions are true
■ batch_context_envelopes merge
Combine objects together
■ batch_contexts map
Extract from each item
◆ conversation recued-core.front.conversation.read
Read conversation on front
skip: step.skip_front_read equal true
■ conversation_live_batch_context pick
Keep only specific fields from
■ conversation_batch_context_envelopes merge
Combine objects together
■ conversation_batch_contexts map
Extract from each item
◆ events_raw recued-core.front.conversation.event.search
Search conversation event on front
skip: step.skip_front_read equal true
■ events_raw_live_batch_context pick
Keep only specific fields from
■ events_raw_batch_context_envelopes merge
Combine objects together
■ events_raw_batch_contexts map
Extract from each item
■ events default
Apply default
■ events_live_batch_context pick
Keep only specific fields from
■ events_batch_context_envelopes merge
Combine objects together
■ events_batch_contexts map
Extract from each item
■ latest_event_id default
Apply default
■ latest_event_id_live_batch_context pick
Keep only specific fields from
■ latest_event_id_batch_context_envelopes merge
Combine objects together
■ latest_event_id_batch_contexts map
Extract from each item
■ latest_event_type default
Apply default
■ latest_event_type_live_batch_context pick
Keep only specific fields from
■ latest_event_type_batch_context_envelopes merge
Combine objects together
■ latest_event_type_batch_contexts map
Extract from each item
■ latest_event_type_text lowercase
Convert item latest event type to lowercase
■ latest_event_type_text_live_batch_context pick
Keep only specific fields from
■ latest_event_type_text_batch_context_envelopes merge
Combine objects together
■ latest_event_type_text_batch_contexts map
Extract from each item
■ latest_event_emitted_at default
Apply default
■ latest_event_emitted_at_live_batch_context pick
Keep only specific fields from
■ latest_event_emitted_at_batch_context_envelopes merge
Combine objects together
■ latest_event_emitted_at_batch_contexts map
Extract from each item
■ latest_event_changed compare
Check if item latest event id does not equal item watch value baseline event id
■ latest_event_changed_live_batch_context pick
Keep only specific fields from
■ latest_event_changed_batch_context_envelopes merge
Combine objects together
■ latest_event_changed_batch_contexts map
Extract from each item
■ has_baseline_event compare
Check if item watch value baseline event id has data
■ has_baseline_event_live_batch_context pick
Keep only specific fields from
■ has_baseline_event_batch_context_envelopes merge
Combine objects together
■ has_baseline_event_batch_contexts map
Extract from each item
■ live_status default
Apply default
■ live_status_live_batch_context pick
Keep only specific fields from
■ live_status_batch_context_envelopes merge
Combine objects together
■ live_status_batch_contexts map
Extract from each item
■ live_status_text lowercase
Convert item live status to lowercase
■ live_status_text_live_batch_context pick
Keep only specific fields from
■ live_status_text_batch_context_envelopes merge
Combine objects together
■ live_status_text_batch_contexts map
Extract from each item
■ live_status_category default
Apply default
■ live_status_category_live_batch_context pick
Keep only specific fields from
■ live_status_category_batch_context_envelopes merge
Combine objects together
■ live_status_category_batch_contexts map
Extract from each item
■ live_status_category_text lowercase
Convert item live status category to lowercase
■ live_status_category_text_live_batch_context pick
Keep only specific fields from
■ live_status_category_text_batch_context_envelopes merge
Combine objects together
■ live_status_category_text_batch_contexts map
Extract from each item
■ closure_status compare
Check if item live status text is one of setting closure statuses
■ closure_status_live_batch_context pick
Keep only specific fields from
■ closure_status_batch_context_envelopes merge
Combine objects together
■ closure_status_batch_contexts map
Extract from each item
■ closure_status_category compare
Check if item live status category text is one of setting closure status categories
■ closure_status_category_live_batch_context pick
Keep only specific fields from
■ closure_status_category_batch_context_envelopes merge
Combine objects together
■ closure_status_category_batch_contexts map
Extract from each item
■ closure_state any
Check if any of the conditions are true
■ closure_state_live_batch_context pick
Keep only specific fields from
■ closure_state_batch_context_envelopes merge
Combine objects together
■ closure_state_batch_contexts map
Extract from each item
■ owner_review_event_type compare
Check if item latest event type text is one of setting owner review event types
■ owner_review_event_type_live_batch_context pick
Keep only specific fields from
■ owner_review_event_type_batch_context_envelopes merge
Combine objects together
■ owner_review_event_type_batch_contexts map
Extract from each item
■ needs_owner_review all
Check if all conditions are true
■ needs_owner_review_live_batch_context pick
Keep only specific fields from
■ needs_owner_review_batch_context_envelopes merge
Combine objects together
■ needs_owner_review_batch_contexts map
Extract from each item
■ actionable_status any
Check if any of the conditions are true
■ actionable_status_live_batch_context pick
Keep only specific fields from
■ actionable_status_batch_context_envelopes merge
Combine objects together
■ actionable_status_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_review_owner_action_text trim
Trim whitespace from setting owner review owner action
■ owner_review_owner_action_text_live_batch_context pick
Keep only specific fields from
■ owner_review_owner_action_text_batch_context_envelopes merge
Combine objects together
■ owner_review_owner_action_text_batch_contexts map
Extract from each item
■ closed_owner_action_text trim
Trim whitespace from setting closed owner action
■ closed_owner_action_text_live_batch_context pick
Keep only specific fields from
■ closed_owner_action_text_batch_context_envelopes merge
Combine objects together
■ closed_owner_action_text_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_closed_enabled compare
Check if setting notify when closed equals true
■ notify_closed_enabled_live_batch_context pick
Keep only specific fields from
■ notify_closed_enabled_batch_context_envelopes merge
Combine objects together
■ notify_closed_enabled_batch_contexts map
Extract from each item
■ notify_review_enabled compare
Check if setting notify when owner review equals true
■ notify_review_enabled_live_batch_context pick
Keep only specific fields from
■ notify_review_enabled_batch_context_envelopes merge
Combine objects together
■ notify_review_enabled_batch_contexts map
Extract from each item
■ notify_enabled ternary
Apply ternary
■ notify_enabled_live_batch_context pick
Keep only specific fields from
■ notify_enabled_batch_context_envelopes merge
Combine objects together
■ notify_enabled_batch_contexts map
Extract from each item
■ notification_title_prefix_text trim
Trim whitespace from setting notification title prefix
■ notification_title_prefix_text_live_batch_context pick
Keep only specific fields from
■ notification_title_prefix_text_batch_context_envelopes merge
Combine objects together
■ notification_title_prefix_text_batch_contexts map
Extract from each item
■ notification_title concat
Combine text or lists together
■ 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
■ notification_text concat
Combine text or lists together
■ notification_text_live_batch_context pick
Keep only specific fields from
■ notification_text_batch_context_envelopes merge
Combine objects together
■ notification_text_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
◆ 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 10 configurable

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

channels setting = [object Object]
batch limit setting = 5
closure statuses setting = archived,spam,trashed,deleted
notify when closed setting = true
closed owner action setting = Conversation reached a Front closure status or resolved ticket category; no further Recued follow-up is open for this conversation.
notify when owner review setting = true
owner review event types setting = inbound,reopen,message_bounce_error,sending_error
closure status categories setting = resolved
notification title prefix setting = Front conversation reply watch
owner review owner action setting = Conversation has a newer customer-return, reopen, or delivery-error event after the Recued reply; review the latest Front conversation before replying again.

Uses (6 operations)

Shared store List storage shared core.storage.shared.list
Pack operation Read conversation on front recued-core.front.conversation.read
Pack operation Search conversation event on front recued-core.front.conversation.event.search
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 Front 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

front frontsupportshared-inboxconversationreplyreopennotificationclosed-loopstate:front-conversation-reply-reopen-watcherpack:front-conversation-reply-reopen

Details

170 steps 10 configurable settings recipe_id: conversation-reply-reopen-watcher-front