Mifos User Documentation Portal
  • Overview and Background
    • History and Background
    • Mifos Vision, Mission & Values
    • Who Mifos is For
    • How Mifos is Used
    • The Mifos Stack
      • Overview
    • Mifos v/s Fineract
    • Community app v/s Webapps
  • General Contributing Guidelines
    • Upstream Development Approach
      • Contribution Process
      • The Apache Way
    • Contributors Guide
    • Contribution Guidelines: Android Project
    • Contribution Guidelines: Web Project
  • Getting Started
    • Getting started with Git & Github
    • Postman integration with Gitbook for testing
    • Testing framework-Web
    • Testing framework-Android
    • Mifos CI/CD tools and instructions
  • External 3rd Apps
    • Pentaho Reporting Plugin
    • Payment Hub
  • MifosX
    • Overview
    • User Manual
      • How to Use This Manual
      • For All Users
        • General Navigation
          • Sign In Page
          • Welcome Page
          • Dashboard Page
          • List Page
          • Menu Page
          • Form Page
          • Clients-Groups-Centers Navigation
          • Navigation Tool
          • Global Search
          • Loan Product and Accounting with Mifos
        • Reports
          • Standard Reports Shipped in Mifos X
          • Standard Reports Field Descriptions
          • Custom Reports
            • Creating Simple Pentaho Report and Embedding it to Mifos X
          • XBRL Reporting
      • For Administrators (Mifos X Platform)
        • Initial System Set Up
        • Administration
          • Users
          • Organization
            • Manage Offices
            • Currency Configuration
            • Manage Holidays
            • Manage Funds
            • Manage Employees
            • Bulk Loan Reassignment
            • Standing Instructions History
            • Teller / Cashier Management
            • Fund Mapping
            • Working Days
            • Password preferences
            • Payment type
            • Loan Provisioning Criteria
            • SMS Campaigns
            • Message Gateway Configuration
            • Daily Teller Cash Management
            • Entity Data Table Checks
          • System
            • Manage Data Tables
            • Audit Trails
            • Manage Codes
            • Manage Reports
            • Manage Roles and Permissions
            • Manage Scheduler Jobs
            • Configure Maker-Checker Tasks
            • Global Configuration
            • Manage Hooks
              • Steps for creating sms bridge
            • Account Number Preferences
            • Entity To Entity Mapping
              • External Services
          • Products
            • Loan Products
              • Loan Product Fields
                • Accounting Loan Product Fields
                • Configuring and Disbursing of Top-Up Loan
                • Declining Balance Interest Calculation
                • Enabling Floating Rate
                • Enabling Variable Installments
                • Flat interest calculation
                • Loan Product Fields—Additional Fields for Loans with Variable Terms based on Loan Cycle
                • Recalculate Interest
                • Tranche Loan Fields
              • Setting up Minimum Days between Disbursal and First Repayment
              • Product Mix
            • Charges
            • Floating Rate
            • Savings Products
              • Saving Product Fields
                • Accounting Saving Product Fields
            • Fixed Deposit Products
              • Fixed Deposit Product Fields
                • Accounting Fixed and Recurring Deposit Product Fields
              • Interest rate chart with amount range
            • Recurring Deposit
              • Recurring Deposit Product Fields
            • Interest Calculations for Deposit Products
            • Overdraft Product
            • Share products
              • Dividends
            • Manage Tax configuration
          • Templates
          • mifos dropdown
        • Clients, Groups and Centers
          • Manage Clients
            • Client Life Cycle Statuses
            • Client Relationship Management
          • Manage Groups
          • Manage Centers
        • Accounting
          • Chart of Accounts - General Ledger Setup
            • Default COA sql script
          • Accounts linked to Financial Activities
          • Migrate opening balances (Office-wise)
          • Accounting Rules
          • Provisioning Entries
          • Print General Ledger Listing
          • How To Enter GL Opening Balance
        • Configure Notifications
      • For Operational Users (Mifos X Web App)
        • Accounting operations
          • Add Journal Entries
          • Searching Accounting Transactions
          • Frequent Postings
          • Advanced Accounting Rules
          • Closing Entries
          • Accruals
        • Accounts and Transactions
          • Cash Transaction Processing
          • Deposit Accounts
            • Mifos X Saving Accounts
              • How to Activate a Saving Account
              • How to Add a Charge to a Saving Account
              • How to Approve a Saving Account Application
              • How to Calculate Interest for a Saving Account
              • How to Close a Saving Account
              • How to Create a Saving Account Application
                • Saving Account Fields
              • How to create overdraft account (Draft)
              • How to Delete a Saving Account Application
              • How to Make a Deposit to a Saving Account
              • How to Make a Withdrawal from a Saving Account
              • How to Modify a Saving Account Application
              • How to Post Interest to a Saving Account
              • How to Reject a Saving Account Application
              • How to Transfer funds from a Saving Account
              • How to Withdraw a Saving Account Application
            • Standing Instructions
              • How to Set up a Standing Instruction
                • Standing Instruction Form Fields
            • Term Deposit Accounts (Fixed Deposit / Recurring Deposit)
              • How to Activate a Term Deposit Account
              • How to Add a Charge to a Term Deposit Account
              • How to Approve a Term Deposit Account Application
              • How to Calculate Interest for a Term Deposit Account
              • How to Create a Term Deposit Account Application
                • Term Deposit Account Fields
              • How to Delete a Term Deposit Account Application
              • How to Make a Deposit to a Recurring Term Deposit Account
              • How to Modify a Term Deposit Account Application
              • How to Post Interest to a Term Deposit Account
              • How to Reject a Term Deposit Account Application
              • How to Withdraw a Term Deposit Account Application
            • Creating Recurring Deposit Account:
          • Loan Accounts
            • How to Create a Loan Account Application
              • Loan Account Fields
            • How to Make Repayments on a Client Loan Account
            • Track Loan Performance History
            • How to Approve a Loan Account Application
            • How to Add a Charge to a Loan Account
            • How to Modify a Loan Account Application
            • How to Assign a Loan Officer
            • How to Reject a Loan Account Application
            • How to Withdraw a Loan Account Application
            • How to Delete a Loan Account Application
            • How to Add Collateral to a Loan Account
            • How to Add/Remove/Modify a Guarantor to a Loan Account
            • How to Manage Loan Account Disbursement
            • How to Make Repayments on a Group Loan Account
            • Using collection sheet or other payment types for making payments
            • How to Waive Interest for a Loan Account
            • How to Write-off a Loan Account
            • How to Close a Loan Account as Rescheduled
            • How to Close a Loan Account
            • Making Prepay of the loan
            • How to Prepay a Loan Account
            • How To Create Group Loan Account
            • How to Process Bulk JLG Loan Application
            • How to generate - Loan transactions report
            • How to reschedule loan
            • How to provide floating rates
            • How to provide variable installments
            • How to create new loan - Interest Recalculation
            • Tranche loan process
            • Loan with term vary based on loan cycle
            • How to Place Guarantee Funds On-Hold?
          • Overdraft account
          • Saving Accounts
            • How To Create Group Saving Account
          • Share Accounts
        • Checker Inbox & Tasks
      • Side Bar - Features
        • Checker inbox and tasks
        • Collection sheet
        • Help.
        • Individual collection sheet
        • Keyboard short-cuts
        • Navigation
      • Others - mifos dropdown
        • Help
        • Profile
        • Settings
          • Date format
          • Language
        • Signout
      • Data Import Tool
        • Getting started with - Data Import Tool
        • Installing Data Import Tool
      • Glossary of Terms
      • Index
      • Reporting Documentation
      • Mobile Money Tool
    • User Space
      • New Feature Request Content
      • Recommended System Requirement
      • MifosX Overview
      • Installation guide
        • Upgrading Mifosx
        • Install MifosX on Windows
        • Install MifosX on Linux
        • Install MifosX on AWS
      • Release Notes
        • Release 1 and Features List
        • Release 2 and Features List
      • User Manual
        • How to Use This Manual
        • For All Users
          • General Navigation
            • Sign In Page
        • For Administrators
          • Initial System Set Up
        • For Operationals
      • Roadmap
      • Frequently Asked Questions (FAQs)
      • Demo Server Details
    • Developer Space
      • Setting Up Dev Environment
        • Setting up Frontend - community-app
      • Setting up MifosX from latest builds
      • Contributors Guide
      • Customising MifosX
      • Additional features
        • Data import tool
        • SMS campaigns
        • Pentaho reports
      • How Mifosx works
      • Adding a new tenant to MifosX instance
      • Using REST client for testing
      • API documentation
      • Scaling MifosX
      • Upgrading MifosX
      • Troubleshooting guide
  • Core Banking & Embedded Finance
    • Core Banking
      • Overview
    • Embedded Finance
      • Overview
  • Application Framework
    • Payment Hub EE
  • Main Platforms
    • Fineract 1.x
      • Apache Fineract
      • Apache Fineract Client
    • Fineract CN
      • Overview
      • User Manual
  • Staff UI Platforms
    • Fineract 1.x
      • Community-App
      • Web-App
      • Web Self-Service App
        • Online Banking App 2.0 User Manual
          • Developer Environment Setup for Online Banking App 2.0
      • Mobile Field Officer Applications
        • Android Client
          • User Manual
    • Fineract CN
      • Digital Bank User Interface
      • Mobile Field Officer Applications
        • Fineract CN Mobile
  • Customer UI Platforms
    • Fineract 1.x
      • Mobile Banking
        • Mifos Mobile
      • Mobile Wallets
      • Online Banking
    • Fineract CN
      • Mobile Banking
        • Fineract CN Mobile
        • Mifos Mobile CN
      • Mobile Wallets
      • Online Banking
  • Ancillary Tools
    • Fineract 1.x
      • Message Gateway
      • Mifos Passcode
      • PPI Vision
      • DevOps Tooling
      • Fineract Android SDK
      • MifosX Admin
      • Mifos ChatBot
      • Data Import Tool
    • Fineract CN
      • Fineract CN Containers
      • Fineract CN Terraform
  • Payment and Process Orchestration
    • Fineract 1.x
      • Payment Hub
      • Fineract Pentaho
    • Fineract CN
      • Staff Interfaces
        • Digital Bank UI
      • Customer Interfaces
        • Fineract CN Mobile
        • Mifos Mobile CN
        • Fineract CN Mobile
      • Ancillary Tools
        • Fineract CN Terraform
        • Fineract CN Containers
    • Payment Hub EE
