@bigbinary/neeto-integrations-frontend
v3.1.5
Published
UI for integrations in neeto products
Downloads
4,969
Readme
neeto-integrations-nano
The neeto-integrations-nano
provides support for third-party integrations to neeto
applications. The nano exports the @bigbinary/neeto-integrations-frontend
NPM package and neeto-integrations-engine
Rails engine for development.
The engine handles the authentication, webhooks and token management for integrations with the following providers.
- Meta ( Facebook, Instagram, WhatsApp )
- Google ( Analytics, YouTube )
- Microsoft ( MS Teams)
- Zapier
- Twilio
Host can provide required permissions for a supported third-party integration, then engine will handle the authentication, token storing and refreshing for the host. Tokens, account details and webhook subscription details are stored in tables handled by the engine.
The frontend package provides components to handle integration card, steps, disconnect and other integration configuration page support.
Contents
Development with Host application
Engine
Installation
- Add the gem to your
Gemfile
.
source "NEETO_GEM_SERVER_URL" do
gem "neeto-integrations-engine"
end
Run
bundle install
Add the required env variables to
.env.development
and update yoursecrets.yml
. Refer OAuth Config for more details on specific integrations.Import migrations to your project:
bundle exec rails neeto_integrations_engine:install:migrations
- Add the migrations to the database:
bundle exec rails db:migrate
- Add the Integrations List required to
config/neeto_integrations.yml
. Also, add the required integration(not natively supported by engine) asother_applications
for post Integration UI support.
applications:
- title: "Instagram Chat"
service_name: Instagram
provider: Facebook
service_type: Social
scope:
- email
- public_profile
- pages_show_list
- instagram_manage_messages
- instagram_basic
other_applications:
- title: "neetoDesk"
service_name: neetoDesk
service_type: Support
provider: neeto
Refer the Oauth Config for list of supported provider
,
service_name
and service_type
.
- Import data migration to update the integrations list with the newly added
integration from
config/neeto_integrations.yml
:
bundle exec rails generate neeto_integrations_engine:integrations_list:update
Or manually execute the following command in all the environments to update the integrations list. Although the above approach is recommended.
bundle exec rails neeto_integrations_engine:integrations_list:update
- Mount Neeto Integrations to your
routes.rb
:
mount NeetoIntegrationsEngine::Engine => "/neeto_integrations"
- Add association to
User
model:
has_many :auth_requests, class_name: "NeetoIntegrationsEngine::AuthRequest", dependent: :destroy
- Add association to
Organization
model:
has_many :integrated_apps, class_name: "NeetoIntegrationsEngine::IntegratedApp", dependent: :destroy
- If you want your integration to be specific to other model like
User
,Form
, etc, add association as:
has_many :integrated_apps, as: :integrable, class_name: "NeetoIntegrationsEngine::IntegratedApp", dependent: :destroy
Details
neeto products currently using this engine
| Products | Integrated (Used in production) | Integration (Currently in development/staging) | | :---------: | :------------------------------------------------------------------: | :--------------------------------------------: | | neetoChat | :x: | Instagram, WhatsApp, Twilio, Zapier, MS Teams | | neetoSocial | Instagram(page), Facebook(page), Google(Analytics, YouTube), Twitter | :x: | | neetoCal | MS Teams | :x: | | neetoForm | :x: | MS Teams |
Frontend package - @bigbinary/neeto-integrations-frontend
UI for integrations for all neeto products.
Installation
yarn add @bigbinary/neeto-integrations-frontend
Usage
Available components:
- Components
- Exports and Types
Product integrations
| Projects | IntegrationsFrontend | | ------------ | :------------------: | | neetoChat | :white_check_mark: | | neetoDesk | :white_check_mark: | | neetoForm | :white_check_mark: | | neetoInvoice | :white_check_mark: | | neetoKB | :white_check_mark: | | neetoMonitor | :white_check_mark: | | neetoCal | :white_check_mark: |
Instructions for development
Check the Frontend package development guide for step-by-step instructions to develop the frontend package.
Instructions for Publishing
Consult the building and releasing packages guide for details on how to publish.