• Evan Donovan
  • NEWBIE
  • 5 Points
  • Member since 2010

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 11
    Replies

At my organization we have two internship programs – TechMission Corps (www.techmissioncorps.org) & City Vision College (our online college (http://www.cityvision.edu/cms/cv/urban-ministry-internship) - both of which we have FormAssembly forms that are currently bringing data in Salesforce. (FormAssembly being a third-party form building app that can be used to create what are essentially more sophisticated web-to-lead forms).

 

Once in Salesforce, an inquiry form submission becomes a Lead; then workflow sends out an email to the person and they get a link to an application form. After they fill that out, their Lead Status is changed and then we evaluate whether we are going to convert them to a Contact. Once they are a Contact, though, they are still not actually matched with an organization; we still have to interview them, and then an Organization has to state they will accept them as an intern.

 

For now I've been using a manually updated field (Contact Status) to track people's progress through the process once they become Contacts. Now that Flow is generally available though, I'm wondering if that might be a better solution, but I can't find too much documentation, at least not for a use case like mine.

 

I'm wondering the following:

 

1) Should I use an approval process to track their status once they become Contacts?

 

2) Can I use Salesforce’s Flow feature for any of the following use cases:

                                                               i.      Providing user-facing forms for the application process

                                                             ii.      Conducting screening calls & recording the information

                                                            iii.      Tracking people’s progress through a process over time (i.e., like an approval process)

 

3) If so, is there any good documentation/best practices on its use? I have had trouble finding out much helpful information on Salesforce’s help or website.

 

Thanks for any assistance you can provide.

I have two kinds of use cases for triggers in a timesheet system that I've developed which I don't currently know how to implement, at least in a scalable fashion that won't run into governor limits.

 

In general, I don't know what's the best way to trigger events based on the status of multiple records of the same type, all related to a master record.

 

Use Case 1:

 

I want to have a report that shows when an intern has submitted a timesheet two weeks in a row which has 0 hours recorded on it.

 

The need for this is that people can take vacations from their work, but we need to be have flagged when people are away for longer than 5 days, so we can follow up with them specifically about it. Most of the interns work off-site so without the timesheets we wouldn't know.

 

I'm presuming to do this I need some sort of trigger that sets a flag on a timesheet record when it is the second week in a row of 0 hours. The total hours on a timesheet is a formula field which totals up all the hours that they entered on the timesheet.

 

I have a custom controller extension on the Visualforce page, so potentially I could do this in the save method, by looking at the total for the previous week as well. Or would the formula not be calculated yet at that point?

 

Alternatively, I could use a trigger on insert & update, but I am concerned that I'd run into governor limits. I don't know how I'd structure the queries to run in bulk.

 

Use Case 2:

 

I want to send out emails when interns are 2 weeks behind on submitting timesheets, or their site directors are 4 weeks behind in approving them.

 

I have reports already on the Timesheet Master object which is the master for the Timesheet object, that look at a formula field that looks in turn at rollup summaries of the statuses on the timesheets.

 

However, I think formula fields are automatically calculated so I don't think I can have the triggers be on the Timesheet Master and be set to send out an email if Member Weeks Behind >= 2 or Site Director Weeks Behind >= 4.

 

I need to have these time-based, so would I have to create some sort of scheduled apex job that runs each day and looks at the Current Date vs. the Member Start Date (which is a field on their Contact record, which is linked via the Timesheet Master to the Timesheet), and sends out an email to the member or site director if the difference is too great?

 

Alternatively, is there some sort of time-based workflow I could use here? That would be simpler if it were possible.

I could give as much more detail about our setup as is necessary, if it would be helpful to you.

My organization is using the Salesforce Nonprofit Starter Pack, Enterprise Edition, and needs to develop web forms to support the following use case:

 

1) An individual goes to a page and fills out an inquiry form on which they provide their basic information (name, email, how they heard about us, and a few custom fields).

 

2) The individual is then redirected back to our site, so they can download more information about the internships we offer.

 