Powered by GitBook
On this page

Was this helpful?

  1. MifosX
  2. User Manual
  3. For Administrators (Mifos X Platform)
  4. Administration
  5. System

Manage Hooks

PreviousGlobal ConfigurationNextSteps for creating sms bridge

Last updated 5 years ago

Was this helpful?

Hooks are a mechanism to trigger custom code on the occurrence of events. In other words, Hooks are notifications sent to any external application (which can be accessed through a web address) from Mifos X in the format the external application wants. Each template during hook creation represents custom behavior on what actions should be taken on the triggering of a registered event for a hook. The action taken might be firing an HTTP request to another server or executing an internal code.

In order for Mifos X to send webhook payloads, your server needs to be accessible from the Internet. Mifos X will send along a few HTTP headers to differentiate between event types.

X-Mifos-Entity - The entity type that was triggered. X-Mifos-Action - The action triggered on the entity type. X-Mifos-Platform-TenantId - The tenant which experienced the event.

You can create two types of Hooks using Hook Templates.

  • Web

  • SMS Bridge

Create a Web Hook

  1. Go to Admin >> System and click on Manage Hooks.

2. Click on 'Manage Hooks' and then click on '+Create a Hook' to see the following window. (Here, select Hook Template as "Web" from drop-down menu)

3. "Create a Web Hook" Fields:

