Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Alteryx IO Discussions

Customize and extend the power of Alteryx with SDKs, APIs, custom tools, and more.

Platform Integration | Development Guide

StephenW
Alteryx Alumni (Retired)

Introduction

 
Use the Platform Integration Development Guide to learn how to integrate with the Alteryx Analytics platform. Within the guide, you can find overviews of integration options and links to relevant technical resources.
 
 

Table of Contents

 

 

Alteryx Analytics Platform Overview

 
Alteryx takes a different approach to analytics. Our platform is purpose-built to create new data partnerships between IT, analytic teams, and the lines of business. With Alteryx, whether you are an analyst or data scientist, you can solve even the most complex analytic business problems, with less time and effort, to drive business-changing outcomes across your organization.
 

 

 

 

Alteryx Connect

Overview

Alteryx Connect changes how you discover and organize information for analytics in your organization, so you can spend more time collaborating and finding new insights. We are at the beginning of a thrilling analytic experience that combines the power of data cataloging with human insight and empowers you to quickly and easily find, manage, understand, and collaborate on the information that resides in your organization.
 

 

Integration Options

Alteryx Connect provides two integration options. The first integration option pushes metadata into Connect. The second integration option pulls metadata from Connect. The integration options are explained below.

 

Connect Loader SDK

Alteryx Connect helps customers explore their company's data by providing important metadata information, such as the author or location, or social information, such as use frequency or related data.

Connect uses loaders to load data, regardless of location or format. Loaders are available for more-widely used servers and database systems; however, the Connect Loader SDK allows the creation of custom loaders to create and integrate custom metadata and object types into Alteryx Connect.
 
Visit the Alteryx online help to find out more about the Connect Loader SDK.
 
Custom loader example – PostgreSQL Loader by The Information Lab

 

Connect REST API

Connect user data and loaded metadata is accessible through the Connect REST API. The API can be used to incorporate Connect data into other applications.
Visit the Alteryx online help to find out more about the Connect REST API including a list of API endpoints and examples.

 

Validation

Use the checklist to validate that your custom loader is ready for release.
 

Task

Details

?

Functionality

  • Load metadata according to specifications.
  • Set up error message handling.

 

Messaging

Complete the description and metadata.

 

Compatibility

Set up messaging so that it provides clear definitions of compatibility with Alteryx platform.

 

Security

Take into security considerations into account.

  • Set up secure management of passwords.
  • Remove test credentials or sensitive test data.
  • Obfuscate the program where applicable.
  • Avoid sending sensitive information over HTTP.

 

General

Do not use Alteryx APIs/SDKs that have reached end of service (EOS).

 

 
 
 
Alteryx Designer

Overview

Alteryx Designer streamlines the analytic process by delivering a repeatable workflow for self-service data analytics, leading to deeper insights in hours, not weeks. Alteryx Designer empowers data analysts by combining data preparation, data blending, and analytics – predictive, statistical, and spatial – using the same intuitive user interface.

 

 

Integration Options

There are multiple ways to integrate with Alteryx Designer. Integration methods include creation of custom, standard, and coding tools.

 

Custom Tools

While Alteryx provides a wide range of functionality with the available tools, you may find that a specific action could be better served by creating a custom tool. A custom tool, or HTML5 Plugin, consists of two components:

  • the GUI, shown in Designer's Configuration window
  • the Engine, which processes logic to handle records passed to and from the Alteryx Engine

The GUI component must be written in HTML5 using the HTML GUI SDK. The HTML GUI SDK is a library of extensions used to create the graphical user interface (GUI) for the configuration panel for a custom Alteryx Designer tool.

 

HTML GUI tool example – DataRobot Automodel and Predict Tools

 

The engine component can be created using one of a variety of back end options, which include:

 

The Alteryx C++ SDK allows you to write custom Alteryx plugin tools using C++. This means you can use the C++ SDK to access core elements of the Alteryx Engine framework.

 

Sample C++ Engine code can be found after Designer install at C:\Program Files\Alteryx\APIs\AlteryxSDK.zip\AlteryxPluginAPI\SDKSampleEngine\SDKSampleEngine.vcxproj

 

The Alteryx Python SDK is a Python extension module that provides users the ability to write custom Alteryx plugin tools using Python. This means you can use the Python SDK to access core elements of the Alteryx Engine framework.

 

Also available is SnakePlane, a flexible, easy-to-use abstraction layer for building tools using the Python SDK.

 

 
Python tool example – Azure Data Lake Tools

 

 

 

