• This repository has been archived on 17/Feb/2023
  • Stars
    star
    101
  • Rank 338,092 (Top 7 %)
  • Language
    Objective-C
  • License
    Other
  • Created almost 13 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ForcePad: Every Salesforce app, tab, and record, full CRUD, native iOS, slices these carrots, chops these tomatoes

ForcePad

ForcePad is a free, unofficial, unsupported, open-source native iPad app from Salesforce Labs. It's the easiest way to browse your apps, tabs, and records in any Salesforce environment. Create, edit, clone, and delete standard and custom records. Supports every page layout, every field, every related list, every Group Edition thru Unlimited Edition org. With ForcePad, you're an unstoppable force for the cloud!

ForcePad is on the App Store!      ForcePad is on the Salesforce Appexchange!

by Jonathan Hersh (Email, GitHub, Twitter) with special thanks to Wiebke and Brian in Salesforce UX, Ciara for graphic design and UX, plus Darrell, Eugene, Clarence, Reid, Mike, Simon, Todd, and Kevin.

Author's Note: Account Viewer (which became Salesforce Viewer, which became Salesforce for iPad, which became ForcePad) was my first iOS app, developed over more than a year, so files can show significant variation in quality, conciseness, structure, taste, texture, color, and aroma. The app has also been known to take you out to a nice sushi dinner and then not call you the next day. - JH

In this document:

  • Release History
  • ForcePad License
  • Getting Started
  • Authentication, APIs, and Security
  • App Architecture
  • External APIs
  • App Components
  • Areas for Improvement

Release History

ForcePad was originally released as 'Account Viewer' in August 2011. Account Viewer is available on GitHub. In November 2011, Account Viewer was updated and re-released as 'Salesforce Viewer'. In February 2012, I updated it again to Salesforce for iPad. In August 2012 it became ForcePad.

v2.4.1, 2.4.2, 2.4.3 - Released 10/6/2012

  • Fixes a crash with date/datetime fields. Third time's a charm?
  • Fixes some rendering issues under iOS 6

v2.4 - Released 9/5/2012

  • Salesforce for iPad is now ForcePad!
  • New Save behavior: maintains your window stack after you create or update a record
  • New support for Report and Dashboard in-app listviews
  • Now displays any errors that occur during login (e.g. if you login with a user who has API disabled)
  • Better support for displaying records that do not have record layouts (opens in webview)
  • Fixes for rendering dependent picklist values
  • Fixes for displaying currency values in multicurrency orgs
  • Fixes for activity related lists on Contact and Lead records
  • Fixes for the partner related list
  • Other misc. fixes

v2.3 - Released 4/5/2012

  • Now requires iOS 5.
  • Retina-fied for the new iPad
  • Many UI updates, bug fixes

v2.2.3 - Released 3/13/2012

  • Added an escape hatch to the login screen
  • Fix a crasher when tapping into an empty date or datetime field

v2.2.2 - Released 3/6/2012

  • Save Salesforce Contacts/Leads to your Address Book
  • Save Address Book entries to Salesforce Contacts/Leads
  • Save Salesforce Events to your Calendar
  • Create Case Comments
  • Support for combobox fields
  • Bug fixes, UI improvements

v2.2.1 - Released 2/20/2012

  • Bug fixes

v2.2 - Released 2/15/2012

  • Initial release of Salesforce for iPad
  • Create, edit, clone, delete records for (almost all) standard and (all) custom objects
  • Bug fixes, UI updates

ForcePad License

Copyright (c) 2012, salesforce.com, inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of salesforce.com, inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Getting Started

  1. Grab the ForcePad source code: git clone https://github.com/ForceDotComLabs/Salesforce-for-iPad.git
  2. ForcePad connects to Salesforce securely with OAuth. If you don't have an OAuth client ID, create a new Remote Access application (Setup -> Develop -> Remote Access). Use the OAuth success endpoint for your callback URL: e.g. https://login.salesforce.com/services/oauth2/success for production. Copy your OAuth Client ID into the OAuthClientID variable in OAuthViewController.h.
  3. (Optional) ForcePad connects to environments that are not otherwise API-enabled, like GE and PE orgs, by using a partner token. If you have a Salesforce partner token, paste it into RootViewController.h under PartnerTokenId.
  4. (Optional) If you have a Google API key, paste it into RecordNewsViewController.h under NEWS_API_KEY.
  5. Build and run, and you should be good to go!
  6. If you're getting build warnings/errors akin to "Multiple build commands for output file...", you'll need to remove the .git directory from your project. See this answer for more detail.

