Archive for the ‘Salesforce.com’ Category

Searching across a chain of objects in Salesforce

Saturday, December 28th, 2013

Salesforce users often need to search for data records in one object that depend on conditions in a related object. Frequently, the dependency carries over to multiple related objects, or to chains of such relationships. For example, suppose you need to find all the Campaigns that have targeted the contacts from your Partner accounts. To retrieve those Campaign records, your primary search condition is imposed on the Account object (looking for Partner accounts). Having found those accounts, you must find the Contacts in those accounts, and then the Campaign Member records of those Contacts, and finally the Campaigns to which those member records refer. Thus we have a four-object chain of dependencies that must be traversed to produce the results you need.

Such a query is not very easily constructed in native Salesforce. But Apsona for Salesforce provides the tools you need to solve problems like this. The way Apsona solves the problem is by repeatedly applying the idea of a filter, to produce what is called a nested filter, as follows. A filter is simply a name given to a specific search condition, associated with a specific object. For example, you can create a filter on the Account object, that asks for Account Type matching Partner, and name it Partner Accounts. You can then apply this filter in the Contact object, since the Contact is related to (actually, a child of) the Account object. When doing so, you would retrieve the Contacts of your Partner accounts, and you would use the Partner Accounts filter as a nested filter. You have thus carried a search condition on the Account object over to the related Contact object. You can then repeat this step over the entire chain of objects, thus producing the result you want. See the diagram below, showing the relationships among these objects.

Here is the series of steps to produce your results:

  1. Start with the “primary” object that drives the filter condition. In this case, it is the Account object, since we start with the condition derived from partner accounts. Create a filter on the Account object, identifying your Partner Accounts. You can do this either in the console view (list-and-detail) or in the tabular views in Apsona. Save it with the name “Partner Accounts.”
  2. Create a filter on the Contact object. In doing so, if you open the Account panel of the filter builder, and select the record id field of the Account object, you will see the “in filter” option available. Select that option, and then select the “Partner Accounts” filter. Save this filter with the name “Contacts from Partner Accounts.”
  3. Create a filter on the Campaign Member object, using the Contact filter created in step 2, in the same way.
  4. Finally, create a filter on the Campaign object using the Campaign member filter from step 3.

What we did here was make a filter on the primary object, namely Account, and applied the filter to the related object namely Contact. You can repeat this process as many times as you want, thus carrying filter conditions across a chain of relationships. We use the term nested filter to refer to a filter that uses another filter within it, in this manner.

Searches, filters and reports in Apsona work across the board whether it is retrieve data for campaign management, sales management or case management. Apsona for Salesforce can be downloaded from our AppExchange listing for a 30 day free trial, and works with all editions of Salesforce.

Apps for Good Webinar Series

Thursday, October 31st, 2013

Our friends at Cloud for Good have been hosting the Apps for Good webinar series for the last several months now. They have had presentations by many of the best-known names in the Salesforce world, beginning with Cirrus Insight, Form Assembly and Click and Pledge, and most recently with GeoPointe.

We are very pleased to have been selected to present Apsona for Salesforce and related add-ons as part of  the series.  We have had the pleasure of working with Cloud for Good for a few years now, having co-developed Over the Edge, a tool for easy data migration from Raiser’s Edge to Salesforce. The team at Cloud for Good have been a huge support to us an numerous ways, helping us improve our products and services, and we hope that we have been of some use to them as well. We are truly grateful to them for the relationship.

If you are non-profit organization that uses Salesforce, you should definitely check out Cloud for Good and their offerings. Please register for the webinars, attend and give us your feedback. We look forward to the opportunity to present Apsona add-ons.

Thank-you Letters with Apsona’s Document Merge

Friday, August 30th, 2013

Thank-you appreciation letters by snail mail are the lifeblood of  nonprofit organizations. The donor needs to be convinced that he/she has made a  right investment and the donation will be used wisely. Appreciation letters need to be sent not only after every donation, but also once or twice a year. Personalizing the letters is key to a positive experience, but when this has to be repeated to hundreds of users, it is a major challenge to small/medium non profit organizations. The cost and effort of producing such personalized letters several times a year can be rather daunting.

Apsona’s Document Merge add-on for Apsona for Salesforce is exactly what is needed in these cases.  Users can build flexible templates that can contain multiple fields drawn from multiple objects – Contact, Donations and so on. Aggregate fields and sub lists can also be included in the template.  Fields names in the template and in the tables can be adhoc and need not be exact matches to the field names in Salesforce or in the reports. What Apsona brings is the utter simplicity and flexibility of the entire process for the template builder. Apsona’s  DocMerge will produce  a single or batch of .docx document files from a .docx template and the results can be downloaded either as a.zip file  or as a single .docx file with many pages, one for each record and print them.

