Meraki and TopDesk Cloud Integration

This is the Meraki TopDesk Cloud Integration source code. Using Meraki Webhooks and Flask, we have developed a connector to initiate incident requests in TopDesk Cloud.

alt text

Contacts:

Solution Components

  • Python
  • Flask
  • Meraki Dashboard API
  • Meraki MR Access Points

Installation:

Clone the repo

$ git clone https://github.com/gve-sw/meraki-topdesk.git
Install virtualenv via pip
$ pip install virtualenv
Create a new venv
Change to your project folder
$ cd meraki-topdesk

Create the venv
$ virtualenv venv

Activate your venv
$ source venv/bin/activate

Install dependencies

$ pip install -r requirements.txt

Setup:

Meraki details :

You can deploy this prototype in a lab environment or on your own Meraki dashboard online here.
You need to have a TopDesk App Password and your TopDesk Deployment URL (replace localhost). You may check here for more info.

To generate an API KEY, refer to the documentation here.
You will use this for getting an ORGANIZATION ID, and using this application.

You must select an organization to manage and use its ORGANIZATION ID. You may do so by using Meraki's Postman collection
here and GET the list of organizations,
or use Meraki's API Docs to generate a request here.

Fill in the details of your Meraki deployment and TopDesk Cloud in the DETAILS.py file

MERAKI_API_KEY = 'Your API Key'
MERAKI_ORGANIZATION_ID = 'Your Organization ID'

TOPDESK_USERNAME = 'Your Username'
TOPDESK_PASSWORD = 'Your App Password'
TOPDESK_URL = 'http://localhost/tas/api/incidents'

Usage:

Launch the Alert Handler Server. Make sure that you have your venv activated.

$ flask run --host=0.0.0.0 --port=5000

You must now expose your Server through an https connection. You may use ngrok for this.

$ ngrok http 5000

You may also use AWS Lambda and Zappa to host the server. You may refer to zappa_settings
for a sample config, and here for a
quick guide on using them.

Setup your Meraki Dashboard settings using this guide
and use the https endpoint provided by ngrok. TopDesk should now be creating incidents for every alert webhook received.

You may customise the message provided by changing TopDeskHelper.py.

####Uplink Loss and Latency
You may access the Uplink Loss and Latency Monitoring at IP/stats (for example: http://127.0.0.1:5000/stats)

Sample Alert

alt text

License

Provided under Cisco Sample Code License, for details see LICENSE

Code of Conduct

Our code of conduct is available here

Contributing

See our contributing guidelines here

View code on GitHub
  • Owner

  • Contributors

    +2Github contributors
  • Categories

  • Products

    Meraki
  • Programming Languages

    Python
  • License

    Other

Code Exchange Community

Get help, share code, and collaborate with other developers in the Code Exchange community.View Community
Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.