sharepoint registration change notification - notifications

I have a class registration set up in SharePoint 2013. Users are emailed when they register for a class. I want to create email notifications when the Start Date, Start Time or Location [fields] of the Session changes. I only want to email the users that have registered for said Session (between 1 and 400 people).
I should be able to handle this with an Alert or an Event, but can't figure it out. My SharePoint team is telling me that this is too difficult because "the columns are in Sessions [list] and not in Registrations [list view].
I've found a lot of information on general SharePoint alerts, but I can't find anything on sending notifications to a select group of users, based on another field.

You could create event receiver for the list and send email by SPUtility.SendEmail with dynamic users.
You could check sample code from here.
Create event receiver in SharePoint 2013.

Related

Outlook 2021, how to write a trigger that change "From" field for speciffic account on every "Create Mail", "Reply", "Forward" event

In Outlook 20xx there is no way to change From field automatically. There are ways to have multiple accounts and use a default one all the time, but not when you reply. This is anti-feature by design and I'm forced to use Outlook with Exchage server using user emails (so every user has his own storage) but sending as office accounts (and when recieving email a copy is forwarded to users which are in office group) [eg. robert#company.com is real account, but when sending/reply/forward it should be sales#company.com]. There are many examples on using macros for all sort of things but not this one.
I need 3 triggers that change From field without clicking some special custom button
when I click New Email
when I click Reply on some selected email
when I click Forward on some selected email
thnx.
added exchange user account, then added exchange office account, set office account as default, options -> mail -> send messages -> always use default account when composing new messages
This was the nearest goal but worked only for new messages, on reply it allways default to user account.
The email profiles are Exchange profiles/accounts and have the required permissions to send on behalf of another person (eg. office#company.com)

How to send invitation mail for join a meeting in gotomeeting?

I have an account of gotomeeting and using api to create/start/getMeeting etc but I have not found any api to send mail and invite people to attend a meeting. Is it possible to send invitation mail to people to join a meeting using api? If not then is there any other solution to send meeting invitation mail?
Is it possible to register a user before start of meeting? How can we find how many user has attended the meeting?
Thanks in advanced.
Yes its possible, the email invitation will be in two type
A normal email from server
An appoinment item.
If you want to send a normal email to participants. just fill the mail with join link with Created meetingid
You can create the join link for any particular meeting by concatenating the www.global.gotomeeting.com/join/ with meetingID which is look like www.global.gotomeeting.com/join/25456364 (number is sample meeting id).
send the above details as a mail. Sending mails from program depends on "which language you are developing" like C#/JAVA?
If you want to send the appoinment item, either you need to use EWS (Exchange webservices API) or you need to generate an ".ics" file from application with your meeting details filled in.
For your questions:
Is it possible to register a user before start of the meeting?
Yes, you can. the gotomeeting application itself having the options for invite a participant and adding a co-orrganizer.
How can we find how many user has attended the meeting?
You can find it using the api function call. below is the C# code for getting the attendees of a past meeting.
Namespace : using Citrix.GoToMeeting.Api;
MeetingsApi meeting = new MeetingsApi();
List<AttendeeByMeeting> attendees = new System.Collections.Generic.List<AttendeeByMeeting>();
attendees = meeting.getAttendeesByMeetings(accesToken, 23843894);
NOTE : API is used within the context of gotomeeting application, physically you cannot attend a meeting in any application except GotoMeeting desktop application and GotoMeeting webapplication (which is offered in their website).
GTM isn't going to send the email for you it, as it doesn't have access to any email account. You should be looking to use one of the wide variety of different email APIs around. E.g. if you're in a Windows/Exchange environment then look at using the Exchange Web Services. If you want a more generic solution look for an SMTP library for your platform.
Attendees for GTMs don't register at any point, only hosts need to have a registered account. Even when you join a meeting as an attendee the details (name + email) you put in can be anything. What are you trying to achieve by "pre-registration"?
I can't answer your last question about finding out how many users attended the meeting, I would guess probably not but I'm not really familiar with the API.

How to create an Approval Workflow associated to a List in SharePoint 2010?

I was recently tasked with taking over the SharePoint administration for my company, but I have very limited SharePoint experience. I'm using SharePoint 2010.
I have a List with a few built-in columns (like Status, Assigned To, etc) and I'd like to perform a few actions when a new List item is created: change the Status and Assigned To columns of the List item, send out an email, and then create a task for the user's manager to approve it. However, in SharePoint Designer, I cannot figure out how to create a Reusable Approval Workflow and associate it to a List, or a List Workflow and add an Approval Task to it.
If I create a Reusable Approval Workflow, when I try to use the "Set Field in Current Item" Action, I don't have any of the List Columns available (to set the Status, Assigned To, etc).
And when I create a List Workflow, I can access the columns for the list (Status, Assigned To, etc) but I can't figure out how to make the new List item go through the Approval process.
So my question is: how do I Associate a Workflow to a List, change some of the List column properties, and create an Approval Task for the Manager when a new item is created?
Am I missing something here or am I not approaching this correctly?
The easy way is just opening your site with designer and configure the approval workflow from there. You can select the list and make all the changes. I would give you a step by step guide, but some did this awesome article, so check it out http://plexhosted.com/billing/knowledgebase/226/How-to-create-a-simple-approval-workflow-in-SharePoint-Designer.html
I discovered the answer to this question on my own. It's due to the way SharePoint handles Tasks during a workflow. I was using the "Assign a Task" or "Assign a To-Do" when I needed to use COLLECT DATA FROM USER. This will return the Id of the task, which can be used later to retrieve the user's Approval or Rejection.
Did you end up creating a custom workflow to do all tasks yourself?
I have also tried a List WorkFlow and a Reusable Workflow and started by copying the "Approval - SharePoint 2010" workflow as a model in both cases. The caveat then is the users are tied to completing both the task and workflow items that are created.
An approver wants to receive the email to Approve or Reject a request on a Calendar from the Approve/Reject View in SharePoint and let that be it. They do not want to track tasks on Approval.
A requestor only wants to receive an email that their request was Approved or Rejected and enter another for a different time if the initial request was rejected.

Automate Opening Multiple Calendars in Outlook

I have a situation where an office just created a couple of dozen shared meeting room calendars for all of their office meeting rooms. There are about 100 or so employees. The plan right now is to send a document around to all of them explaining how to add all of these shared calendars to their outlooks. We are running a mixed environment with some outlook 2010 and some 2007 clients and the exchange server is 2010. IS there anyway to "push" all those calendars out automatically from exchange or is there a VB script that we could run on each computer to automate the process of all 100 people adding dozens of calendars?
My recommendation is don't!
When you open your copy of Outlook, there is a pause while Outlook synchronises everything. One of the things it has to synchronise is any calendars. This can be a slooooow process particularly with busy calendars which I assume your meeting room calendars will be.
I have experienced slowdowns when utilizing more than 12 calendars in shared mode if the access is higher than reviewer. However, I have created my own workaround. Don't use direct booking. Use an auto-attendant based access.
If you want many people to be able to alter the events, then you can do so by checking out the following:
Situation: When allowing multiple people to access and send the same event, you give them access to one another's account in most cases. This is unacceptable by security standards.
The fix:
Create an equipment calendar that can be used as a Department Calendar. This is essentially the Exchange version of the corkboard calendar. Everybody can add notes and send the updates through from this calendar. How? Follow this paradigm: Everybody is a part of some grouping for security. This security grouping in AD is Universal. In Exchange you tie a Distribution list to the Security Group that's in AD. Now you can email the group. The group is the department.
The calendar you create as an equipment calendar will have some extra functions built in, right out of the box. Using a shared calendar or folder in public listing, you'd have to script it all yourself. Grant the group (not a single user) full access, and send as.
For the delegate, only the managers of the group or calendar (which could be a separate group that you set up to include a receptionist and the manager for scheduling purposes). Allow the boss to auto-book, along with the receptionist. The others do not.
Set the recurring policy and other policy settings. Let nobody book out of policy. This is not a room, it is a cork board. When people don't follow the rules, they can lose access. Grant access to the Distro group to the boss and receptionist. Then, allow them to add anybody on premises that's in the department. Now you have the calendar set up.
When they need to lock an appointment for editing, they go to the receptionist and have them book it, Sending it As their own personal ID, or go to the boss and have that person do it. If it's a team shared meeting that will be noted and continually edited by all, you have anybody book it and send as the cork-board.
Since they all have full access to the cork-board, they can edit the calendar, and since they have send as, they can send the updates to everybody. Now you just add the group as a recipient and they all get an invite. Set them up with sync, and they'll always be able to respond.
Have the responses marked read then autoredirect to the receptionist who can remove those who are busy from the attendees. Now you know who's at the meeting. Anybody can add themselves by clicking Copy to My Calendar, and they'll show up as an attendee, forwarding their response to the receptionist, who can make any other arrangements necessary. And so on.
If you make sure that the Calendar attaches the name of the booking ID to those events that are booked from outside it (receptionist and boss), they'll know which events they shouldn't delete. Want to forgo that ability? Script a change in their access to the calendar, set the Calendar itself to be able to EDIT OWN, DELETE OWN. Set all but manager and reception to Edit OWN, Delete OWN. Set Manager and reception to Owner access.
Now they can all still edit and send using the calendar, but only the manager and Receptionist can actually lock events.

Email Synching into Custom App

How have people intergrated custom CRM type applications with email?
I have a Access 2003 front-end application with a SQL Server 2005 backend. One CRM
part of the application tracks the activity with the customer in a traffic
log table. Sometimes the salesstaff has communication with their customer
using email instead. What do people do to synch this up with an application?
I was thinking about creating a form to enter the initial message, so I
could save it into a table and then have the system generate a email, of
course, this doesn't handle the email communication after the initial email.
Thanks
What you need to do is setup your domain name with a free google apps account. Your sales staff can still use the clients of their choice, but since they are essentially using custom gmail accounts, every single email that they send and receive will be recorded in a nice and neat transactional format in the gmail interface. Since your sales staff is always online, they will always have access to every message they ever sent. If you want to have access to the emails, you can set it up that every single message that gets sent are automatically blind forwarded to your account. Filters can be set up to automatically tag and archive them, so you will not be overwhelmed, but you will still be able to search them. Google Apps will also give you a central contact directory similar to outlook/exchange.
Here are a few options for you:
Use web forms for all communications. When a message is sent out, the only thing it includes is a link back to the site. Responses are sent the same way.
Setup an email alias that your sales staff Cc's when they want their correspondence to be tracked. Your app would periodically read a POP mailbox, and record the traffic. Customers would have to remember to Cc the same email box for the traffic to be remembered.
Establish a single common email box, such as sales#domain.com. All outgoing mail is marked as being from that account, so all replies will go through it. To send mail, sales staff uses a web form. Messages are tagged with a key that associates them with a particular customer. Putting the key in the subject header usually works OK (that's how many support ticket management systems work, for example). Replies from customers keep the tag. Your app then reads an associated POP mailbox, parses out the keys, and stores the email accordingly.