← Knack

Get Record(s) with Knack API

Pipedream makes it easy to connect APIs for Knack and 900+ other apps remarkably fast.

Trigger workflow on
HTTP requests, schedules and app events
Next, do this
Get Record(s) with the Knack 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

Create a workflow to Get Record(s) with the Knack API. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Configure the Get Record(s) action
    1. Connect your Knack account
    2. Configure Object Key
    3. Optional- Configure Record ID
    4. Optional- Configure Sort Field
    5. Optional- Select a Sort Order
    6. Optional- Configure Filters
    7. Optional- Select a Filter Type
  2. Select a trigger to run your workflow on HTTP requests, schedules or app events
  3. Deploy the workflow
  4. Send a test event to validate your setup
  5. Turn on the trigger

Integrations

Get Record(s) with Knack API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + Knack
 
Try it
Get Record(s) with Knack API on New Message from Discord API
Discord + Knack
 
Try it
Get Record(s) with Knack API on New Message In Channels from Slack API
Slack + Knack
 
Try it
Get Record(s) with Knack API on New Message in Channel from Discord Bot API
Discord Bot + Knack
 
Try it
Get Record(s) with Knack API on New Submission from Typeform API
Typeform + Knack
 
Try it

Details

This is a pre-built, open source component from Pipedream's GitHub repo. The component is 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.

Get Record(s) on Knack
Description:Get one or more Records for a Knack object [(See docs here)](https://docs.knack.com/docs/retrieving-records)
Version:0.0.1
Key:knack-get-record

Code

import base from "../common/base.mjs";
import { optionalRecordId as recordId } from "../common/props.mjs";

export default {
  ...base,
  key: "knack-get-record",
  name: "Get Record(s)",
  description:
    "Get one or more Records for a Knack object [(See docs here)](https://docs.knack.com/docs/retrieving-records)",
  version: "0.0.1",
  type: "action",
  props: {
    ...base.props,
    recordId,
    sortField: {
      type: "string",
      label: "Sort Field",
      optional: true,
      description: `The field key to sort the records by. Use in conjunction with \`Sort Order\`.
        \\
        Example value: \`field_1\`
        \\
        See [the Knack API docs](https://docs.knack.com/docs/sorting) for more information.`,
    },
    sortOrder: {
      type: "string",
      label: "Sort Order",
      optional: true,
      options: [
        {
          label: "Ascending",
          value: "asc",
        },
        {
          label: "Descending",
          value: "desc",
        },
      ],
      description: "The order to sort the records by, based on `Sort Field`.",
    },
    filters: {
      type: "string[]",
      label: "Filters",
      description: `One or more filters the returned records should match. Each filter should be a string representing a JSON object.
        \\
        Example value: \`{ "field": "field_1", "operator": "contains", "value": "my name" }\`
        \\
        See [the Knack API docs](https://docs.knack.com/docs/constructing-filters) for more information.`,
      optional: true,
    },
    filterType: {
      type: "string",
      label: "Filter Type",
      optional: true,
      options: [
        {
          label: "Match any filter",
          value: "or",
        },
        {
          label: "Match all filters",
          value: "and",
        },
      ],
      description: "If using multiple `Filters`, sets whether the returned records should match **any** or **all** filters specified.",
    },
  },
  methods: {
    ...base.methods,
    getBaseParams() {
      return {
        objectKey: this.objectKey,
        recordId: this.recordId,
      };
    },
    getQueryParams() {
      return {
        sortField: this.sortField,
        sortOrder: this.sortOrder,
        filters: this.filters,
        filterType: this.filterType,
      };
    },
  },
  async run({ $ }) {
    const response = await this.knack.getRecord(
      $,
      this.getBaseParams(),
      this.getQueryParams(),
    );

    $.export(
      "$summary",
      `Obtained ${
        response instanceof Array
          ? `${response.length} records`
          : "record"
      } successfully`,
    );

    return response;
  },
};

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
KnackknackappThis component uses the Knack app.
Object KeyobjectKeystring

The key of the object which this record belongs to.

See the Knack API docs for more information.

Record IDrecordIdstring

The ID of the record to retrieve.

If not specified, all records for the specified object will be retrieved.

See the Knack API docs for more information.

Sort FieldsortFieldstring

The field key to sort the records by. Use in conjunction with Sort Order.

Example value: field_1

See the Knack API docs for more information.

Sort OrdersortOrderstringSelect a value from the drop down menu:{ "label": "Ascending", "value": "asc" }{ "label": "Descending", "value": "desc" }
Filtersfiltersstring[]

One or more filters the returned records should match. Each filter should be a string representing a JSON object.

Example value: { "field": "field_1", "operator": "contains", "value": "my name" }

See the Knack API docs for more information.

Filter TypefilterTypestringSelect a value from the drop down menu:{ "label": "Match any filter", "value": "or" }{ "label": "Match all filters", "value": "and" }

Authentication

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

Object-based requests require at least two headers: an application ID - to identify to our servers the app whose records you are requesting - and an API key (which is specific to each app) to authenticate the request. See docs.

About Knack

Business app platform

More Ways to Use Knack

Triggers

New Record from the Knack API

Emit new event for each record created

 
Try it

Actions

Create Record with the Knack API

Create a Record for a Knack object (See docs here)

 
Try it
Delete Record with the Knack API

Delete a Record for a Knack object (See docs here)

 
Try it
Update Record with the Knack API

Update a Record for a Knack object (See docs here)

 
Try it