This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Asana Bulk Due Date Shifter

Productivity · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryProductivity
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Asana Bulk Due Date Shifter is a browser extension that automatically scans the current webpage for Asana tasks, task names, due dates, sections, and list view items. It detects Asana task elements by examining class names, IDs, data attributes, and text patterns for task-related keywords, task IDs, and date indicators. The extension adds a floating "shift due date" button (📅) next to each detected task element, allowing you to select individual tasks for bulk date shifting, capture task name, due date, and task ID. Clicking the button toggles the selection state, and selected tasks are added to a bulk collection. The main panel allows you to specify the number of days to shift (positive for later dates, negative for earlier dates), choose the shift direction (forward or backward), add notes about the shift reason, and apply the date shift to all selected tasks in configurable batches. The extension updates due date indicators on the page and logs each date shift to the local database with old date, new date, notes, and tags. The main panel displays all saved date shifts with task names, task IDs, old/new dates, notes, and tags. All data is stored locally in your browser using GM_setValue, ensuring your shift history persists across page reloads and browser sessions. This helps Asana users, project managers, team leads, and anyone managing projects in Asana to perform bulk due date shifts directly from task lists without manually updating each task, saving time on project timeline adjustments and schedule management.

WHERE IT RUNS

This extension runs on any Asana page that displays tasks, task names, due dates, sections, or list view items – including Asana project views, task lists, boards, calendar views, and any page containing Asana task data. The extension intelligently adapts to different page structures and supports a wide range of common Asana display patterns. No manual configuration is required per site; the extension automatically detects task elements using a flexible pattern matching system. This makes it ideal for project managers, team leads, and Asana users who need to perform bulk date shifts directly from the Asana UI.

HOW TO USE

Simply install the extension and navigate to any Asana page displaying tasks. The extension automatically detects task elements and places a small "shift due date" button (📅) next to each one. Click any of these buttons to select that task for bulk date shifting – the button highlights to show it's selected. Click it again to deselect. As you select tasks, a counter at the bottom-right shows how many you've collected. When ready, click the floating button (🗓️) to open the main panel. Enter the number of days to shift (positive for later dates, negative for earlier dates) or use the direction toggle to choose forward or backward. Add a note about the shift reason and optional tags. Click "Shift Due Dates" to start the bulk shift process – the extension processes tasks in batches (configurable size, default 10) to avoid performance issues, updating each task's due date and logging the change. The panel also displays your shift history for reference. Use the settings section to enable or disable auto-detection and set the batch size. The "Clear All History" button removes all tracking data when needed.

ONE TECHNICAL SECTION – WHY IT WORKS

The extension employs a multi-layered detection system that identifies Asana task information with high accuracy. First, it scans the DOM using a comprehensive set of CSS selectors targeting common task-related class patterns, IDs, and data attributes. The task ID extraction uses regex pattern matching to identify Asana task IDs from text, data attributes, and URL links. The task name extraction identifies task titles from text patterns and data attributes. The due date extraction uses multiple date formats (YYYY-MM-DD, MM/DD/YYYY, and natural language dates) and data attributes. The date parsing engine handles various date formats and converts them to Date objects for accurate shifting. The bulk shift process uses a batched approach with configurable batch size (default 10), processing tasks in sequential batches with 300ms delays between batches to avoid performance issues. The date shift calculation uses JavaScript Date objects with setDate() to accurately add or subtract days. A MutationObserver detects dynamic content updates and re-scans only when new task elements appear, balancing real-time accuracy with system performance.

THE PANEL – DRAG / PER-SITE POSITION / SNAP / COLLAPSE / RESIZE / ESCAPE

The bulk due date shift panel includes a draggable title bar, allowing you to position it anywhere on screen for convenient access during project planning. The extension remembers your preferred position per website, so the panel opens in the same location each time you return to that domain. The panel supports snap-to-edge behavior – when dragged near screen edges, it gently snaps into place for a tidy workspace layout. You can collapse the panel down to just its title bar by clicking the collapse button, keeping it accessible without taking up screen space. The shift history and settings are contained within a scrollable body, ensuring all content remains accessible even on smaller screens. Pressing the Escape key closes the panel instantly, returning you to your Asana workflow.

PLEASE NOTE

This extension requires the free BotGentz extension to be installed and enabled, as it relies on BotGentz's userscript injection and GM_* API shims for cross-browser compatibility. Websites frequently update their HTML structures and class names, which may cause task detection to break temporarily – we actively maintain the matching patterns and release updates regularly. The extension stores all date shift data, shift history, and notes exclusively in your local browser storage (GM_setValue); no data is ever transmitted to any external server or third party. This extension is not affiliated with, endorsed by, or sponsored by Asana. You are responsible for backing up your shift history data if you switch browsers or clear your storage. The extension does not read, modify, or interfere with any Asana data, tasks, or functionality beyond the page content – it operates on the static page content and stores only metadata (task IDs, task names, date changes, and notes) that you explicitly create. Use this tool responsibly and in accordance with your organization's data handling policies.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.