Programmatically move mail from Other to Focused inbox - vba

I would like to move mail from Other to Focused Inbox programmatically or make whatever changes necessary in my new mail event handler so that the mail shows up in one on the other.
The reason I want to do this is because I want most of notification mails from a forum to be in the other inbox; except that when the Subject contains a certain string I want it to show up in the Focused Inbox.
The Manage Focused Inbox help page mentions Focused Inbox REST API and inferenceClassification property that controls but I do not know how to use that.
Is it possible to modify this property in VBA, or any way to move mails between the two inboxes programmatically?
I manually compared all items in MailItem.ItemProperties of a mail message when in Focused and Other Inbox. inferenceClassification is not one of the properties. The only properties with different values are LastModificationTime and strangely OutlookVersion, OutlookInternalVersion, and Size!

The Outlook object model doesn't provide any property or method for including/excluding items from the focused inbox list. But I think it may act like a search folder in Outlook. You just need to find out what is causing emails to appear on the list.
You can use MFCMAPI (open-source) or OutlookSpy (shareware) utilities for exploring hidden properties in Outlook to find out what properties could cause an email to appear in the focused inbox.

Related

How can I automatically flag an email after reply in Outlook

I would like to see if there is any way that anyone replies in a shared mailbox to any email and the email is automatically flagged in outlook. Can be via Power Automate or VBA.
One way or another, you would need to set the MailItem.Categories property and/or MailItem.ReminderSet / ReminderTime properties on the original item in the folder.
You can use Explorer.SelectionChange event to track the item selection, set up MailItem.Reply/ReplyAll event handlers on the item(s) from the Explorer.Selection collection, and then set the reminder properties in the event handler. Or you can use Explorer.InlineResponse event to set up the properties on the first item in the Explorer.Selection collection

Outlook mail : option to change mail subject color using vsto

I have couple of doubts regarding Outlook addIns.
I created a ribbon for Outlook application using VSTO.
While sending the mail i call some API and make some db entries.
I keep the mail in inbox even after i sent the mail.
Now i need an option to change the color of that message subject (like indication this is already send. eg : unread mail subject is in bold )
Is there any way that i can achieve this ?
The ribbon i created is showing under Add-ins menu.
i wated to show this in Home itself.
I tried tab idMso="TabHome", TabMail etc but its not working (i am using office 2010)
You would need to modify the view setting based on some condition - look at an existing Outlook views that bold the unread messages and display overdue messages in red.

Outlook plugin - Fetch emails with specific message ids

I am writing a plugin for Outlook, where I need to fetch only few emails based on some back end Logic.
I have stored those email Message Unique Ids in my DB. And on click of plugin Icon, I wish to load only those Emails to load in my Inbox.
Example, the logic is same as how we click on particular folder like sent items or unread items, it refreshes the Inbox with only the respective emails.
I have created a plugin icon following the tutorial:
https://learn.microsoft.com/en-us/outlook/add-ins/addin-tutorial
Using NodeJS for coding. Can you please give a pointer, how do we load emails in Inbox? or if we can load only specific emails in Inbox?
This is not possible if you're attempting to use the Outlook's inbox display module to show the items you're refreshing. You will have to open a dialog / or a new browser tab to show the custom list of items - which I think is not good user experience. As Brian called out, office-js add-ins are quite restricted.

How can I show custom MailItem properties in the email header in Outlook 2007?

I work in a manufacturing environment. I am setting up some custom fields in my Outlook inbox that will allow me to quickly categorize emails by what material code(s) and lot number(s) the email is about. In my inbox, I have two new columns, "Material" and "Lot No". I wrote a macro that allows me to pull up a UserForm to quickly edit these values through the UserProperty prop on each email.
Image of columns in Inbox to demo what I mean.
I know that I can open each email individually, go to "Design This Form" and manually add the fields into the header, but this is obviously not practical (I'm doing this whole exercise to improve my efficiency, after all). Is there a way to programmatically do this?
Image of manually-added fields in email header.
I am searching all over and striking out. I'm not even able to find a good reference for how to manipulate the form elements of a received email (or at least a reference that I understand).
Thanks.
Use MailItem.UseProperties.Add / MailItem.Save to add/modify user properties.

VB Code to Close Open Subfolders in Outlook

Outlook has an habit of opening sub-folders if an email has been sent to it automatically (through rules). There is no way to turn off this feature.
Does anyone have ideas for code that would periodically (say every 30 seconds), automatically collapse all subfolders within, say, the sent items folder?
Thx
The Outlook object model doesn't provide anything for collapsing folders in the navigation pane.
The Starting Outlook with all folders collapsed/expanded states the following:
To keep the mailbox collapsed even when a new message is being delivered, make sure that your Inbox and other folders that receive email (for instance by a rule) have been added to your Favorites list.