FM Buddy API Modules follow a standard way of connecting to a service. The components consist of Clients, Connections, and Scope. Services will use 1 or more of these depending on the service connection requirements. 

Clients

This is where the developer account information is stored. Providers might call these "apps" or "projects". In the case of Google you provide your client Id and client secret or for Twilio the account sid and auth token. These pieces of information are basically the same thing just with different names based on the service you are connecting to.

Connections

Now that you have a client created you need to connect to a user's data with a connection. Each module will have an endpoint called Initiate Connection, from here you provide the client id. This will be the value in the _id property of the response from creating your client.

Example "Initiate Connection" Response
{
    "url": "https://www.dropbox.com/oauth2/authorize?response_type={{type}}&client_id={{id}}&redirect_uri={{uri}}",
    "connectionId": "5b1h4cc4ca9c802c852ch520"
}

The result returned will be a url for the user to follow to grant access to there data. Once the user approves this connection in a web browser you can use the provided connectionId to make calls to that users data. This id is used wherever you see variables such as twilioClientId, googleConnectionId, or dropboxConnectionId.

Scope

Some services such as google also require a scope. This tells the connection what access privileges it has to the user's data. With google, the scope will specify what services are allowed such as Google Drive, Calendar, and Mail.