3) An email is sent out thanking them for their interest, and inviting them to fill out our pre-interview questionnaire.

 

At first, I considered the Web-to-Lead form, plus a triggered workflow action, but I have determined that the Web-to-Lead is too limited, since we need the form in step #3 to be pre-populated with the information from step #1. Web-to-Lead forms don't allow for pre-population of data as far as I can tell, since the forms are POSTed cross-domain, and there's no kind of session or query string identifier available.

 

Following that, I considered using the API in conjunction with our CMS (Drupal), but I couldn't get those webforms to successfully generate new objects in the Salesforce database. It seemed like a connection was being made via SOAP, but no object mappings were found.

 

So I have settled upon using Salesforce's Sites feature, unless you all would recommend something else (such as an AppExchange add-on like Zoomerang or FormExchange).

 

I have followed the instructions for creating a Web-to-Lead form given in http://wiki.developerforce.com/index.php/Web2Lead_with_Force.com_Sites. However, I have the following problems/questions:

 

1) The page that I have created goes to a page that is not accessible after form submission (it says "Login Required"). This happens both on the developer and the live Site.

 

    a) I don't know how to get the "thankyou" page that I created for the custom controller to be accessible to the Guest User.

 

    b) I don't know how to deploy the custom controller Apex code from developer to live.

 

    c) Ideally, I would not like a thank-you page at all, but rather a redirection back to a page on my site, as with a regular web-to-lead form.

 

2) "Company" is a required field. However, our organization is non-profit, and the candidates for our positions don't have a company with which they should be associated. Is there a way to pre-populate (or, ideally, hide) this field, and have it always say "Individual" so that the bucket account from the Nonprofit Starter Pack works?

 

3) I don't know how to write the code, to be triggered by a successful form submission, that would send an email to a user with a link to the 2nd form, the one with the pre-interview questionnaire fields on it, and their initial lead fields pre-populated.

 

4) So far if I go to my page, and append ?id=[LeadObjectID] onto the end of it, then I will only be able to see the values for the lead object, not edit them. Furthermore, if one of the non-required fields was not filled out the first time, then it will not show at all.

Is there a way to make it possible for users to update the lead object (so they can fill out the interview information), or would I have to create a custom object in order to do this?

 

I hope all that is clear. If you have questions, I'll try to clarify what I want.

I am trying to create a trigger that will add the phone, email and maybe one more contact field to the Event.Description field before insert.

 

The reason is that the email notification for new event is very vague and not helpful - missing the phone adn email. As a benefit the contact's phone and email will also be visible on cell phones and Outlook

 

So I created a trigger and it works, but I can't seem to retrieve the phone and email from the Event. These fields do not seem to exist, but are seemed linked to the contact's phone and email.

 

Here is my trigger:

trigger UpdateTaskDescription on Event (before insert) {
   for(Event e: trigger.new){
      if(e.description == null){e.description = '';}
      e.description += '\nPhone:'+ e.phone;
    }
}

 It generates an error on the last line - that e.phone doesn't exist.

 

Any ideas how to retrieve the corresponding phone and email fields from the related contact to which this event is linked?




I have two kinds of use cases for triggers in a timesheet system that I've developed which I don't currently know how to implement, at least in a scalable fashion that won't run into governor limits.

 

In general, I don't know what's the best way to trigger events based on the status of multiple records of the same type, all related to a master record.

 

Use Case 1:

 

I want to have a report that shows when an intern has submitted a timesheet two weeks in a row which has 0 hours recorded on it.

 

The need for this is that people can take vacations from their work, but we need to be have flagged when people are away for longer than 5 days, so we can follow up with them specifically about it. Most of the interns work off-site so without the timesheets we wouldn't know.

 

I'm presuming to do this I need some sort of trigger that sets a flag on a timesheet record when it is the second week in a row of 0 hours. The total hours on a timesheet is a formula field which totals up all the hours that they entered on the timesheet.

 

I have a custom controller extension on the Visualforce page, so potentially I could do this in the save method, by looking at the total for the previous week as well. Or would the formula not be calculated yet at that point?

 