Here is the simple step by step process.

  1. A thank you letter will typically have top level merge fields from the Contacts object like the name and address. When creating this letter template in Microsoft Word, create merge fields with the usual Quick parts – Field – merge field. You can also Apsona’s macro to build quick merge fields, and that is definitely a time saver and less tedious (our humble opinion).
  2. Next, if you need to include a list of donations to the contact, you build tables. Tables are very easily created. The leftmost cell in the table should include the TableStart field, which specifies a record group name following a colon. For example, for the tag TableStart:Donation, the suffix Donation will be the name of the record group for the table. This name is just a mnemonic indicating the kind of list being produced. You can make up any name you want, as long as it does not conflict with any other merge field name in the document. The rightmost cell in the table should similarly include the TableEnd field. These two markers indicate the region of the document that must be replicated, once for each Donation.

  3. The data source for a template can be obtained from pre-built Apsona reports, or directly from an object. For example, in a single template data for a list of donations can be obtained from a Donation report and data for a list of  in-kind donations can be got directly from the Assets object. Before running a pre-built merge template, you can also apply additional filter terms on the fly if required.

That’s it — system administrators can set up templates and its data sources, and all that the end user has to do is run an existing merge action whenever the need arises.

Apsona’s merge tool also supports Excel merge and email merge. For a more details on these features please visit our product description page.

Filters in Apsona – Part 1

Wednesday, July 31st, 2013

Searching or querying of data is a very common need for Salesforce users. The required data that drives the filtering frequently does not reside in just one object, but rather in several related objects. For example, you might want to find Contact records whose Accounts are in a particular city, so that even though the data sought is Contact data, the filtering condition is on the related Account. And once you have figured out all the filtering conditions you want to apply, and retrieved the data you want, you would want to save the search, so that you can reuse it later.  Apsona for Salesforce offers powerful search and filter capabilities for all Salesforce objects, both native and custom, out of the box. All searches can be “cross-object” in the sense that you can look for records of one type based on conditions enforced by records of a related type.

A query/filter can be built in two ways from the Apsona user interface.

The first one is by clicking Search and More options, and the second is by clicking the filter dropdown and selecting New filter as seen in the screen shot above.

The same filter editor opens up with both options, and here is where you will specify the search terms. When you click the drop-down to specify search terms, you will see a list of panels, one for each object. Each panel is labeled with the object name, and contains the fields for that object. The object at the top of the list is the one from which you are running the filter, with all its fields. Below that panel will appear all its related objects (and all their fields) which are one step away – basically the children and parents of that object. Note that one panel appears not just for each related object, but rather for each relationship. For instance, in the screen shot above, the Account object contains two lookup fields, Master Record and Parent Account, both referring to the Account object, so you see a panel corresponding to each.

If the current object is the parent in the relationship, you will see an asterisk next to the name. In the above screen shot, the Contact or Lead panels both have asterisks shown, since the Account object is a parent of each of those objects. But if the current object is a child in the relationship (as in the case of the Master Record and Parent  Account relationships), no asterisk is shown.

When running a filter in a one to many relationship, you can run a Quantified search. In this search, you look for records of one type such that all related records of a related type meet a certain condition, e.g., contact records for which all related tasks have a “completed” status. This search is called quantified because it uses the quantifiers all or none for related records. Let’s take an example where we want to find Accounts whose contacts have the salutation of Dr. (Doctor). We run a search from the Accounts object. For the search terms, we select the field “Salutation” from the Contacts table. Since the field is a picklist we get the option of choosing is among as one of the field operators. For the quantifier, let us choose the option for all records. Click search. We now get all the Accounts whose contacts have the salutation Dr. Notice that the returned list might include Accounts which have NO contacts in them. This is because an Account with no contacts satisfies – albeit vacuously – the requirement that all its contacts have a salutation of Dr.  Since we selected the quantifier as “all records”, Accounts with no contacts are also entitled to qualify.

This is just one option of the 3 options available in the quantified search. The” no records” and the “atleast for one record” are equally powerful and will be touched upon in the coming blogs.

You can try out these searches and more by downloading Apsona for Salesforce from the AppExchange.

Batch Gift Entry – A new add-on to Apsona for Salesforce

Saturday, June 29th, 2013