Authentication, APIs, and Security

ForcePad authenticates to Salesforce with OAuth. The app encrypts your OAuth refresh token in the device's keychain. The app never has access to your username or password.

After authentication, ForcePad's API calls are about 30% to the SOAP (Web Services) API and 70% to the REST APIs. REST is the future for mobile and I'm trying to move as much as possible away from SOAP.

SOAP is used for:

  • OAuth
  • Page layout describes (Unavailable in REST)
  • Describing apps and tabs (Unavailable in REST)
  • Retrieving multiple records in a single retrieve call (Unavailable in REST)
  • SOQL where querymore is expected (Available in REST, but the Mobile SDK does not yet implement querymore)

REST is used for:

  • Retrieving single records
  • Create, update, and delete
  • Describing global and individual objects
  • SOSL
  • Non-querymore SOQL

Remote records are never saved locally. Page layouts, sObject describes, and other metadata are cached in-memory and cleared at every logout and refresh.

Some record data (names and addresses) are sent to third-party APIs to provide app functionality, but always over HTTPS. More details below in the External API section.

App preferences (first-run settings, preferences) are stored in NSUserDefaults.

App Architecture

When ForcePad first loads, it evaluates whether it has a stored OAuth refresh token from a previous authentication. If so, it attempts to refresh its session with that refresh token. See appFinishedLaunching in RootViewController.m. If there is no stored refresh token, or if the refresh fails for any reason, the app destroys all session data and shows the OAuth login screen.

The left-side navigation view (in landscape mode, also visible in portrait mode in a popover when you tap the browse button), a.k.a. the Master view, is powered by the RootViewController and SubNavViewController classes. RootViewController handles most of Login/Logout, while SubNavViewController powers record browsing, searching, object lists, and displaying favorite objects.

The right-side view is powered by the DetailViewController. It serves as a container for the rest of the app's content and is responsible for creating, managing, and destroying Flying Windows and the Flying Window stack. It manages dragging operations on Flying Windows.

The interactive, draggable panes that fill the DetailViewController are termed Flying Windows and each is a subclass of the FlyingWindowController class. The FlyingWindowController base class defines some basics about their look and enables them to be dragged about the screen.

Behold ye the Flying Windows:

  • RecordOverviewController is responsible for displaying a record overview, page layout, and rendering the record's location on a map.

  • ListOfRelatedListsViewController lists all of the related lists on a record. The list ordering as well as which lists appear is determined by your record page layout. This view controller also chains subqueries together to load the number of related records on each list.

  • RecordNewsViewController is responsible for querying Google News (over HTTPS) and displaying news stories about a single Account. Only available for Account records.

  • WebViewController is a simple UIWebView wrapper with a few added pieces of functionality, like being able to email the link to the open page, copy its URL, open in Safari, and tweet a link.

  • RelatedListGridView displays a related list for a given record. The columns displayed on the related list grid are determined by the record's page layout. Related record grids have tap-to-sort columns and tapping an individual record's name will open its full detail.

  • RecordEditor handles creating, editing, cloning, and deleting records, as well as filling values from the local Address Book when editing Contacts and Leads.

  • RecentRecordsController is the default 'home' flying window, displaying a list of recent records accessed in ForcePad. It allows sorting by record type and removing recent records from the list.

Modal Windows

AboutAppViewController, SFVEULAAcceptController, and SFVFirstRunController are part of the first-run experience and also power the help pages accessed via the settings window.

ChatterPostController is the main interface for posting an article or URL to chatter.

CloudyLoadingModal probably doesn't do anything important. Look behind you!

OAuthCustomHostCreator, OAuthLoginHostPicker, and OAuthViewController microwave popcorn. Actually, they microwave burritos. Nah, just kidding, they're the brothers who run that corner convenience store.

ObjectLookupController is a lookup box launched when you tap the 'Post To' field in the ChatterPostController. It also handles lookup fields on record editing layouts. It can search via SOQL and SOSL for (almost) any standard or custom object.

PicklistPicker is a popover tableview for selecting from a picklist, multiselect, or combobox. It also handles picking from lists of record types, for use when editing a record.

