App Hitlist

The following is a list of apps that I dream of building and posting on AppExchange in my copious free time, with my back-of-envelope effort estimate (Low = days, Med = weeks, High = months). Please. . . 
Name Description Effort
Access-to-Salesforce Migrator An application that takes an Access database's table and field structure, and ports it to a Salesforce org. No muss, no fuss!

For bonus points, the A2S Migrator would also enable:
  • Specifying which tables and fields to migrate
  • Migrating the actual data, too
Archive-in-Place ToolFacilitate/automated archiving records WITHIN Salesforce (eg, with a custom "Archived Case" object), to keep frequently-used tables from bogging down with too many records.Med
Chatter Gatekeeper A UI that enables an administrator to dictate which Profiles/Roles/Users can use Chatter.

A lot of administrators are hesitant to activate Chatter because it's either on or off for all users.

With the addition of Chatter Triggers in Spring '11, Salesforce supports whitelisting and/or blacklisting -- an app could permit/restrict Chatter posts based on user attributes.
Data Migrator Let's say I'm bringing a bunch of data into Salesforce. Why should I need to build all the target tables and fields first?

What if
  • with the click of an "Import" button, Data Migrator created a temp table on-the-fly to hold all the data from a specified flatfile?
  • Data Migrator provided a Salesforce-native interface that enabled me to easily transform and copy all that temp table data to another Salesforce table--whenever I wanted? 
See also the Org-to-Org Migrator described below.
Deep Clone Anything App that makes it easy to add a "Deep Clone" button to any Page Layout. A "Deep Clone" is like the regular Clone function, but it clones all the related records, too--think of the "Clone with Products" option available on the Opportunity Page Layout.

A sophisticated version of this feature would allow configuring exactly how the Deep Clone should work for every Record Type; some related records would be cloned, while others wouldn't.

Super Clone appears to deliver much of this. Props to Ida Lau for the tip!
Deployment Manager An sophisticated Salesforce app that governs Salesforce config changes.

Let's say I'm an end user in an org. If I need a new field, Deployment Manager would enable
  • me to submit a request for a new field to be added;
  • the administrator/s to create a "Build Spec" Salesforce record that details exactly how the field should be built and deployed;
  • the administrator/s to review the "Build Spec" record and approve it; they click a button that enables all queued "Build Specs" to deploy at once.
The win here: bigger organizations must go through a meeting- and logistics-heavy process before deploying changes to Salesforce. Couldn't that process live entirely inside Salesforce?
Documentation Builder Click a "Create Org Design Doc" button; Salesforce spits out a formatted Microsoft Word doc that documents, in detail, the current configuration, including object and field descriptions. Med
Dummy Record Store A dummy-record container that Apex test classes can refer to.

It would provide a UI for creating & maintaining dummy records for any tables the user wants. Those dummy records
• wouldn’t show up for ordinary end users and
• would be easily accessible by test classes.
This way, test-class failures caused by records that fail validation rules could be fixed through point-and-click.

The app would also notify the admin any time the dummy records failed validation rules.
Email Limits TrackerShow how I'm doing against the four Salesforce email limits on a single screen.Med
Export Everything An easy, intuitive app that improves on Salesforce's Data Export capability by making it possible, any time, to export all records (Data Export misses a bunch, including History, Share, Content, and Partners).

