Is it possible to develop a chat plugin like Gtalk for outlook? - vba

My company uses outlook as the email client and we login to an exchange server. Out address book (not individual contacts) has all the users connected to our company network.
Our company dont have IM ;-( .. I am thinking about developing an outlook plugin like Gmail's Gtalk . is this possible(technically)? Or how difficult it is? Will I be able to get the list of all users (from address book) who have opened their outlook so that I can show them in the online list?
Can I do this without a DB (just sent the message to the recepient and show them)?
Outlook development is new for me and the links in this question did not help me much (very confusing). Where can I get some basic tutorials to begin with?
Edit: I have worked with VBA in outlook. So if the above can achieved using VBA the it would be great ;-) Is that possible?

VBA is an old method of building Office plug-ins and has since been replaced with just a more straight forward VB/C# module coding method. VBA plugins from Office 2003 should work alright in Office 2007, but it's no longer the suggested method if you're looking at Office 2007 + 1.
If you're using Visual Studio 2005, look for information on the Visual Studio Tools for Office (VSTO) Second Edition add-on on MSDN. If you're on Visual Studio 2008, the VSTO packages should come with the Professional editions (or higher) by default. It'll have all the templates for building add-ons for the Office suite. Going with this new direction of coding add-ons, anything should be possible.
I've personally never tried to make any sort of server/client solution, so I'm not helpful on that front, but I thought I'd put that information out there for you to consider in your planning stage of making the chat solution.
As a note, the non-individual (Exchange) address book is also known as the Global Address List (GAL).

Outlook 2010 includes instant messaging:
Use instant messaging services with Outlook
Microsoft Outlook can be used with several instant messaging services.
You can tell if your contacts are available for a real-time online
chat, audio and video conferencing, or file sharing.
Note Online status is available for any person whose instant
messaging e-mail address that you have added to your instant messaging
contact list. In addition, online status is shown for people using
Microsoft Office Communicator, regardless of whether they are on your
instant messaging contact list.

Related

(Beginner) How to call Outlook RESTful APIs in Outlook VSTO Add-In

I'm looking to develop an Outlook Add-In, in which I receive a meeting room request and propose another room based upon conditions relating number of participants and size of the other rooms. I'm attempting to do this using a VSTO Add-In in C#.
My problem comes in the algorithm to determine the list of rooms and which room is smaller. From research, I can see that Outlook incorporates a number of RESTful APIs (https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations). However, I'm running into roadblocks in terms of how to call the APIs and how to get their data.
Is this possible in a VSTO add-in? If so, how could I get and store a list of the meeting rooms in Outlook using the REST APIs? I know there are other types of add-ins but I'm unfamiliar with Javascript and thus I'd like to stay with C#.
We recommend using the web add-in framework, instead of COM, for writing an Outlook add-in. The web add-in framework enables developers to:
Write once and have their add-in run across supported Outlook
clients enabling the add-in to reach millions of Outlook Desktop,
Outlook for Web, Outlook for Mac, and Outlook Mobile users.
Simplified deployment through the Office store, enabling users to acquire your add-in with a single click.
Access to user mailbox data via a rich REST based API set.
In addition to the benefits of the web add-in framework, Microsoft is not investing in new functionality on the COM platform. We understand COM add-ins may support different scenarios than the web add-in framework and thus are continually investing in the web add-in framework.
If you have any feedback or new functionality you would like to see available in the web add-in framework please let us know.
We track Outlook add-in feature requests on our user-voice page. Please add your request there.
[Outlook Add-ins Engineering Team]

"Sideload" an App for Office programatically on the Desktop

I'm not sure whether "sideloading" is the correct term: Is therea an API to programatically install an Office Javascript API based add-in (e.g. a Task Pane app) in to the current / specific document on the desktop (at least on Windows)?
VisualStudio does this when you debug an App for Office project. How do I go about achieving the same?
There is no current way to programmatically insert an app (now "Office Add-in") into a document via JavaScript. It is a scenario that the product group is aware of, but it's not something we have yet.
You can insert an it via the Open XML SDK (which is actually how Visual Studio does this), but that would be .NET code running outside of the Office add-in (and not on the currently open document). Visual Studio in particular is atually inserting an app registered into the special local registry-based "Developer Store", but I can't think of any reason why wouldn't work for an actual Office-Store or SharePoint App Catalog-hosted app. If you are interested in going this route, let me know, and I might be able to find some pointers on the code you'd need to write.
Finally (though it probably goes without saying), you can insert an app into a Template, rather than a regular document. That way, anyone creating a document from that template would get your add-in -- I believe that's what the Paypal Invoicing add-in in Excel does, for example.
Hope this helps,
~ Michael Zlatkovsky, Developer on Office Extensibility team, MSFT

Lync API for VBA in excel

I need to send instant messages automatically from excel. I know how to do it, but I have a problem with Lync API. I have Office 2010 and Lync 2013 and I cannot find in references in VBA editor anything related to Lync or Communicator. I went through all pages and I find almost impossible to solve this and find correct API to use. I downloaded from MSDN portal communicatorAPI.dll, but it is not working. Do you know how to solve this? Thank you a lot.

Lync Server administrative interface

The task I am looking at is to automate the process of creating new users on a Lync 2010 server. Looking at the Lync Server SDK, this only allows creating new phone calls and sending IM. I'm looking for an interface to automate administrative task.
What I don't want to do in first place is to parse the web interface. Does anyone know of anything that might help?
There is a certain number of PowerShell cmdlets I wasnt aware of. The complete list can be found in the Documentation.
I don't find the good step-by-step guide I once came across, but there are several others out there that descript how you connect your PowerShell to the Lync Server (like this).
I haven't tested any of these scripts, but Microsoft also provides a list of useful scripts to administrate Lync (link).
The problem I was initially looking for was: How do I hide disabled user accounts in the Lync Contact list. This can be done by ticking the checkbox "Hide user from global address list" in Exchange (Note: when this is done via e.g. VBScript it takes some time before the GAL is updated, in my case the account first vanished from GAL and the next morning it also disappeared from the Lync Contact List).

GetUserAvailability from Exchange from a COM Outlook addin

I have a COM Outlook addin programmed in C++ (VS2005). I'm trying to see if within this addin I can get a random user or resource and see if it is available during a certain meeting time. Basically I'm trying to do something like getuseravailability() from the 2007 Exchange Web Service api listed below.
getuseravailability
Is this the only way to get this information? I've been looking through CDO, ADSI, MAPI and the Outlook object model but can't find anything else like it. I'm avoiding using web services because the Exchange Servers I run against may not have it enabled/ may not be Exchange 2007. And also, I'm hoping for a COM api easily integrated with the existing Outlook COM addin, was really hoping for an OOM solution.
Am I wrong or would the webservices sdk require .net to be installed on the machine running the addin as well?
I believe I've found a way to do this with CDO. Will be trying a sample app for this to see if it does what I think it does.
http://msdn.microsoft.com/en-us/library/ms870482%28EXCHG.65%29.aspx
I didn't find this earlier because the MSDN library's default view doesn't easily let you browse through the table of contents for a section. You have to go into MSDNs preferences and choose "Classic View" to get the table of contents view on the left.