← Zoom + Cliniko integrations

Get Patient with Cliniko API on Meeting Ended (Instant) from Zoom API

Pipedream makes it easy to connect APIs for Cliniko, Zoom and 1000+ other apps remarkably fast.

Trigger workflow on
Meeting Ended (Instant) from the Zoom API
Next, do this
Get Patient with the Cliniko API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜
Trusted by 250,000+ developers from startups to Fortune 500 companies:
Trusted by 250,000+ developers from startups to Fortune 500 companies

Developers Pipedream

Getting Started

This integration creates a workflow with a Zoom trigger and Cliniko action. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Select this integration
  2. Configure the Meeting Ended (Instant) trigger
    1. Connect your Zoom account
    2. Configure zoomApphook
  3. Configure the Get Patient action
    1. Connect your Cliniko account
    2. Configure Patient ID
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, open source components from Pipedream's GitHub repo. These components are developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Trigger

Description:Emit new event each time a meeting ends where you're the host
Version:0.0.4
Key:zoom-meeting-ended

Trigger Code

import common from "../common/common.mjs";

export default {
  ...common,
  key: "zoom-meeting-ended",
  name: "Meeting Ended (Instant)",
  description: "Emit new event each time a meeting ends where you're the host",
  version: "0.0.4",
  type: "source",
  dedupe: "unique", // Dedupe based on meeting ID
  props: {
    ...common.props,
    zoomApphook: {
      type: "$.interface.apphook",
      appProp: "zoom",
      eventNames: [
        "meeting.ended",
      ],
    },
  },
  hooks: {
    async deploy() {
      const { meetings } = await this.zoom.listMeetings({
        page_size: 25,
        type: "previous_meetings",
      });
      if (!meetings || meetings.length === 0) {
        return;
      }
      const detailedMeetings = [];
      for (const meeting of meetings) {
        try {
          const details = await this.zoom.getPastMeetingDetails(meeting.id);
          detailedMeetings.push(details);
        } catch {
          // catch error thrown by getPastMeetingDetails if meeting has not ended
          continue;
        }
      }
      const objects = this.sortByDate(detailedMeetings, "end_time");
      for (const object of objects) {
        this.emitEvent({
          object,
        }, object);
      }
    },
  },
  methods: {
    ...common.methods,
    emitEvent(payload, object) {
      const meta = this.generateMeta(object);
      this.$emit({
        event: "meeting.ended",
        payload,
      }, meta);
    },
    generateMeta(object) {
      return {
        id: object.uuid,
        summary: `Meeting ${object.topic} ended`,
        ts: +new Date(object.end_time),
      };
    },
  },
};

Trigger Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
ZoomzoomappThis component uses the Zoom app.
zoomApphook$.interface.apphook

Trigger Authentication

Zoom uses OAuth authentication. When you connect your Zoom account, Pipedream will open a popup window where you can sign into Zoom and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Zoom API.

Pipedream requests the following authorization scopes when you connect your account:

About Zoom

Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars.

Action

Description:Get the details of a patient by patient ID.
Version:0.0.1
Key:cliniko-get-patient

Cliniko Overview

The Cliniko API allows developers to access content and features from the
Cliniko platform. Using the API, developers can build applications that can do
the following:

  • View and search for patient records
  • View and search for appointments
  • Manage patient files
  • Send SMS and email messages
  • Generate clinical reports
  • And more!

Action Code

const cliniko = require("../../cliniko.app.js");

module.exports = {
  name: "Get Patient",
  key: "cliniko-get-patient",
  description: "Get the details of a patient by patient ID.",
  version: "0.0.1",
  type: "action",
  props: {
    cliniko,
    patientId: {
      propDefinition: [
        cliniko,
        "patientId",
      ],
    },
  },
  async run() {
    return await this.cliniko.getPatient(this.patientId);
  },
};

Action Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI.

LabelPropTypeDescription
ClinikoclinikoappThis component uses the Cliniko app.
Patient IDpatientIdinteger

Enter a unique patient ID.

Action Authentication

Cliniko uses API keys for authentication. When you connect your Cliniko account, Pipedream securely stores the keys so you can easily authenticate to Cliniko APIs in both code and no-code steps.

Each Cliniko user will have their own API Key(s) - these are used for authentication. The API Key will have the same permissions as the user it belongs to. See docs.

shard is the Cliniko shard the account resides in. API keys have the shard appended to the end, e.g. MS0xLWl4SzYYYYdtR3V2HNOTAREALKEYwvNHdeW0pd-au2 is in the shard au2

About Cliniko

Health Practice Management Software

More Ways to Connect Cliniko + Zoom

Get Patient with Cliniko API on Meeting Started from Zoom API
Zoom + Cliniko
 
Try it
Get Patient with Cliniko API on Webinar Ended from Zoom API
Zoom + Cliniko
 
Try it
Get Patient with Cliniko API on Webinar Started from Zoom API
Zoom + Cliniko
 
Try it
Get Patient with Cliniko API on Recording Completed from Zoom API
Zoom + Cliniko
 
Try it
Get Patient with Cliniko API on Meeting Created from Zoom API
Zoom + Cliniko
 
Try it
Custom Events from the Zoom API

Listen for any events tied to your Zoom user or resources you own

 
Try it
Meeting Created (Instant) from the Zoom API

Emit new event each time a meeting is created where you're the host

 
Try it
Meeting Started (Instant) from the Zoom API

Emit new event each time a meeting starts where you're the host

 
Try it
Recording Completed (Instant) from the Zoom API

Emit new event each time a new recording completes for a meeting or webinar where you're the host

 
Try it
Meeting Ended (Instant) from the Zoom API

Emit new event each time a meeting ends where you're the host

 
Try it
Add Meeting Registrant with the Zoom API

Registers a participant for a meeting.

 
Try it
Add Webinar Registrant with the Zoom API

Registers a participant for a webinar.

 
Try it
Create Meeting with the Zoom API

Creates a meeting for a user. A maximum of 100 meetings can be created for a user in a day.

 
Try it
Create User with the Zoom API

Creates a new user in your account.

 
Try it
Delete User with the Zoom API

Disassociates (unlinks) a user from the associated account or permanently deletes a user.

 
Try it