(My FileExporter app automates exporting Attachments, Content, and Documents, though it ain't pretty.)

(My Synchronizer app automates exporting all records any time, but is aimed at administrators.) 

Thanks to Eric Kintzer for the suggestion!
Field Administrator Administer (create, modify, delete) all object fields from a single screen--no wizards!--that supports working with multiple fields at once. Possible use cases:
  • Create a bunch of fields from a spreadsheet-like interface
  • Create a bunch of fields by uploading a CSV
  • Delete a bunch of fields at once
  • Rename fields easily 
  • Create a new field with <5 clicks, with Field Administrator defaulting all other values. Ideally, 
    1. Click "Create Field"
    2. Select field type from list
    3. Click "OK"
would be all I need to do, and I'm free to specify more detail anytime I like.
Google Spreadsheet Connector An Excel Connector for Google Spreadsheets. Excel Connector remains a hugely popular utility; an app that does for Google Spreadsheets what Excel Connector does for Excel would be an instant hit.

If I were to create it, I would start with the API. I've noodled a little with Google Spreadsheets code.

Xappex's Enabler4Sheets, the Chrome plug-in, does this. 
Props to Ida Lau for the tip!
GroupReporter Public Groups aren't available in analytics. GroupReporter solves this by instantiating two custom objects called ReportingGroup and ReportingGroupMember. GroupReporter's UI would consist of two components:
  1. a tab that has a single button in it: "Sync Reporting Groups with Public Groups". An admin could click it any time to run @future Apex code that populates ReportingGroup and ReportingGroupMember with all records in the standard objects Group and GroupMember.
  2. a few prefab custom Report Types for Accounts, Contacts, Optys, and Leads that include the ReportingGroup and ReportingGroupMember fields.
Office Toolkit has stopped supporting and updating Office Toolkit, the utility that makes it easy for Microsoft apps (like Excel Connector) to talk to Salesforce.

Whoever makes a version of the Toolkit that supports the latest Salesforce APIs would be a national hero.
Org-to-Org Migrator Makes it easy to move data from one Salesforce org to another through a wizard-driven (or even better, a fully interactive, click-and-drag) interface.

Similar to the Data Migrator described above.

(For the nonce, my Synchronizer app has a "Create Org-to-Org Query" function that helps make this a little easier.) 

Thanks to Eric Kintzer for the suggestion!
Override FuseboxAn app that enables overriding Salesforce automation (including but not limited to Approvals, Flow, Process Builder, Validation, and Workflow).

The Fusebox could target either general behavior ("deactivate all data validation") or specific ("deactivate Case Workflow Email Alerts triggered by System Administrator changes").

How could this be implemented? I envision an app that would
  1. create a whole mess of Custom Settings, and 
  2. intelligently embed the appropriate Custom Settings in all existing automation (eg, adding a "Process Builder Override = False" line to the criteria of each Process Builder).
Thanks to Chris Robertson for the idea!

Ben Edwards' Switch (part of his awesome Salesforce Toolkit) does this.
Password Resetter Makes it easy to reset passwords through Data Loader. The app sets up a "Reset Password?" checkbox on the User object.

When the checkbox is flipped to TRUE,
  1. the user is sent a password-reset email and
  2. the checkbox reverts itself to FALSE.
Profile Simplifier Terrific for complex orgs. The Profile Simplifier makes it possible to delete many of an org's custom Profiles by
  1. programmatically scanning all Users and Profiles;
  2. creating custom Permission Sets that mirror the privileges currently provided by Profiles; and
  3. bulk-assigning Users to their new Profiles and Permission Sets. 
Report Repairman When object relationships change, Reports can become obsolete--but in the wake of small changes, they're repairable with a bit of XML tweaking.

An app that automatically repaired Reports' fixable relationships (eg, Lookup to Master/Detail) would be a terrific asset.

Thanks to Silverline's Greg Grinberg for the idea!
Restrict these Roles to these Profiles Many times, there's overlap between Roles and Profiles (eg, only the Roles in the Marketing department should have Marketing Profiles). An app that restricts certain Roles to certain Profiles would save a lot of administrators' sanity.

All it'd need is a UI like the one shown below, and triggers on the User object.

Sandbox charges big money (over $100k/year) for Full Sandboxes. The developer who devises a Sandbox Populator -- an app that programmatically migrates data from a Production org into a Developer Sandbox -- would save Salesforce customers plenty.High 
System Overview Trending Now that System Overview tells us how close we are to hitting an app limit, how about an app that could perform trending and tell me which limits I'm racing toward fastest? Med
Thumbnail ViewerEmbed the thumbnails of all Chatter Files associated with a record  on that record's detail page (probably by leveraging this code).Low
Trigger Builder Point-and-click app that cranks out simple Trigger code.

Would serve as a terrific learning tool for button-click administrators who want to learn Apex.

Delivered within as Process Builder and Flow. . . which have some issues.
Two-Tier Enforcer App that prevents users from creating multi-tier Account Hierarchies (multi-tier Account Hierarchies are tougher to report on). Every Account Hierachy is flattened to look like this:

The app consists of a few components:

  • A Validation Rule and Filter Lookup that prevents any Account’s parent from having a parent
  • A Trigger that prevents (a) any Account’s child from having a child or (b) any Account from having both a parent and a child
  • A regularly-run Report to alert the admin if any Account sneaks through the cracks
Ultimate Parent App that shows an additional field on Account called "Ultimate Parent". Ultimate Parent is automatically kept up-to-date with the Account at the top of a given record's Account Hierarchy, and makes it easy to report on, say, total sales to multi-level hierarchies:

Name Parent Ultimate Parent

NBC Kabletown Kabletown 
TGS with Tracey Jordan NBC Kabletown

The app consists of two components:
  • A read-only "Ultimate Parent" field on Account to facilitate reporting
  • A Trigger that, after every save, intelligently populates all affected Accounts' "Ultimate Parent" field
Universal Picklists An app that maintains a universal list of picklist values (aka "List of Values" or LOV) and makes it easy to define new lookup fields that refer to specific LOVs.

This capability also makes it easy to
  1. map those picklist values to other fields (in the same sort of way that Opportunity Stages map to Probabilities) and
  2. create new picklist field that leverage the LOVs.
Jeff Douglas has already laid some of the groundwork for you.

Delivered by as Universal Picklists
VF Table Maker A Report Wizard-like UI that generates a Visualforce table of data.

Administrators could embed such a Visualforce page in Home pages, Dashboards, or record detail pages.
WhoCanDoWhat App that shows, either by User or Profile, who's allowed to do what in the current org. Two mockups:

Profiles & Apps

Users & Objects