Action
Send to OF Inbox 3
Steps
-
script
const baseURL = "omnifocus:///paste"; //replace any placeholder if they exist let known_placeholders = {}; let placeholders = []; let draftsContent = draft.content; let matches = draftsContent.match(/«(.+?)»/g); for (match in matches) { let placeholder = matches[match]; known_placeholders[placeholder] = null; placeholders.push(placeholder); } if (placeholders.length === 0) { let alert = Prompt.create(); alert.title = "No template placeholders were found."; alert.body = "If your project text has placeholders (that look like «this»), this script will prompt for values you'd like to substitute for them."; let alertCancelled = alert.addButton("Continue Anyway"); if (alertCancelled === false) { cancel("User cancelled the script"); } } else { for (let placeholder in known_placeholders) { let showPlaceholder = placeholder.replace("«", "").replace("»", ""); let placeholderQuery = Prompt.create(); placeholderQuery.title = placeholder; placeholderQuery.addTextField("placeholder", "", showPlaceholder); placeholderQuery.addButton("OK"); placeholderQuery.isCancellable = false; placeholderQuery.show(); draftsContent = draftsContent.replace(new RegExp(placeholder, 'g'), placeholderQuery.fieldValues["placeholder"]); } } //send this to OmniFocus let cb = CallbackURL.create(); cb.baseURL = baseURL; cb.addParameter("content", draftsContent + "%20@tags(foo)"); // open and wait for result let success = cb.open(); if (success) { console.log("Taskpaper added to OF") } else { // something went wrong or was cancelled console.log(cb.status); if (cb.status == "cancel") { context.cancel(); } else { context.fail(); } }
Options
-
After Success Default , Tags: now Notification Info Log Level Info
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.