If you are a non-profit organization that receives periodic gift checks that you need to enter into your Salesforce database, you know that the process can be a bit tedious. With each gift check, you will need  to navigate through quite a number of pages to search, to create or update data. Each gift in turn needs to be linked to the right Opportunity, Account, Contact, Contact Role and Payment objects. If the Opportunity and Contact records do not exist in the Salesforce database, they will need to be created and the corresponding gifts need to be linked to them.

To help with this situation, we at Apsona have created a new add-on, Batch Gift Entry (BGE), intended for non-profit organizations who use the Salesforce Foundation’s Non-profit Starter Pack (NPSP).  This add-on takes care of the both the scenarios – creating new records as well as updating existing ones. You can enter gifts in batches, where each batch contains a list of gift items to be committed, Once you have entered a batch and committed it, all the items in the batch are copied into the appropriate fields in the Payment and Donation records. New Donation, Payment, or Donation Contact Role records are created as necessary and are automatically linked together to maintain consistency with the NPSP data model. The user interface is designed to offer a keyboard-friendly process for the batch gift entry user and to make the entire data entry sequence as quick and painless as possible.

The Batch Entry interface works just like most other aspects of Apsona, showing a searchable list of batches you have created. You can create a batch whose items contain any subset of fields from your Opportunity and Payment objects. You can also clone existing batches, so that you don’t have to recreate any of the logic from previous batches. The batch entry screen includes the usual search, sort and in-place edit features for manipulating the batch items in uncommitted batches.

When you have finished entering all the gifts and click the Commit button, a cross check is made to ensure that the number of items and amount match the numbers when the batch template was created. Any mismatches will keep the batch from being committed.

You can also run filters and reports on the batches needed for reconciliation with Apsona’s Multi-step Reports. For example, you can run a report for Batch Name, Commitment Date, First Name, Last Name, Donation Name, Amount, Payment Type, Check Number and Check Date.

Most of our enhancements to the Apsona apps are user requests and feedback. So we look forward to all your valuable feedback and comments. Do keep them coming! Please visit our website page for more details. You might also enjoy reading Judi Sohn’s blog where she comprehensively covers Apsona’s Batch Gift Entry.

And grateful thanks to our friends at KELL Partners for initiating this project and for all their input and support. Please make sure to read our product page for Batch Gift Entry, watch a video, and try it out!

How to quickly create merge fields in Word

Wednesday, May 29th, 2013

As part of the development of our document merge tool, we work quite a bit with Microsoft Word templates. And naturally, our testing process requires us to create lots and lots of merge fields in Word. Now if you have worked with merge fields, you know that creating a merge field can be a bit tedious: You have to click Insert – Quick Parts – Field, scroll down in the Field names panel, click MergeField, and then type in the name of the field into the Field name box. And you have to do this for every field you need. That’s a lot of clicks, particularly when you want to create a good many merge fields.

Being the lazy folks we are, we wanted to speed up this process. So we created a little WordBasic macro to help us along. With this macro in place, when we want to create a new merge field, all we need to do is

  1. type in the name of the field into the Word document, just the same way we type any other text;
  2. select the field name text; and
  3. click a button.

Voila. The text is instantly converted into a merge field.

Below is the text of the macro.