SI.No

Field Name

Drop-Down Parameters

Description

1

Hook template

  • Web

  • SMS Bridge

Select the 'Web' hook in this case.

2

Display Name

None

The name of the template that is being called.

3

Active

None

Please Check it to trigger the hook.

4

Content Type

None

5

PayLoad URL

None

The web address at which the external application is expecting notifications to come in from Mifos X.

6

Events

  • Account Transfer

  • Accounting

  • Authorization

  • Configuration

  • Data table

  • Jobs

  • Organization

  • Portfolio

  • Portfolio_Center

  • Portfolio_Group

  • Survey

  • Transaction Loan

  • Transaction Savings

  • XBRL Mapping.

You can select any one of the event for which the hook is triggered for.

7

Select Entity

For each selected event (Example: Portfolio), you have to select the entity from drop-down list like, Loan, Center, Client etc (for Portfolio event)

8

Select Action

For each selected Event and Entity, you have to select the specific action from the drop-down list.

4. Click on "Submit" button to create a 'Web' Hook.

Create an SMS Bridge Hook

Note :i) You need to clone https://github.com/mgeiss/mifos-twilio-bridge and do a gradlew bootRun to start the application which will act as a bridge between Mifos X and Twilio.

  1. Go to Admin >> System >> Manage Hooks.

  2. Click on 'Manage Hooks' and then click on '+Create a Hook' to see the following window. (Here, select Hook Template as "SMS Bridge" from drop-down menu).

