Building apps for SuperOffice
SuperOffice CRM Online has great extensibility points that allow vendors to create complimentary applications in and around SuperOffice.
While a great standalone CRM solution, SuperOffice becomes better with complimentary applications. To develop applications in our SOD environment is free. Required licenses apply only in production (live).
What are applications?
An application for SuperOffice CRM Online expands the CRM solution to resolve relevant business needs and lets you extend the capabilities of SuperOffice.
The key to any integration is that the application is relevant and adds value to customers in their sales, marketing, customer service, and/or business processes.
You can think of an application as a link to another cloud service. The link allows the other service to retrieve, present, or add data to SuperOffice.
If you use the APIs, which you will have to use to communicate with the database, it is an application!
All SuperOffice CRM Online applications get a unique ID to identify each integration within our environment.
SuperOffice CRM Online web client at a glance
- An online platform serving thousands of customers
- Distributed and federated platform service
- CRM integrations limited to web panels and database access
- Customer Service integrations can be almost everything you want
Ways your application can extend SuperOffice
Applications can be or do the following:
- An add-on module
- SuperOffice Web Tools
- Calendar synchronization
- A configuration
- Industry-specific categorization
- Document templates
- Email templates
- Synchronize data between SuperOffice and an ERP system
- Trigger workflows between systems
- One-way data update (address, financial and similar) between SuperOffice and external data providers
The extensibility points are platform-independent.
Anything a consultant can do inside the SuperOffice Admin application, any application can programmatically do during or after provisioning:
- Custom lists and list items
- User-defined fields
- Web panels
- Custom buttons
- Sales guide, project guide
- Re-skinned to customer's brand
Applications are either developed by SuperOffice or one of our partners.
Standard and custom applications can incorporate the following external-facing integrations:
These integration types are referred to as Integration Services.
Register as a developer to get access to our environment.
- Signs you up for a developer user account.
- Creates a test tenant in SOD (can be shared by multiple developers within a company).
- It's essential that you provide us with your redirect URLs at this point.
- You receive a unique set of keys to identify your application and certificates for authentication.
Develop your application.
Test your application.
Deploy your application.
Your new standard or custom application has been developed and tested and is now ready to be put to work.
- standard application: launch in the App Store
- custom application: activate for one specific customer's database
We take precautions to ensure that no individual upgrade plan compromises data or the availability of services for any customers. This includes informing you about new versions, what's changing, and when it's deployed - with the opportunity to test and update your offerings in line with the SuperOffice CRM Online services.
Preferred technology stack
All types of technology platforms, including Java, PHP, Python, Ruby, and many more can integrate with NetServer web services.
Any technology stack that supports web services can connect to and exchange data with SuperOffice NetServer via REST or SOAP protocols.
For SOAP SuperOffice supplies .NET proxy assemblies as NuGet packages. All other technology platforms must generate their own proxies, or use raw SOAP/XML, to access the web services.
You are responsible for hosting your own applications, regardless of you develop standard applications for the SuperOffice App Store or custom applications for a specific customer.
SuperOffice will not bill, provision, or host partner applications. Instead, the App Store redirects to our partners' websites where customers buy directly from the partner.
As a partner, you will have to host your applications in your own cloud environment. This could be in an environment managed by a group of partners or for example in their Azure or Amazon cloud.
In practical terms, this means that you must build and host a page that receives JWT tokens at the redirect URL. This page must be up and running before you attempt to connect to our APIs and authorize your application.
Set up your SuperOffice app development environment
Before you begin coding, the application must be registered in the Developer Portal.
Confused about where to start?
If you are new to developing for SuperOffice CRM Online, a good place to start is reading up on key concepts such as security, authentication, validation, development environments, provisioning, and user contexts.
All partners creating an application for SuperOffice CRM Online must be comfortable with federated authentication. All applications must use SuperID for authenticating users.
Creating an application for the SuperOffice App Store is not something to take lightly. There are a few key elements that all application vendors must understand before their creations are released into the wild. Here we guide you through the journey for successfully creating an application ready for SuperOffice CRM Online.
Before you begin:
- You must have completed steps 1 and 2 above.
- Be prepared to receive and validate tokens:
- Build a native or web application that can receive and validate the JSON web token.
- Sign in to SuperOffice online using OAuth 2.0/OpenID Connect, and then give consent to allow your application to access your tenant resources.
Standard and custom applications
Applications have 2 unique identifiers: client ID (
ApplicationIdentifier) and client secret (
ApplicationToken) . The latter is considered a password and must be stored as such.
Uniquely identifies the application used, and used by the SuperOffice CRM Online to know where to redirect a user.
Must be supplied when invoking any of the SuperOffice CRM Online web services.
A specific SuperOffice installation registered for a specific customer. In other words, the unique combination of customersite/custid. Each application environment SOD, stage, production has its own set of tenants.
How customers will interact with applications, tightly linked to user contexts. Each application falls into one of the following categories:
- Internal application
- External application
- Hybrid application