Miscellaneous Views

FieldPopoverButton is a generic UIButton intended to display the value of an sObject field. All FieldPopoverButtons can be tapped to copy the text value of that field, and depending on the field type, some may have additional actions. For example, a FieldPopoverButton displaying an address will offer to open the address in Google Maps, phone/email fields will offer to call with Facetime or Skype, and lookups to User will display a full-featured user profile with a photo and other details from the User record.

FollowButton is a generic UIBarButtonItem intended to make it easy to create a follow/unfollow toggle between the running user and any other chatter-enabled object (User, Account, etc).

QCContactMenu is a subclass of the super-nifty QuadCurveMenu component intended to make it easy to Email, Skype, Facetime, or open the website for any record. If a page layout has three fields of type Phone, for example, a QCContactMenu, when tapped, will allow you to choose Skype, then place a Skype call to any of those three phone numbers.

Caching

The app has a caching layer to hold metadata in-memory, allowing the app to read metadata from cache instead of re-querying the server. This is mostly contained in SFVAppCache except for page layouts, which are cached in SFVUtil.

Network Operations

Network operations use the block methods in SFVAsync (for SOAP) and the Mobile SDK's SFRestAPI blocks (for REST). SFVUtil contains the app's image loading block method and cache. I added additional REST API blocks under SFRestAPI+SFVAdditions, mostly for the purpose of intercepting object describes and, if cached, immediately returning the cached value.

Security

SFCrypto encrypts and decrypts OAuth session tokens for the device's keychain.

SimpleKeychain is a utility class for reading from and writing to the device's keychain.

External APIs

  • Google's Geocoding API allows ForcePad to convert an record street address into a latitude/longitude coordinate pair for display on a map.
  • Google's News Search API provides news articles, images, bylines, and article summaries. Google deprecated this API on May 26, 2011, but it will remain operational for at least 2.5-3 years after that date. At some point, ForcePad will need to transition to a different news API.

ForcePad communicates with these APIs over HTTPS.

App Components

ForcePad uses Salesforce components:

And a number of third-party components:

Areas for Improvement

Much is there to do on ForcePad. Some unsolved problems:

  • The Metadata Problem(tm). That is, suppose you're editing a record and your admin adds a new required field to that object, or deletes a field, or maybe removes a recordtype, or, heck, deletes the whole object. Maybe the admin switched your profile. Staying in metadata-sync with the server is always a tradeoff with caching. ForcePad currently lands heavily on the side of caching, describing most objects and layouts just once when encountered and never again until next login/refresh.
  • Standard Objects deserve special handling. Lists of contacts and leads in the should be sorted by last name. Standard objects need additional customized listviews, like My Upcoming Events, My Open Tasks, My Opportunities Closing This Month. How flexible and declaractive can we make in-app list views given we don't have access to standard list views?
  • I find the landscape experience to be far superior to portrait. In portrait, navigating down enough levels of windows will keep reassigning your browse button, and you'll have to drag all the way back to the top to access it. In landscape the master navigation and record list is always visible. In short, the app needs a big navigational redesign that works equally well in portrait and landscape.
  • Session refresh. This is tricky because SFiPad uses both SOAP and REST, either one of which could expire at any time. When the session refreshes for one, it needs to be updated in the other. See this issue.

Some other things to do:

  • OpportunityLineItems and QuoteLineItems need special handling (price books, products) and are not available to create or edit in the app today.
  • ForcePad doesn't support creating or editing objects that do not have page layouts (e.g. contact roles, account teams, etc) with the exception of Case Comments, for which I added a special hack to support. Nor does the app support viewing objects without page layouts, except in related lists.
  • Object list views have an API, but the API requires sysadmin (MAD/VAD). Not workable for normal users.
  • Chatter feeds are a popular request. The iOS Chatter team aims to release some reusable components later this year.
  • The Account News feature uses Google's News API, which Google deprecated in May 2011. ForcePad will eventually need a replacement news source or I'll have to remove the feature.
  • Offline access is a feature that adds convenience at the cost of added complexity (secure storage, record sync, delayed upserts) and security considerations (it allows downloading mass amounts of data)
  • PIN lock
  • Editing rich text fields
  • Displaying images in formula fields
  • Displaying in-line Visualforce pages on record page layouts
  • Document viewing for Attachments, Content, chatter feed posts, static resources(?)

