Ango Hub Docs
Open Ango HubContact iMerit
  • Ango Hub Documentation
  • Video Guides
  • Changelog
  • FAQs & Troubleshooting
  • All Keyboard and Mouse Shortcuts
  • Core Concepts
    • Assets
    • Attachments
    • Batches
    • Benchmarks
    • Category Schema (Ontologies)
    • Frame Interpolation
    • Geofencing
    • Idle Time Detection & Time Tracking
    • Instructions
    • Issues
      • Issue Error Codes
    • Label Validation
    • Labeler Performance
    • Labeling
    • Labeling Queue
    • Multiple Classification
    • Notifications
    • Organizations
    • Projects
    • Requeuing
    • Reviewing
    • Review Queue
    • Skipping
    • Stage History
    • Tasks
    • Usage
    • User Roles
    • Workflow
      • Complete
      • Consensus
      • Hold
      • Label
      • Logic
      • Plugin
      • Review
      • Start
      • Webhook
  • Labeling
    • Managing Users in Projects
      • Profile Page
    • Managing the Project Ontology
    • Labeling Editor Interface
      • Audio Labeling Editor
      • Image Labeling Editor
      • Video Labeling Editor
      • DICOM Labeling Editor
      • Medical Labeling Editor
        • 3D Bounding Box
        • Fill Between Slices
        • Island Tools
        • Line (Tape Measure)
        • Smoothing
      • PDF Labeling Editor
      • Text (NER) Labeling Editor
      • LLM Chat Labeling Editor
      • Markdown Labeling Editor
      • 3D Multi-Sensor Fusion Labeling Editor
    • Labeling Classes
      • Tools
        • Bounding Box
        • Brush
        • Entity
        • Message
        • Nested Classifications
        • PCT
        • PDF Tool
        • Point
        • Polygon
        • Polyline
        • Rotated Bounding Box
        • Segmentation
        • Spline
        • Voxel Brush
      • Classification
        • Checkbox
        • Multiple Dropdown
        • Radio
        • Rank
        • Single Dropdown
        • Text
        • Tree Dropdown Tools (Single and Multiple Selection)
      • Relation
        • Single Relation
        • Group Relation
    • Magnetic Lasso
    • Performance & Compatibility Considerations
  • Data
    • Data in Ango Hub
      • Embedding Private Bucket Files in MD Assets
    • Importing Assets
      • Asset Builder
      • Bundled Assets
        • Importing Multiple Images as One Multi-Page Asset
        • Importing Multiple Single-Frame DICOM Files as One Multi-Page Asset
        • Importing multiple DICOM files to be annotated and displayed at once
        • Importing Multiple Single-Frame DICOM Files as a DICOM Series
        • Importing Multiple Markdown Files as One Multi-Page Asset
      • File Explorer
      • Supported Asset File Types & Codecs
      • Importing Cloud (Remote) Assets
      • Importing From Local Machine
      • Creating and Importing LLM Chat Assets
      • Importing Data in the 3D Multi-Sensor Fusion Labeling Tool
      • Bulk Importing Markdown/HTML Assets
      • Importing Attachments during Asset Import
      • Importing Annotations during Asset Import
      • contextData: Adding Extra Data to Assets
      • Importing Reference Images as Overlay
      • Importing Reference Medical Data During Asset Import
    • Importing and Exporting Annotations
      • Importing Annotations
        • Ango Import Format
        • Importing Brush Traces
        • Importing NRRD Annotations
      • Exporting Annotations
        • Ango Export Format
          • Asset
            • Task
              • Tools
              • Classifications
              • Relations
          • Stage History
    • Adding and Managing LLMs
    • Storages
      • Set up a storage integration with Azure
      • Set up a storage integration with AWS S3
      • Set up a storage integration with MinIO and S3-compatible custom storage services
      • Set up a storage integration with GCP (Google Cloud Platform)
      • Set up CORS
      • Validating Storage Integrations
    • Purging Data from Ango Hub
  • Plugins
    • Overview of Plugins in Ango Hub
      • Installing Plugins
      • Plugin Setting Presets
      • Monitoring Plugin Progress
    • First-Party Plugins
      • Ango Export Converter Plugins
      • Asset Converter Plugins
      • Ango to Mask Converter
      • Batch Assignment
      • ChatGPT
      • Column-Agnostic Markdown Generator
      • CSV Export for Classification
      • DALL-E
      • DALL-E (Model Plugin)
      • File Explorer Plugin
      • General Object Detector
      • General Object Segmenter
      • Markdown Generator
      • One-Click Segmentation
      • Open World Object Detection
      • Optical Character Recognition
      • TPT Export
      • YOLO | Instance Segmentation
      • YOLO | Pose Estimation
      • YOLO | Object Detection
      • YOLO | Image Classification
    • Plugin Developer Documentation
      • Export Plugins
      • Batch Model Plugins
      • Model Plugins
      • File Explorer Plugins
      • Markdown Generator Plugins
      • Plugin Logger
      • [WIP] Deploying your Plugin
      • Plugin 'Host' Information
  • SDK
    • SDK Documentation
      • Project Level SDK Functions
        • add_members_to_project
        • assign_batches
        • assign_task
        • create_attachment
        • create_batch
        • create_issue
        • create_label_set
        • create_project
        • delete_issue
        • export
        • exportV3
        • get_assets
        • get_batches
        • get_issues
        • get_metrics
        • get_project
        • get_project_performance
        • get_task
        • get_tasks
        • get_task_history
        • import_labels
        • list_projects
        • requeue_tasks
        • rerun_webhook
        • update_workflow_stages
        • upload_files
        • upload_files_cloud
        • upload_files_with_asset_builder
        • upload_chat_assets
      • Organization Level SDK Functions
        • create_storage
        • delete_organization_invites
        • delete_organization_members
        • delete_storage
        • get_organization_invites
        • get_organization_members
        • get_storages
        • invite_members_to_org
        • update_organization_members_role
    • SDK – Useful Snippets
    • SDK Changelog
  • API
    • API Documentation
  • How-To
    • Add Members
      • Add multiple users to a project
    • Annotate
      • Annotate 3D Point Cloud Files on Ango Hub
      • Perform targeted OCR on images
    • Export Data
      • Automatically send Ango Hub Webhook contents to Google Sheets, Email, Slack, and more with Zapier
      • Download a JSON of your project ontology
      • Download DICOM Segmentation Masks
      • Download your annotations in the COCO, KITTI, or YOLO format
      • Download your Segmentation Masks
      • Get your export as separate JSON files for each asset
    • Manage a Project
      • Get your API Key
      • Get your Organization ID
      • Mute your notifications
      • Open an asset provided the Asset ID
      • Pre-label assets
      • Share a filtered view of the Tasks table with others
      • Transfer project ontologies between projects
      • Transfer project workflows between projects
    • Perform Model Evaluation on Ango Hub
  • Troubleshooting
    • I get a "0 Tasks Labeled" alert when trying to pre-label tasks
    • I get a 'The data couldn't be loaded properly' error when opening certain assets
    • I get a "Unknown Classification" warning when opening a task
  • Feature Availability Status for projects of the 3D Multi-Sensor Fusion type
  • Comparison between QuickServe and Ango Hub
  • Changes from Ango Hub Legacy
  • Video V2 Breaking Changes and Transition
  • Data Access, Storage, and Security
  • Two-Factor Authentication
  • Single Sign-On (SSO) Support
  • Customer Support
  • Ango Hub Status Page
