Welcome Symphony Developer!

Let's change the way we work

Development Options

You can integrate the Symphony platform with your systems to drive business processes in the following ways:

  • Extension App: The Client Extension API is a JavaScript library that allows you to build standalone web apps which are embedded in the Symphony user interface. See Overview of Extension Applications for an overview. You can also build applications that leverage "On-Behalf-Of" technology that enables your application to act on behalf of users.
  • Chat Bot: Our bot is an automated system user that performs tasks and exists inside of an application running within your own infrastructure. These chat bots leverage our REST API: The Symphony REST API allows you to access all pod and agent functionality in your client applications through a rich set of endpoints. See REST API Architecture for an overview. Symphony offers several SDKs in your preferred language for you to get started:
  • Embedded Chat Module: This JavaScript embedded chat resource allows you to embed chat room and instant message modules into other applications that support web views.

API Caller

Throughout the documentation, the terms bot process and API caller denote the entity that invokes Symphony APIs.

Choosing a Development Path

The following flowchart shows how to choose a development option depending on your business needs. Start at the far left at "Do you want to embed it into Symphony?" and then continue answering the questions. The rectangles highlighted in orange represent some of the solutions you can build with the development facilities listed above.

Basic Terminology

The following terms are used throughout the documentation:

  • agent: A process running on your premises that encrypts and decrypts the payloads of messages sent and received by an API caller, so that the caller does not need to implement encryption itself. The agent connects to Symphony's servers over the Internet.
  • key manager: Holds encryption key material for Symphony users.
  • pod: The cloud-based Symphony server infrastructure.
  • bot: To Symphony users, a bot is a user that can perform automated tasks. To a Symphony developer, a bot is a system user and an application.
  • OBO (on behalf of): Operations that are performed on behalf of a Symphony end-user.
  • IM (instant message): A conversation between two users.
  • MIM (multi-party instant message): A conversation between more than two users.
  • stream: A container for messages exchanged between two or more users via a given instant message (IM), multi-party instant message (MIM), or chat room. A stream has an ID known as the "Conversation ID". A stream can have attributes that define the characteristics and allowable actions of that room.

What's Next

Get Started or Jump to Learn More about Chat Bots

REST API Architecture
Making a Symphony REST API Call

Welcome Symphony Developer!

Let's change the way we work