More Repositories

1

Milestones-PM

Lightweight Project and Task Management for Force.com #forcedotcom
Apex
208
star
2

LightningWebChartJS

Simple yet flexible charting Lightning Web Component using Chart.js for admins & developers
JavaScript
143
star
3

OrgCheck

Org Check is an easy-to-install and easy-to-use Salesforce application in order to quickly analyze your org and its technical debt.
JavaScript
127
star
4

EnhancedLightningGrid

Component that allows you to sort and filter data within the Lightning Experience. Use as a replacement for a Related List, or create a new grid that shows results from a custom query.
Apex
126
star
5

survey-force

Apex
85
star
6

GanttChart

Gantt-Chart is a sample component that demonstrates what can be built with Lightning Web Components (LWC)
JavaScript
44
star
7

ExcelUpload

Excel Upload Lightning Web Component
JavaScript
40
star
8

Schedul-o-matic-9000

Not your mother's Salesforce scheduler
JavaScript
40
star
9

FlowEmailComposer

A lightning component that provides the ability to select email template and prepare a draft version of the email with merge field values. User can also compose the email on the go without selecting email template. Pre-populate the email composer with To,CC,Bcc,Subject.
JavaScript
40
star
10

FileExplorer

With the Lightning File Explorer, you can create and then view a hierarchy of your files associated with a record. The files are nested within a familiar tree structure which we are all used to.
HTML
36
star
11

ProjectManagementTool

Project Management Tool (PMT) is an application built on Salesforce platform that helps teams: manage projects, track progress and project resources and report on the project status.
JavaScript
35
star
12

FindNearby

Apex
33
star
13

FluentAssert

This project aims provide better asserts for tests in Apex. Inspired by AssertJ and other fluent libraries.
Apex
30
star
14

Contact-Viewer

JavaScript
29
star
15

dreamhouse-mobile-react

JavaScript
28
star
16

ActivityTimelineLWC

A LWC implementation of the Activity Timeline https://lightningdesignsystem.com/components/activity-timeline/#site-main-content
JavaScript
25
star
17

ActionPlans

24
star
18

VideoViewer

This lightning web component allows users to play video files natively in Salesforce. No need to download a video file to view it. There is also no need to transfer the video file to a third party service.
JavaScript
24
star
19

Easy-PDF

Easy PDF creates an Invoice, Quote, and/or Packing Slip PDFs with the click of a button! This package also comes with an editable PDF template of the Opportunities object as a guide to start making your own PDFs by editing our HTML. Our Visualforce and Apex code is all editable so that you can apply the concept of generating a PDF template from the click of a button to any Salesforce object that you desire. This is the first unmanaged package on the AppExchange, and it’s cleverly designed to be flexible and extensible.
Apex
24
star
20

MultiOrgSecuritySummary

Multi-Org Security Summary gives you the ability to bring all of the Security Health Check data from all of your Salesforce environments(production & sandbox) into a single org! This allows you to get a clear picture of the security health of your entire Salesforce program and manage your team of Admins more efficiently.
HTML
23
star
21

Account-Viewer

Master your Salesforce Accounts! A free open-source native iPad app.
Objective-C
23
star
22

ampscript-core

AMPscript Core is an open source implementation of the Marketing Cloud AMPscript language.
C#
22
star
23

MultiLevelNavigationMenus

The Multi-Level Navigation Menu for Experience Cloud app offers components to manage multi-level navigation menus, and render them in your Experience Cloud site. You can configure up to 6 levels of depth in your menus, control the look and feel with styling configuration, horizontal vs vertical presentation, language filtering support, and much more!
JavaScript
22
star
24

ActionPlansV4

Action Plans encapsulates best practices into reusable task templates.
Apex
22
star
25

ApprovalHistoryLWC

Allows adding an approval history related list to any Lightning Page.
HTML
21
star
26

SalesforceCMSComponentLibrary

Experience Cloud provides several standard CMS-related components focused on collections and other manually-curated pieces of content. These custom components complement those standard components and allow you to place relevant and dynamically-selected CMS content on topic detail and record detail pages. This can be used to inform customers and partners, drive context-specific calls to action,and to make your users much happier with the digital experience you create.
JavaScript
21
star
27

piazza