Powered by GitBook
On this page
  • Prerequisite: Set Up Webhook in Ango Hub and Zapier
  • Sample workflow: adding annotations in real time to a Google Sheets spreadsheet
  • More: Getting notified by email every time a number of webhooks has been sent
  1. How-To
  2. Export Data

Automatically send Ango Hub Webhook contents to Google Sheets, Email, Slack, and more with Zapier

This page describes how you can use Zapier to automatically send, in real time, the contents of webhooks sent by Ango Hub to services such as Google Sheets spreadsheets, Slack channels, and more.

PreviousExport DataNextDownload a JSON of your project ontology

Last updated 6 months ago

Using the workflows described in this page involves sending annotation data to a third party tool.

allows you to receive webhook contents from Ango Hub and send them to a service of your choice. The contents of Ango Hub webhooks can be sent immediately, in real time, or they can be batched up so that you receive 10, 20, 100, or more at a time.

For example, some of the things you can do with Zapier and Ango Hub Webhooks are, (and are not limited to):

  • Receive an email every time 1/20/100/any number of assets are sent to the "Complete" stage

  • Receive a Slack message whenever a task needs Super QA attention

  • Add a new row to a Google Sheets spreadsheet or Notion page every time an annotation is completed, with the raw contents of the annotation

And much more, only limited by what Zapier offers. In this page I will outline a sample Zapier workflow which may be of use.

Prerequisite: Set Up Webhook in Ango Hub and Zapier