' 3. Create SMS Bridge Hook' Fields:

SI.No

Field Name

Drop-Down Parameters

Description

1

Hook Template

  • Web

  • SMS Bridge

Select the 'SMS Bridge' hook in this case.

2

Display Name

None

The name of the template that is being called.

3

Active

None

Please Check it to trigger the hook.

4

Payload URL

None

5

Phone Number

None

This field has to be the phone number with which the person registered for the SMS service provider (Example: Twilio) and not some random number.

6

SMS Provider

None

The only value this field supports right now is Twilio. (In the future, it can be other providers as well).

7

SMS Provider Account Id

None

It is obtained from the SMS Provider website when you register there. Example:- When you pay and register for an account in Twilio.

8

SMS Provider Token

None

9

Events

  • Account Transfer

  • Accounting

  • Authorization

  • Configuration

  • Datatable

  • Jobs

  • Organization

  • Portfolio

  • Portfolio_Center

  • Portfolio_Group

  • Survey

  • Transaction Loan

  • Transaction Savings

  • XBRL Mapping.

You can select any one of the event for which the hook is triggered for. (Note: The only 2 events in Mifos X currently supported by the bridge application are CREATE CLIENT and REPAYMENT LOAN. The bridge application won't react to other events registered for the SMS Bridge Hook.)

10

Select Entity

For each selected event, (Example: Portfolio), you have to select the entity from drop-down list like, Loan, Center, Client, etc ( for Portfolio event)

11

Select Action

For each selected Event and Entity, you have to select the specific action from the drop-down list.

4. Click on 'Submit' button to create a "SMS Bridge" hook.

Note: i. Do not create an SMS Bridge hook with your own mobile number if you have not registered for Twilio.

ii. If you create multiple clients in Mifos X with the same mobile number for testing (by deleting the client and creating a new one), that might not be supported by the bridge application because of unique mobile number constraints.

iii. If you somehow lose/clear the database contents for bridge application, it is better to delete the hook in Mifos X and create a new one.

The format in which the external application is expecting the notifications to come in. JSON () or FORM ().

ii) Your mobile number should be registered to twilio. (See the link for more information: )

, Provide this as Payload URL only for "SMS Bridge", not for "Web" hook template.

SMS Provider Token is the token generated by the (required to communicate with the SMS provider) on starting the application.

Associate a UGD template with an SMS Bridge Hook: to watch the tutorial video.

http://www.twilio.com/help/faq/phone-numbers
Click Here
application/json
application/x-www-form-urlencoded
http://localhost:9191/modules/sms
bridge