Connect with fellow conference attendees from your geo-aware mobile device.
JavaScript
20
star
28

Home-Child-Kanban

The versatility for kanban views enable seamless coordination among team members of various business processes across an organization and hence boosting productivity.
JavaScript
20
star
29

AddressPickerAutocompleteForFlow

This component helps you, and your users make filling in addresses a breeze! It will find address suggestions as you type and upon selection will fill out all the relevant fields for you to make use of however you'd like in your flow.
JavaScript
20
star
30

CommunityCookieConsent

Community Cookie Consent allows you to display a cookie notice to your customers and gain their consent when they use your community. You can configure the cookies and categories directly in Salesforce and use those to drive the user interface.
HTML
20
star
31

RecordClone

Lightning component to clone record with child records together
Apex
19
star
32

ClusterAnalysis

Cluster analysis for Salesforce: Group records into clusters and visualize the result using ML algorithms
JavaScript
19
star
33

AppRecordDetails

This is a LWC solution to have fields specific for an application
JavaScript
19
star
34

Logger

JavaScript
18
star
35

MyCharts

Google charts for saleforce.com desktop and mobile via the new analytics API
JavaScript
18
star
36

Hierarchy

If you are looking for an easy way to visually represent your hierarchical Salesforce data, look no further!, here is a lightning component for you. Using this component you can create highly interactive visual representation of your hierarchies
JavaScript
18
star
37

MySalesforceTrustMonitor

HTML
17
star
38

LimitsMonitor

Limits Monitor App Exchange App
HTML
17
star
39

AnimalShelterStarter

Animal Shelter Starter provides the foundation to use Salesforce for managing animals, treatments, conditions, housing and related activities.
Apex
16
star
40

QuotaEdit

UI for viewing and editing quotas for Collaborative Forecasting
Apex
16
star
41

MyV2MOM

The myV2MOM app enables leaders to drive alignment within their organization. Using this app employees can view their leadership's vision and goals, and set their own personal professional goals to be aligned with that of their leaders.
JavaScript
16
star
42

LeadScoring

Lead Scoring helps rank inbound leads to your salesforce.com org.
15
star
43

ListViewPlus

Apex
15
star
44

FlowErrorHandling

Flow templates for using a subflow to send error handling emails to current user and admin.
13
star
45

OrgchartLightning

Org Chart is a lightning ready responsive component which enables the user to view the hierarchy, mangers, peers and reportees of any employee of his organisation. It is ready to use from mobile or in any view (Page, Quick Action, Utility) of Desktop.
JavaScript
13
star
46

Kickboard

Digital transformation is tough and even tougher without the right devices. Kickboard is that device. It won't solve digital transformation, but it will guide you to think through problems, opportunities, and next steps using design thinking.
JavaScript
12
star
47

AllOnboard

With All Onboard Starter Pack, you can seamlessly onboard anyone, in one consolidated place and in no time at all.
JavaScript
12
star
48

InventoryManagerNP

Inventory Manager for Nonprofits
Apex
11
star
49

Mass-Update-And-Mass-Edit

11
star
50

AnyRecordHierarchy

HTML
10
star
51

CMSContentTypeCreator

The CMS Content Type Creator gives you a convenient point-and-click way to create content types right inside Lightning Experience.
HTML
10
star
52

EmailResponseConsole

Email Response Console for Salesforce Service Cloud - or ERC – is a Salesforce Service Cloud Console application tailored for agents that are focused primarily on email.
Apex
10
star
53

Salesforce-Campaign-Segmentation-Wizard

This is code that works with Salesforce.com. Easily break down Campaigns for A-B testing or using the Salesforce.com Mass Email wizards. Create segments of whatever size works for you and randomly assign campaign members to those segments, all of them rolling up using standard Campaign Hierarchy.
10
star
54

SMS-for-Flows

SMS for Flows contains Invocable Apex to send SMS messages via Twilio Messaging API.
Apex
10
star
55

IssueBox

JavaScript
9
star
56

Brackets

Run tournament prediction pool games in Force.com.
9
star
57

Inline-Account-Hierarchy

9
star
58

CaseTimer

JavaScript
9
star
59

Org360Visualizer

Visualize your Org dependencies with Org360 Visualizer
JavaScript
9
star
60

SalesforceJourneys

