I am making a CRM for my business as a Realtor. I currently have the database connected to the site and I can add, remove, and update the contacts. Each contact will be assigned a "type." Like one type of contact may be a FSBO or one may be a buyer.
What I want to do is have a page that tells me if I need to do something like send an email or text to one of them that day. I have a predetermined campaign for each type. The FSBO type needs to be sent certain text messages on certain days depending on when they were added to the database.
So my question is how do I setup reminders to be displayed on the page showing me who needs what sent to them? Just a little confused about how to set up adding the campaign to each contact and then how to query the database to get the reminders due.
Related
I would like to create a notification system for a web application I'm working on. I'm having trouble designing a database that is laid out in a "correct" format. This is what I would like to accomplish:
Have different notification types, such as Office, User, Client, Vendors, and System. User, Client, and Vendors are different "classes" of users that can login to different portals on the site. They would each have notifications just to their login. Office and System would be notifications for a whole entire office, so every user would see it (like meeting notices) while system would be for every user in all systems (like website shutting down for maintenance).
I want a notification button that displays the number of unread notifications. A user can click on the notification to mark it as read to remove it from the list.
The user can go to a separate "all notifications screen" to see all the notifications they ever got and search them.
I have a single table like this:
*Table: Notifications
notification_id int primary key
entity_type varchar
entity_id int
title varchar
message varchar
created datetime
didRead bit
readDate datetime
The entity type is Office, User, Client, Vendors, or System. The id is the corresponding entity id. Since each user for users, client, and vendors are in a different table, it is possible for a separate user, client, and vendor to all have the same id like 4444 etc. The entity type lets me know what table to look into to use the id for.
This works well if the notification is for a user. One record for the one notification for the user. The user reads it and it is marked.
The problem is with system and office notifications. Once I create a single record for a system notification, I can show it to the user by doing a SQL for the their notifications OR system notifications OR office notifications. However, I have NO way of determining if that user read the system or office notification. Since the entity id in the case of system is null or in office it is the office id, if I mark it as read, it will be read for everyone in the office. Only the first person to see it gets alerted.
I could make it so every system notification creates an individual notification for a user, but lets say I have 8 million users. Doesn't that mean for every system notification that I have to create 8 million records? I may be wrong (as in maybe it is no big deal for SQL Server), but something tells me that is bad and will bloat the database fast. Especially since I can see office notifications take off.
I was thinking of making a notification read table containing entity id, entity type, and notification id, but then aren't I just moving the same issue to a different table? Also wouldn't a join to this table now need three items being the entity id, entity type, and notification id? I would assume that would kill performance once the table grew.
Main Question: How can I design the table so I am able to read/unread any notification that comes to any user, including their individual notifications and system/office wide notifications? I want system and office notifications to hit a broad range of users, while user, client, and vendor notifications only hit a specific user while allowing all cases to be readable/unreadable.
I use Microsoft SQL server if that makes a difference.
Edit:
Tried adding an image (crappy paint skills) to show what I was asking for.
How can I have access to bigcommerce's %%GLOBAL_CustomerId%% variable?
I create a sample template and logged in with as a user. That variable doesn't show up. Isn't it suppose to be a Global variable?
Background: I want to create an app for bigcommerce that can identify a user base on their customerID. If I can't grab that variable, you guys see any other way to work around this?
It's not immediately clear in the docs, but you can use %%GLOBAL_CurrentCustomerEmail%% anywhere on the template to get the email address of the currently logged in user.
If you need the customer's ID, then you can query the API with the email as a parameter.
Personally, I'd rather "trust" the customer's email as a point of identification, because you never know if the Bigcommerce ID's may get changed or not (example: Customers are deleted and then reimported, now having brand new ID's).
On a subject of security though, you cannot trust client side data, and should attempt to mitigate fraudulent requests through the use of a CSRF token or some similar measure. Otherwise, anyone can send you an email address and receive back a list of that person's favorite products -- golden information for say, a targeted advertising company, or just your suspicious next-door neighbor Joe who seems to always be conveniently checking his mail right when you get home from work, but never says anything when you walk by, not even a wave or a smile, despite the fact that you all have been neighbors for quite some time now. Like, should I say something? Hahaha, I kid I kid.
The issue I'm having in Dynamics CRM 2013 is the ability to assign activities or appointments to a team and have those cascade downward into individual users. The end goal here would be after assigning a lead or activity to a team, the users within that team would receive notifications, emails, etc. and those records would integrate with their 'my' sections of CRM.
The issue I see with this is that only 1 'Owner' can be set for a new record in all areas of CRM, and the 'my' sections are based off of the Owner. Therefore the users within the team won't be notified.
We are currently using a service to pull from an existing database and populate CRM, assigning new leads to a Team which contains multiple users.
Does anyone have a recommended method to do this?
Thanks for your time.
Either give the users a view of "Leads owned by Teams of which I am a member" or possibly use Queues, which are pretty much designed for the scenario you describe.
New items assigned to a Team will be added to the Team's Queue. Users can see all Queue Items not yet being worked on (from all Queues they have access to, including all Teams they are members of). A user can "work on" an item to show they are dealing with it so it no longer appears in this list of items to be worked on, and instead appears in their own list of items they are working on. A user can either complete the item or 'release' it back into the queue.
Queues can contain items of different types, eg Leads, Tasks, Cases etc.
I am looking for some guidance regarding SharePoint 2010 lists.
Scenario:
Let's say this is List-A having details of user profile.
Let's say it is List-B which has some other data and I have one column having user email address, in this list on form load event when user login it just fetch user email address. In this list I have to introduce one column that wil bring details from user profile list on the basis of email address. If email address doesn't exist in List-A then column will remain blank otherwise it will show user required text in the same column.
I hope that I have given enough details what I required.
Any idea would be great.
Furthermore, I don't have visual studio installed that's why I cannot do programing therefore any other workaround idea would be great.
Thanks in advance.
Use the SPServices Library based on Jquery. You can do this on client side by editing the form in SharePoint Designer.
Look at this function SPCascadeDropdowns()
http://spservices.codeplex.com/wikipage?title=%24().SPServices.SPCascadeDropdowns
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.