How to Iterate through a conversation in Oulook? - outlook

Am building a outlook addin that will set category to an email , I have a special scenario where in If i match a subject i am looking for , i need the entire conversation category to be set i.e. the entire thread needs to be set to a category , i have been using Conversation object but in vain ,
can anybody help me with this.

Related

Power Automate: How to get the message ID to forward an email using 'Forward an email(V2)'?

I have been trying to automate the process of forwarding an email(with teams meeting link) using Power automate.
I have attached how my flow looks currently.
User submits the form with an email address
The flow retrieves the email address
Gets the events from the calendar
Filters to get a specific series
Forwards the email
I am struggling with steps 4 and 5 to get the specific message ID for the teams meeting.
I would really appreciate it if someone could let me know of a way.
The overall flow
The expanded 4th and 5th steps:
(https://i.stack.imgur.com/DzQ6k.png)
I tried to just copy the meeting id you will get from the Microsoft teams calendar but it didn't work.
This is how my forward section looks like:
The Second Filter Array under Apply to each 3 appears from this view to be filtering to the point there are no matches. Because that appears to be the email ID and not the meeting ID. Have you considered using a Condition instead? Then you can add the Meeting ID into the body of the email in your last step.

MS CRM Online Custom View - Need to show specific records in View for specific users (based on team)

I have entity "Work Order" for which I have defined many custom views. Work Orders can have records with statuses as "active ,cancelled, closed, inprogress, submitted" etc. My requirement is - currently logged in user who belongs to a specific team "sales representative" should be able to see all records on view.This can be done easily, but If current logged in user does not belongs to "sales representative" team, she should not be able to see "cancelled" records on view but all other record should be visible to her. How can I achieve this using custom filters if it is possible? Or by code changes?
It is possible to do this with custom code. Without questioning the "why" you'd like to do this (possibly it's sensitive information or something?), you can achieve it using a RetrieveMultiple plugin registered on the pre-operation event. Within this plugin one of the input parameters passed in is called "Query" and will have a QueryExpression. You can simply add a filter to this query in the plugin and the relevant rows will be filtered out. Something like this:
var query = (QueryExpression)context.InputParameters["Query"];
var condition= new ConditionExpression()
{
AttributeName = "statuscode",
Operator = ConditionOperator.NotIn,
Values = { 2, 3 } // Or whatever codes you want to filter!
};
query.Criteria.AddCondition(condition);
To check the current user you can grab the user id from the plugin context and retrieve the necessary info you would like to check.
Doesn't sound like this is possible with advanced find alright. You may be able to achieve it using security roles though. If you could assign cancelled work orders to a specific team, and then organise your security setup so that users who are not sales representatives can't see work orders from that specific team, then it might work. Unfortunately you would have to reassign the cancelled work orders which is not always an option.
Otherwise, you might have to go with a separate view for cancelled work orders, out of the box advanced find should allow you present a blank grid of you are not on the right team. But now obviously you are not presenting a whole view of the work orders.
In general I would go with the security option, and just make it work. Any other option is just a stop-gap. Users can always create custom views, so if you don't lock down access using security roles, the data is still accessible in indirect ways.

Mailchimp 3.0 - Create campaign with interests - wrong number of selected members

I created a new campaign using interests. Creation is ok but when checking the campaign on Mailchimp, the number of selected members is 0 (but this is wrong). If I open the recipients tab and go back to the confirm tab (without modifying anything in recipients), then the number of selected members is correct and campaign can be sent.
Is there something special to be done to get the right number of selected members?
Thx in advance!
Edit: I am using 2 different interests group for this campaign. If I only use one, it's working.
Is the number of selected members only wrong via API call result? Or is it also incorrect on the Mailchimp dashboard?

Possible ways to optimize batch Outlook appointment processing with MAPITable

I'm working in a component that syncs our own appointment data with the ones in a selected calendar folder in Outlook.
The first time when our appointments sync to Outlook, the ID of our appointment is stored in the user properties of the newly created Outlook appointment.
Therefore, before syncing each appointment to Outlook, our code has to check if there is already an appointment in Outlook that has their ID. The code is currently looping through the Folder.Items collection and look into the UserProperties of each one of them, this is obviously very slow.
I found this stackoverflow question, which suggests that I can query the MAPITable to filter out appointments that has no user properties first.
However, as more and more appointments are synced to Outlook overtime, the filtered result would become pretty big too.
Does anybody know if there is any faster way to go through user properties of all appointments in an Outlook folde?
I had a similar problem of filtering Appointments using a UserProperty say 'MyUserProperty' of olText type. I used a DASL query which filtered the Folder Items using UserProperty.
string myPropertyValue = "SomeID";
filter = "#SQL=\"http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/MyUserProperty/0x0000001F\" = '" + myPropertyValue + "' ";
filteredAppointment = myFolderItems.Find(filter);
MSDN Documentation : Filtering a Custom Field
Use the Find/FindNext or Restrict methods of the Items class instead of integrating over all items in the folder.
Take a look at the following articles which illustrate how to use them:
How To: Retrieve Outlook calendar items using Find and FindNext methods
How To: Use Restrict method in Outlook to get calendar items

Group ID for "All Company" Group in Yammer

I'm using the Yammer REST API to fetch data about messages posted in our Yammer network.
I can get messages from any group by passing the group ID.
But I don't know the group ID for the All Company group.
How can I find the group ID for the All Company group?
Use https://www.yammer.com/api/v1/messages/general.json.
You can see the other built-in feed type endpoints such as my_feed and private here: http://developer.yammer.com/restapi/#rest-messages
Yammer API POST call with parameter group_id allows posting message to a group, but not to AllCompany.
Same POST call with parameter feed_id allows posting message to a group and to AllCompany group (feed).
Use feed_id instead of group_id and all as id.
first get all the groups
using this API
https://www.yammer.com/api/v1/groups.json
in that group array check out the group full name. and you can use id of that array item. that will be your group id.
Use https://www.yammer.com/api/v1/messages.json.
This will give All public messages in the user’s (whose access token is being used to make the API call henceforth referred to as current user) Yammer network. Corresponds to “All” conversations in the Yammer web interface.
also refer answer from by #mleroy in earlier message.
use "all" as feed id for All company group.
I know this post is a bit old but it might help someone.
On every group page of Yammer, there is a section called Access Options on the right had side.
Click on the link "Embed this group in your side". It will give you JS code for the group which will include Feed ID as well.
Using this api you can able access all messages
https://www.yammer.com/api/v1/messages.json
from the response json you can see the group id of all message groups.You can notice that 'group_created_id' is null for all company group.
I dont think that group id for all company is 'All',because that parameter is an integer,So just pass null.
Its a bit weird, but I found out that the group_created_id field is null when the message belongs to "All Company"
So you can use messages.json as mentioned before to get all public messages,
or if you want to search for messages by groups, you can get a list of groups ids and use :
https://www.yammer.com/api/v1/messages/in_group/{group-id}.json
and after that use messages.json, and go over the messages and search for those who has the field group_created_id set as null
Hope it will help someone someday :P
I had a similar requirement of embedding Yammer All company feed for which I needed the Feed ID and this worked for me-
feedType: "general",
feedId: "all"
Hope this helps!

Resources