This Lightning Component allows you to view which Marketing Cloud journeys a Contact, Lead, Case or Account is on, directly within Salesforce. You can also choose to eject them from any of those journeys if appropriate.
HTML
9
star
61

LightningMessagingUtility

Whether you're a Salesforce Admin or Developer - the way you deliver messages to your users is key to building a user-friendly app! Lighting Messaging Utility gives you the tools you need to build clean and consistent messages at all times!
HTML
9
star
62

MyAwesomeDynamicRecordForm

JavaScript
8
star
63

Trekkr

Create a culture of continuous learning. Turbocharge how you onboard new employees, no matter their speed. Pacers, runners, or sprinters: we've got everyone covered. Get, set, go!
JavaScript
8
star
64

UnsubscribeLink

App that allows a constituent to unsubscribe from all emails from an organization
8
star
65

cloud-swarm

Apex
8
star
66

B2BProductWizard

Create and update a B2B product with ease using this Lightning component.
Apex
8
star
67

CPQB2BConnector

The CPQ B2B Commerce Cloud Connector is an unmanaged package from Salesforce Labs and allows customers of both B2B Commerce and CPQ to configure or customize functionality that will sync products, pricing, quote requests and order history across both clouds.
Apex
8
star
68

EagleEyes

Provide a way to visualize orgs performance data using Event Monitoring data and Einstein Analytics. Also provides key performance insights.
Apex
7
star
69

Data-Fetcher

JavaScript
7
star
70

ProposalForce

ProposalForce is a Request for Proposal management solution
JavaScript
7
star
71

Govuk-GDS-Components

CSS
7
star
72

ProcessAutomationTracking

Track how often Process Builder, Flow and Apex automations are used.
Apex
7
star
73

DrawAnnotations

Added drawing and annotations to your app, based on Fabric.js http://fabricjs.com/
JavaScript
7
star
74

BatchJobScheduler

Apex
7
star
75

RevenueCloudCodeSamples

Code Samples to implement revenue cloud features
JavaScript
7
star
76

react.force.base.theme

JavaScript
7
star
77

ListEditor

JavaScript
7
star
78

Case-Age-In-Business-Hours

7
star
79

BudgetingForce

A new budget management app from Force.com Labs
6
star
80

dreamforce-chatter-app

Chatter app built for dreamforce 2012
Apex
6
star
81

OCRAssistant

OCR Assistant allows admins to quickly get started with OCR
Apex
6
star
82

ChatterRSS

Import RSS feeds into your Chatter stream
6
star
83

AppAnalytics

The AppAnalytics app gives a user interface for you to submit Analytics Query Requests directly from your Licensing Org. For More information on Partner Intelligence App Analytics: https://developer.salesforce.com/docs/atlas.en-us.packagingGuide.meta/packagingGuide/app_analytics_intro.htm
JavaScript
6
star
84

LightningStarRatingComponent

JavaScript
6
star
85

Mass-Delete

6
star
86

Toastmasters

An app to create meeting agendas and to facilitate virtual meetings, with ballots and evaluation forms.
JavaScript
5
star
87

EmailValidator

Apex
5
star
88

DupeEliminator

Apex
5
star
89

Event-Management

5
star
90

Flow-Datagrid-Pack

JavaScript
5
star
91

Dunning-and-Collections-Salesforce-Billing

Apex
5
star
92

Data-Quality-Analysis-Dashboards

5
star
93

Configurable-Self-Registration-for-Experience-Cloud

Apex
5
star
94

Mass-Lead-Converter

5
star
95

CustomQuoteSync

Apex
5
star
96

chatter-game

Apex
5
star
97

CrisisResponse

This application enables companies to respond to and manage a crisis (COVID-19) by understanding employee and location impact, keeping employees up to date, responding to employee needs, and reporting on impact to business continuity.
Apex
5
star
98

ISVConsole

ISV Console helps your ISV team make sense of customer apps installations, expiring licenses, and customer locations with actionable items to help your team save time with common processes and convert more sales leads on the go!
JavaScript
5
star
99

MrRobotFramework

Wouldn't it be nice if there was a way to connect Lightning components with Einstein bots. Mr. Robot is a framework that does that! Mr. Robot uses salesforce hottest technologies to provide a flexible implementation of Einstein bot that interacts with Lightning components by using Salesforce Platform Events.
JavaScript
5
star
100

CSV2Salesforce

Apex
5
star