Please do this step before moving on to the rest of the page.

  1. Sign up to Zapier at .

  2. Once logged into Zapier, from the "Zaps" list, click on "+ Create" and then "New Zap":

  3. Click on the "Trigger" block:

  4. Click on "Webhooks by Zapier" (Note: this requires a Pro account.)

  5. A form will appear. In the form, from the "Event" dropdown, pick "Catch Raw Hook", then click on "Continue" at the bottom of the page:

  6. A URL will appear. (highlighted in image). Copy this URL as we will use it later.

  7. On Ango Hub, navigate to the project where the data will be generated, and navigate to its Workflow page. Click on the Webhook stage which will generate the webhooks to be received by Zapier. In the "URL" field that appears, paste the URL we have just copied. Enter any text you want in the "Secret" field.

  8. Click on "Save" to save your workflow.

  9. On Ango Hub, pick a sample task, and fire your webhook. For example, if on Ango Hub you connected your webhook stage to the "Accepted" output of a Review stage called "Internal QA", open a task which is in the "Internal QA" stage, and click on "Accept". This will fire the webhook. If, for example, you connected the webhook stage to the output of a Label stage, annotate a task in that label stage and press on Submit.

  10. Go back to Zapier and click on "Test Trigger":

  11. A table should appear, and in the table, you should see a number of requests, usually two. Click on the requests to see them, and ultimately click on the one which has the "Raw Body" property. Then, click on "Continue with selected record".

This completes the webhook setup. If, in the last step, you do not see any request, please repeat the steps and ensure you have pasted the correct URL to the Webhook stage, and ensure you have correctly performed the actions on Ango Hub in step 9 to trigger your webhook.

Now, we will pick what we want to do with the contents of the webhook.

Sample workflow: adding annotations in real time to a Google Sheets spreadsheet

While many options are available, in this sample workflow, I will add the contents of the webhook to a Google Sheets spreadsheet.

First, ensure you have a Google Sheets spreadsheet. You must have editor access to the spreadsheet. The spreadsheet must also contain at least one header. In this case, for example, I have a simple spreadsheet with only one header called "content":

If you have followed the previous steps, on Zapier, you should have a Zap with a completed Trigger and an empty Action, like so:

Click on the Action to open the Action picker. (if you have followed the previous steps, this dialog should already have been opened for you.)

From the dialog, search for and pick the Google Sheets option:

A form will appear. In the "App & event" tab of the form, from the "Event" dropdown, pick "Create Spreadsheet Row":

Click on "Continue" at the bottom. You will be sent to the "Account" tab of the form.

If you have not connected your Zapier and Google accounts before, click on "Connect" (or similar word) to connect the two accounts. Then, click on Continue again to navigate to the "Action" tab of the form.

Pick the Google Drive containing the spreadsheet, the spreadsheet itself, and the worksheet from the dropdowns.

New dropdowns will appear, one for each header in your spreadsheet. In my case I only had one header, called "content". From the dropdown under your header, pick "Raw Body":

Click on "Continue", you will be sent to the "Test" tab of the form. Click on "Test step".

Navigate back to your spreadsheet. You should see a new row, with the label contents you had created previously on Ango Hub.

If it looks correct, navigate back to Zapier and click on "Publish".

You are now done. Every time a webhook is sent from that Webhook stage on Ango Hub, you will receive its contents here.

More: Getting notified by email every time a number of webhooks has been sent

We can set Zapier up such that not only the contents of the webhooks are sent to Google Sheets – you can also be notified by email whenever any number of webhooks have been sent.

For example, you can receive an email whenever 10, 100, or 1200 tasks have passed review, or have entered a specific "Hold" stage (or anything else).

To do so, we will need to add a new step to our Zap by clicking on the + button:

Pick the "Formatter by Zapier" option:

From the dropdown that appears, pick "Numbers":

Fill up the "Action" tab of the form like so, replacing "10" with the number you'd like. In this case, for example, I will be notified whenever 10 assets are annotated (e.g. batch size will be 10):

Click on "Continue" at the bottom and then on "Test Step".

Add a new step to the Zap, and from the picker, pick "Filter by Zapier". Fill its form like the following and click on "Test step", then "Continue":

Lastly, add a new step to the Zap for the messaging service you'd like to use. For example, you may pick Gmail and select the "Send Email" event to send an email whenever a number of webhooks have been sent. Then in the email, if you so wish, you can include a link to the original spreadsheet.

Zapier
https://zapier.com
Note the position of the Webhook stage. As, in this case, it is connected to the "Accepted" output of the "Review" stage, this means that a webhook will be fired every time a task is accepted in that review stage.