Sub MakeMergeField()
Selection.Copy
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"MERGEFIELD """ + Selection.Text + """ ", PreserveFormatting:=True
End Sub

And here are the steps for setting up a button for this macro in Word. Keep in mind that even though this list of steps seems a bit long, it’s actually quite straightfoward. This is a one-time setup, and you will have the button available anytime you want.

  1. Make the Developer tab available in your Word ribbon. See directions for doing this in Word 2007 and Word 2010.
  2. Click Developer – Macros. In the resulting popup, type MakeMergeField in the Macro name box, and click the Create button. The Visual Basic editor appears, with the macro outline already set up, and the cursor placed in the macro body.
  3. Copy the three lines in the body of the macro text above (between the Sub and End Sub lines) and paste them into the body of the macro.
  4. Close the Visual Basic editor.
  5. Create a new button for this macro in your quick-access toolbar.

Below is a short video demonstrating the steps. Enjoy! We hope you find this useful.

Document and Mail merge for Salesforce

Thursday, April 25th, 2013

Apsona is happy to announce a new add-on Mail and Document merge. Version 1.0 of the merging tool caters to three common situations:

  • Email merge: Produce a batch of email messages from an email template, and send off the email messages.
  • Document merge: Produce a batch of .docx document files from a .docx template, and download the results as a .zip file.
  • Email and document merge: Use a specified email template and a specified document template to produce a batch of email messages and documents, attach each resulting document to the corresponding email, and send off the emails.

In all of these cases, the data to be merged into the template can be obtained either from an Apsona report, including cross-object reports, or from the records in any of the Salesforce objects via Apsona’s console or tabular views.
For email templates, the merging tool can use any of the templates stored in your salesforce org, i.e., the ones accessible via Setup – Communication Templates – Email Templates. For document templates, the merging tool can use any .docx files available in your Salesforce Documents object.
Below is a brief comparison of Apsona’s Merge/mail with other competing products:

  • You don’t need special names for merge fields. This is unlike many other products. When creating a template, you can make up any field names you want, and the merge tool discovers and matches those names with your data fields on-the-fly.
  • You can mix-and-match templates used with reports. Since merge field names are not linked to (i.e., don’t have to be the same as) either data field names or report field names, you can use the same report with multiple templates. For example, you can create an Apsona report of your top opportunities from last month, filter it once for the gold partners and send using the “gold” template, and then filter it for the “bronze” partners to send using the bronze template. The two templates to not have to use the same field names.
  • It can use any of your existing document and email templates — no need to rewrite any of them.
  • It works with cross-object reports. So you can (for example) create a report including contact fields and total value of opportunities/donations, and send the results via email.

In the coming versions Apsona’s Mail and Document merge will support merging of lists, PDF and Excel options. If you would like to try out this feature, please click the Feedback link in the Apsona app and send us a License request.

Data analysis with Apsona reporting

Thursday, March 28th, 2013

At Apsona, we interact with awesome people from non-profit organizations (NPO) who work for some very noble causes. There are over 800 non-profit organizations (NPO) using the Apsona apps. Like for any organization, the most important thing for a NPO is data – the quality and quantity of their donor database. Quality means the donor’s contact information, addresses, email and phone. Direct mail is also widely used for soliciting and for acknowledging donor gifts and contributions. Apsona for Salesforce helps NPOs to maintain the quality by checking for duplicates while importing data, mass-updating filtered data, mass-adding members to a campaign, and so on.

The quantity aspect in a non-profit organization’s database refers to running reports and analyzing data. The Apsona apps help the non-profit users run reports and get information and pattern trends of donors – for example, who are the top donors, how often do they donate, and how much do they donate. Such information is invaluable, especially when a fundraiser is being organised. Let us see how we can build a common use case report with Apsona Multi-step Reporting.

Use case – To generate a report for a fundraiser to analyze giving patterns of donors. Data to be retrieved are high/top donors in the last 3 years. The donors who qualify should have given at least $1000 since the year 2010. The final report should be visualized with the donors to show up in the rows and the year in columns. This way we will be able to see each donors by year- if they donate every year, just for one year, etc.

Step 1:
  • Step info – Select the Donation Contact Role object.
  • Fields – Contact lookup field from the Donation Contact Role object, Donation Name, Donation Amount and close date from the Donation object, contact Full name from the Contact object.
  • Filter terms – Opportunity Amount at least 1000 and Opportunity close date on on after 1/1/2010.
  • Range & Sort – All matching records. Specify a number if you have one for the number of records to be retrieved.
  • Linkages – No linkages in step 1.

Click Save.

Step 2:
  • Step info – Select the Contacts object.
  • Fields – Contact ID and Contact Full name field.
  • Filter terms – None
  • Range & Sort – All matching records.
  • Linkages – Choose Contact ID matches Donations:Contact

Click Save and Run.

Let us visualize the data by clicking on the Visualization tab and selecting visualize.

  • Select the Matrix(Pivoting) option.
  • Rows grouped by Contact Name.
  • Columns grouped by – Date field – Donation close date in groups by year.
  • In each cell select Donation Amount: Sum.
Click Ok. You will now see each donor by year.

Apsona Apps – simple, reliable, effective.

Updating Data With Inline Edit

Friday, February 8th, 2013

Apsona’s inline edit feature is gaining a lot of interest from large enterprises. A key reason is that  it  helps the sales rep to be more productive. A sales rep’s primary goal is, of course, to close deals. Whilst the sales rep spends a lot of time talking to customers, listening to their needs and tailoring the sale, he also needs to document and update all his interactions.  Apsona makes this data updating quick and easy.
If you have used Salesforce for any length of time, you know that if an object has record types associated with it, you cannot use inline edit on any of its views. So if you are a sales rep who needs to update a bunch of opportunities, you have to first find them in a view, click each of them in turn, edit and save them, and reopen the view. So each update needs four page refreshes, not counting the actual clicks for editing.
In Apsona, you can just select the Opportunities tabular view. The tabular view resembles an excel worksheet where all records are laid out in rows. Each field value is in a cell which he can click and edit. You can work on several fields in the same opportunity or in different opportunities, and when done, click save. You can invoke pre-built filters at any time to narrow down the list, and then make changes and save the records. You can also build cross object filters on the fly, search for certain data records and make changes without losing context. For example, when working with opportunities, you can select not only Opportunity fields but also fields from any other object related via a lookup or master-detail relationship in either direction (parent or child).
Large enterprises use Apsona tabular views as top level pages. Salesforce admins build Opportunities tabular views with just the fields the sales rep requires to see.  Filters are also pre-built for the reps. So now, the rep need only select a filter, make changes to the records and click save. Thus he ends up saving a lot of valuable time.
This is just one example of how inline editing is being used. This feature works across all Salesforce objects, native and custom, in Apsona for Salesforce. If you have not tried out Apsona, please get our free trial from the Salesforce AppExchange.


Looking back, looking forward – 2012 in review

Wednesday, December 26th, 2012

It is December 2012 and the holiday season is in full swing. With all your good wishes we at Apsona will continue to thrive and support you all to the best we can. We are committed to bringing you more features and functionality in 2013. We are always willing to listen to your needs and requirements. Please feel free to contact us at any time. Thank you for taking the time to leave us reviews. Right now, we have over a 120+ reviews. We appreciate them immensely and they help us get along.

This year has been an eventful one for us. We began offering Apsona for Salesforce in 2011, and had a few tens of users. By the end of 2012, we have close to a thousand users from a few hundred organizations actively using it. This year also saw us through the initial development of Apsona Multi-step Reporting, which our users have been very positive about. It has also been a year that has initiated very fruitful partnerships. We are delighted to work with our friends at Cloud for Good, an effort which has resulted in Over the Edge, a migration tool for moving from Raiser’s Edge to Salesforce.

Whilst you told us that you liked what you see in Apsona overall, you have also asked for several cleanups and feature enhancements. We are very grateful for that feedback – many of the features currently in Apsona owe their existence to user comments.  Here are a few common user requests that we expect to see available in the coming months.

  • Improved reporting features, including the ability to show Apsona reports in Salesforce dashboards.
  • Automated periodic import and export of data, e.g., importing a data set from a file or an XML feed automatically into your Salesforce org every morning at 6 am.
  • Document merging, enabling you to merge a filtered list or a report into a Word or Excel document.

If there are other features you would like to see incorporated in the products, please drop us a note.

We would like to take this opportunity to thank all our users. We wish you all a happy, safe, healthy and prosperous 2013. Till we meet again for a new blog post in 2013 we leave you with a few of the reviews ( picked out in no particular order).

Judi Sohn – An outstanding addition to Apsona
Apsona is already a fantastic tool for data manipulation. No worries whether the user is using Mac or PC or whether they’ve installed a separate application. It’s all right there in Salesforce. The new multi-step reporting add-on is must-have. No having to start over if you want to add an additional object to a report, and you can select from objects related as either parent or child. No cleaning up in Excel either, as the result is just clean data. Excellent support.

Robert Pope – Great app, easy to use
We love this app – offers an easy to use interface and let’s us do mass updates and imports with ease – much easier to use than the built in Salesforce import tools! Thanks for an app that rocks 🙂

Reede Stockton – Tremendous app!
This is one of the most useful tools around. It truly shines when you need to do ad hoc reporting with unusual selection criteria. The ability to do cross object reporting and filtering makes it a breeze to tackle even tough requirements. If you’re a Salesforce admin, you’ll love Apsona. And it will quickly become apparent to you that, by pushing it out to your users, you’ll be able to quickly and easily fulfill a bunch of the requests that are cluttering up your to do list.

John Schulte – Absolutely the best app!
We also reviewed Apsona during a user group meeting and found it extremely user friendly and easier to use than other utilities of its kind. I actually prefer searching our Salesforce platform from Apsona since I get the data I am looking for the first time. It is much more accurate than Salesforce’s search options. We installed it in the Sandbox first but soon found out how accurate it was and installed it in production shortly after testing in the Sandbox. I use Apsona every day now and am totally impressed at how easy mass updates are now. Their help desk and videos are second to none!

John Thew – APSONA IS FANTASTIC!!!
Our SFDC consultant turned us on to Apsona and we are thrilled. This is absolutely the best app for mass importing information into SFDC that I have encountered. Easy to use and the staff at Apsona could not be friendlier or more helpful. SFDC should make this tool a standard part of the administrator’s package for their program.

Happy Holidays!