Alternatively, I could use a trigger on insert & update, but I am concerned that I'd run into governor limits. I don't know how I'd structure the queries to run in bulk.

 

Use Case 2:

 

I want to send out emails when interns are 2 weeks behind on submitting timesheets, or their site directors are 4 weeks behind in approving them.

 

I have reports already on the Timesheet Master object which is the master for the Timesheet object, that look at a formula field that looks in turn at rollup summaries of the statuses on the timesheets.

 

However, I think formula fields are automatically calculated so I don't think I can have the triggers be on the Timesheet Master and be set to send out an email if Member Weeks Behind >= 2 or Site Director Weeks Behind >= 4.

 

I need to have these time-based, so would I have to create some sort of scheduled apex job that runs each day and looks at the Current Date vs. the Member Start Date (which is a field on their Contact record, which is linked via the Timesheet Master to the Timesheet), and sends out an email to the member or site director if the difference is too great?

 

Alternatively, is there some sort of time-based workflow I could use here? That would be simpler if it were possible.

I could give as much more detail about our setup as is necessary, if it would be helpful to you.

My organization is using the Salesforce Nonprofit Starter Pack, Enterprise Edition, and needs to develop web forms to support the following use case:

 

1) An individual goes to a page and fills out an inquiry form on which they provide their basic information (name, email, how they heard about us, and a few custom fields).

 

2) The individual is then redirected back to our site, so they can download more information about the internships we offer.

 

3) An email is sent out thanking them for their interest, and inviting them to fill out our pre-interview questionnaire.

 

At first, I considered the Web-to-Lead form, plus a triggered workflow action, but I have determined that the Web-to-Lead is too limited, since we need the form in step #3 to be pre-populated with the information from step #1. Web-to-Lead forms don't allow for pre-population of data as far as I can tell, since the forms are POSTed cross-domain, and there's no kind of session or query string identifier available.

 

Following that, I considered using the API in conjunction with our CMS (Drupal), but I couldn't get those webforms to successfully generate new objects in the Salesforce database. It seemed like a connection was being made via SOAP, but no object mappings were found.

 

So I have settled upon using Salesforce's Sites feature, unless you all would recommend something else (such as an AppExchange add-on like Zoomerang or FormExchange).

 

I have followed the instructions for creating a Web-to-Lead form given in http://wiki.developerforce.com/index.php/Web2Lead_with_Force.com_Sites. However, I have the following problems/questions:

 

1) The page that I have created goes to a page that is not accessible after form submission (it says "Login Required"). This happens both on the developer and the live Site.

 

    a) I don't know how to get the "thankyou" page that I created for the custom controller to be accessible to the Guest User.

 

    b) I don't know how to deploy the custom controller Apex code from developer to live.

 

    c) Ideally, I would not like a thank-you page at all, but rather a redirection back to a page on my site, as with a regular web-to-lead form.

 

2) "Company" is a required field. However, our organization is non-profit, and the candidates for our positions don't have a company with which they should be associated. Is there a way to pre-populate (or, ideally, hide) this field, and have it always say "Individual" so that the bucket account from the Nonprofit Starter Pack works?

 

3) I don't know how to write the code, to be triggered by a successful form submission, that would send an email to a user with a link to the 2nd form, the one with the pre-interview questionnaire fields on it, and their initial lead fields pre-populated.

 

4) So far if I go to my page, and append ?id=[LeadObjectID] onto the end of it, then I will only be able to see the values for the lead object, not edit them. Furthermore, if one of the non-required fields was not filled out the first time, then it will not show at all.

Is there a way to make it possible for users to update the lead object (so they can fill out the interview information), or would I have to create a custom object in order to do this?

 

I hope all that is clear. If you have questions, I'll try to clarify what I want.

  How would I go about doing it?

The usage is as follows:

For example, if an account has 10 contacts, instead of editing one at a time. I want  to be  able to display a table of  with just First Name, Last Name, phone, e-mail, Title

The dataTable object - is there any option to create an editable grid?