A tool that uses the HTML GUI SDK for its interface component can use an Alteryx Designer macro for its engine component. To set up an existing macro as an engine component, connect data items to interface tools and match the names of the data stream connections to Macro Input and Macro Output tools.

 

 

 custom-tool-options.png

 

Coding Tools

Multiple tools included with Alteryx Designer allow you to extend the capabilities by interacting with APIs or command line scripts:

  • Run Command Tool allows you to run external command programs within Designer.
  • Download Tool allows for interaction with SOAP and REST APIs and can also be used to download or upload data via FTP and SFTP.

standard-tool-options.png

 

Coding Tools

Two coding tools included in Alteryx Designer allow you to incorporate custom code:

  • R Tool is a code editor for users of R. The tool allows you to write custom R code and include external packages.

  • Python Tool is a code editor for users of Python. The tool allows you to write custom Python code and include external libraries.

coding-tool-options.png

 

Integration Option Considerations

 

Option

Best Use

Custom Tool

Interface requires dynamic inputs and/or logic

 

Compared to Standard/Coding options:

  • High complexity and development effort

Standard Tool

Interaction is limited to an API call or command

 

Compared to Custom/Coding options:

  • Low complexity and development effort

Coding Tool

Limited user interaction

 

Compared to Custom/Standard options:

  • Medium complexity and development effort

 

Validation

Use the checklist to validate that your custom tool is ready for release.

 

Task

Details

?

Verify standards

Confirm that the tool meets distribution

standards using the Tool Verification Checklist.

 

Package tool

Use tool packaging instructions to

create a tool installation YXI.

 

 

 

 

 

Alteryx Server

Overview

Alteryx Server accelerates your time to analytical insight and empowers analysts and business users across your organization to make informed, data-driven decisions. Using a scalable platform to deploy and share analytics, you and your team can easily collaborate on business-critical decisions.
 

 

Integration Option

Alteryx Server can be used to power your analytic processes. The Gallery REST API provides a way to programmatically interact with the Server.
 
Gallery REST API example – Presidential Election App

 

Validation

Use the checklist below to validate that your integration is ready for release.
 

Task

Details

?

Functionality

  • Test on multiple machines.
  • Set up error message handling.

 

Compatibility

Set up messaging so that it provides clear definitions of compatibility with Alteryx platform.

 

Security

Take security considerations into account.

  • Set up secure management of passwords.
  • Avoid sending sensitive information over HTTP.

 

General

Do not use Alteryx APIs/SDKs that have reached end of service (EOS).

 

 
 
 
Alteryx Promote

Overview

Alteryx Promote provides an end-to-end data science system for developing, deploying and managing predictive models and scoring data with real-time decision APIs. It allows data scientists and analytics teams to build, manage and deploy predictive models to production faster — and more reliably — without writing any custom deployment code.
 

 

Integration Options

Use the Alteryx Promote integration options to embed machine learning capabilities into your product. There are three integration options:
  • Promote API provides endpionts to query predictive models. Querying a model consists of sending in structured data to the model, allowing the model to process the data and make a prediction, then returning that prediction from the model to the requesting client.
  • Python Client provides a library of Python methods used in the various stages of model deployment, including deploying a model and making a prediction.
  • R Client provides a library of R methods used in the various stages of model deployment, including deploying a model and making a prediction.

 

Embedded Analytics & Data Science: Shell Oil Case Study

 

Validation

Use the checklist below to validate that your integration is ready for release.
 

Task

Details

?

Functionality

  • Test on multiple machines.
  • Set up error message handling.

 

Compatibility

Set up messaging so that it provides clear definitions of compatibility with Alteryx platform.

 

Security

Take security considerations into account.

  • Set up secure management of passwords.
  • Avoid sending sensitive information over HTTP.

 

General

Do not use Alteryx APIs/SDKs that have reached end of service (EOS).

 

 

 

Additional Resources

Alteryx Connect

Alteryx Designer

Custom Tools

Standard Tools

Coding Tools

Alteryx Server

Alteryx Promote

 

2 REPLIES 2
joshuaburkhow
ACE Emeritus
ACE Emeritus

Love this! Thanks @StephenW . I have put into a PDF if anyone wants to download and use

Joshua Burkhow - Alteryx Ace | Global Alteryx Architect @PwC | Blogger @ AlterTricks
SeanAdams
17 - Castor
17 - Castor

Hey @StephenW / @TashaA 

 

Given the new platform SDK - would it make sense to do an update on this awesome doc to bring it up to date?