` on each connection it hands out, based on the tenant
bound to the current context. The practical guarantee is the same one a separate database would give
for query isolation - a query for "workflows" in tenant A cannot return tenant B's rows, because they
are not in the same table - without the connection-pool multiplication that per-tenant pools imply.
Consequences worth planning for:
* **Migrations run per tenant.** Liquibase is applied once per tenant schema at startup, so the
migration window grows with the number of tenants.
* **The scheduler is tenant-aware, not tenant-partitioned.** There is one shared Quartz job store.
Schedule and polling trigger keys are built from a `WorkflowExecutionId` that carries the tenant id,
and connection-refresh keys are prefixed with it, so those are addressable and cancellable per
tenant - but they are not stored separately. The prefixing is not universal: one-time tasks (the
delayed wake-ups behind a suspended run) are keyed on the bare job id, with no tenant component.
* **Internal service calls carry the tenant.** Where one ByteChef process calls another over
`/remote/**`, the tenant id travels in a `CURRENT_TENANT_ID` header alongside the internal service
token, and the receiver validates both.
* **No cross-tenant queries.** The model assumes you never join across tenants; cross-tenant
analytics belong in a warehouse fed by per-tenant exports.
* **The tenant id reaches the logs.** `TenantContext` puts `tenantId` into the SLF4J MDC, so it is
available for filtering in every log line.
Encryption is *not* per tenant: the platform holds one instance-wide encryption key (see
[Encryption of stored credentials](/platform/use-bytechef/self-hosted/configuration#encryption-of-stored-credentials)).
Tenant isolation is enforced by the schema boundary and the request-scoped tenant context, not by
separate key material.
## Deployment shapes [#deployment-shapes]
The same binary set runs in two shapes, and what stays identical across them is the point: the
database schema, the component model, the workflow definition, and the observability pipeline. A
component definition and a workflow JSON behave the same either way.
| Shape | What it is | Where to read more |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| **The server** | One `server-app` process containing the coordinator, the workers, every domain service, and the HTTP API. Run one, or several against the same database behind a shared broker. | [Installation](/platform/use-bytechef/self-hosted/installation/local-docker) |
| **Single-shot** | `runtime-job-app`: boots, runs exactly one workflow, exits. No database, no broker, no triggers. Enterprise Edition. | [Runtime job runner](/platform/use-bytechef/self-hosted/runtime-job) |
## Notifications and alerts [#notifications-and-alerts]
The engine itself is notification-agnostic - nothing under `server/libs/atlas/` sends email or
webhooks. Instead, every job status transition publishes a `JobStatusApplicationEvent`, and the
coordinator's listener fan-out (in `platform-coordinator`) turns those events into deliveries.
`platform-notification` is the central registry for notification channels (`EMAIL`, `WEBHOOK`,
`SLACK`); other features reference `Notification` rows as delivery targets instead of defining
their own channel entities.
Alert rules (Enterprise) are workspace-scoped rows that own the **when** - consecutive failures,
failure rate, error count, latency threshold/spike, cost threshold, usage threshold, no activity -
while the notification registry owns the **where and how**. Rule evaluation state lives on the
rule row and is updated per terminal job event; time-based rules (no-activity, usage-threshold)
fire from scheduled monitors.
## Related reading [#related-reading]
* [Build a component](/developer-guide/build-component/initial-setup) - the hands-on authoring guide
* [Component specification](/developer-guide/component-specification/component) - every DSL method, one by one
* [Working with triggers](/developer-guide/working-with-triggers) - trigger authoring specifics
* [AI Agent](/platform/automation/build/workflows/ai/agent) - the cluster-root component in depth, including cluster-element slots
* [Cloud](/platform/use-bytechef/cloud) - run this architecture without managing any of it yourself
* [Self-hosting configuration](/platform/use-bytechef/self-hosted/configuration/environment-variables) - broker/worker/scheduler properties
# ByteChef Developer Guide: Get Started
URL: /developer-guide
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/index.mdx
Build ByteChef components by hand or generate them from an OpenAPI specification, and understand how the platform executes what you author.
## Introduction [#introduction]
The Developer Guide is for engineers who want to extend ByteChef with new **components** (connectors) or understand how the platform runs the workflows they power. Everything here builds on the same Java Component SDK (`sdks/backend/java`) that ships the 260+ built-in components listed in the [component reference](/reference/components); most of them live under `server/libs/modules/components/`.
## Ways to build a component [#ways-to-build-a-component]
There are two supported paths, and they are complementary:
* **[Build a component by hand](/developer-guide/build-component/initial-setup)** - start from the `example` component template and write the definition, actions, triggers, connection, and tests yourself. Best for components with custom logic, non-REST protocols, or bespoke behavior.
* **[Generate a component from OpenAPI](/developer-guide/generate-component)** - point the CLI at an OpenAPI specification and let it scaffold the actions, properties, and connection for you, then customize the generated code. Best for REST APIs that already ship an OpenAPI spec.
Both paths produce the same artifact: a component module that the platform discovers and surfaces in the workflow editor's component panel.
## Reference [#reference]
* **[Component specification](/developer-guide/component-specification/component)** - every DSL method for the [component](/developer-guide/component-specification/component), [action](/developer-guide/component-specification/action), [trigger](/developer-guide/component-specification/trigger), [connection](/developer-guide/component-specification/connection), and [property](/developer-guide/component-specification/property) builders, method by method.
* **[Working with triggers](/developer-guide/working-with-triggers)** - configuring ngrok and the local webhook URL so provider callbacks reach your machine while developing webhook triggers.
## Understand the internals [#understand-the-internals]
* **[Architecture deep dive](/developer-guide/architecture)** - how the Atlas engine, message broker, trigger machinery, and Component SDK fit together, and what happens between hitting **Run** and a task's `perform` function executing.
# ByteChef Developer Guide: Working with Triggers
URL: /developer-guide/working-with-triggers
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/working-with-triggers.mdx
Working with Triggers as a developer
## Download and Set Up ngrok [#download-and-set-up-ngrok]
1. Download ngrok
* Visit [ngrok's download page](https://ngrok.com/download) and download the appropriate version for your operating system
2. Start ngrok
* Open a terminal and run the following command to start ngrok:
```bash
ngrok http http://127.0.0.1:9555
```
* Copy the first address listed under "Forwarding". This will be used as your webhook URL.
## Configure the webhook URL [#configure-the-webhook-url]
Where the ngrok URL goes depends on how you run the server.
1. Open Bytechef Codebase:
* Navigate to bytechef/server/apps/server-app/src/main/resources/config.
2. Create Local Configuration:
* Create a file named `application-local.yml`.
* Note: `application-local.yml` is optional, git-ignored, and corresponds to the `local` Spring profile. Ensure the `local` profile is activated on Spring Boot startup.
3. Configure Webhook URL:
* Add the following configuration to `application-local.yml`, replacing `(first address under Forwarding)` with the copied ngrok URL:
```
bytechef:
webhook-url: (first address under Forwarding)/webhooks/{id}
```
4. Activate Local Profile:
* Ensure that the `local` profile is added to active profiles in your IntelliJ configuration.
5. Start the ByteChef application.
1. Navigate to the `BYTECHEF_HOME/server` directory create a file named `local.env`
2. Add the following configuration, replacing (first address under Forwarding) with the ngrok URL you copied:
```
BYTECHEF_WEBHOOK_URL=(first address under Forwarding)/webhooks/{id}
```
3. Start the ByteChef application.
**Note:** Docker has to be restarted in order to update any changes made to `BYTECHEF_HOME/server/local.env` file.
# openapi: API Reference
URL: /openapi
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/openapi/index.mdx
Public REST APIs you can call from your application - generated from ByteChef's OpenAPI specifications.
**Automation**
The workspace-level API - workflow executions, deploying a code-based project, and pulling one from
git. Not yet documented here.
**Embedded**
The public REST API your application calls to manage and run integrations on behalf of your end users.
Each embedded resource is reachable two ways, and the reference documents them separately because
the credential decides which one you can use.
**Backend - API Key**
Called from your own server. The connected user is named by the `{externalUserId}` path segment.
* **[Actions](/openapi/backend/embedded-action)** - execute a component action for a connected user.
* **[Tools](/openapi/backend/embedded-tool)** - list a connected user's available tools, and execute one.
* **[Integrations](/openapi/backend/embedded-configuration-integration)** - the integrations available to your customers.
* **[Integration Instances](/openapi/backend/embedded-configuration-integration-instance)** - a connected user's instance of an integration.
* **[Instance Workflows](/openapi/backend/embedded-configuration-integration-instance-workflow)** - enable, disable and configure an instance's workflows.
* **[Connections](/openapi/backend/embedded-configuration-connection)** - list a connected user's connections.
* **[Connected Users](/openapi/backend/embedded-configuration-connected-user)** - update a connected user.
* **[User Workflows](/openapi/backend/embedded-configuration-connected-user-project-workflow)** - a connected user's own workflows, including generation from a prompt.
* **[Workflow Catalog](/openapi/backend/embedded-configuration-automation-workflow-project)** - the catalog projects available to connected users.
* **Workflow Executions** - fetch a tenant's workflow executions. Served by the internal API rather than a public spec, so it has no reference page; read executions in the ByteChef admin UI.
* **Tool Invocations** - fetch a connected user's tool and action invocation history. No public spec yet, so it has no reference page.
**Frontend - Signing Key JWT**
Called from the browser with a short-lived token your backend signs. The connected user comes from the token's `sub` claim, so these paths carry no user id.
* **[Integrations](/openapi/frontend/embedded-configuration-integration)** - the integrations available to the signed-in user.
* **[Integration Instances](/openapi/frontend/embedded-configuration-integration-instance)** - their instance of an integration.
* **[Instance Workflows](/openapi/frontend/embedded-configuration-integration-instance-workflow)** - enable, disable and configure that instance's workflows.
* **[Connections](/openapi/frontend/embedded-configuration-connection)** - list their connections.
* **[Connected Users](/openapi/frontend/embedded-configuration-connected-user)** - update the signed-in user.
* **[User Workflows](/openapi/frontend/embedded-configuration-connected-user-project-workflow)** - their own workflows, including generation from a prompt.
* **[Workflow Catalog](/openapi/frontend/embedded-configuration-automation-workflow-project)** - the catalog projects available to them.
* **[App Events](/openapi/frontend/embedded-webhook-app-event-trigger)** - fire an App Event to start every subscribed workflow.
* **[Request Trigger](/openapi/frontend/embedded-webhook-request-trigger)** - execute a single workflow synchronously and return its result.
**Platform**
Deploying a custom component to the platform. Not yet documented here.
***
## Base URL [#base-url]
Every operation path you see on a reference page is relative to `/api/embedded/v1`. Prefix it with
that, then with your ByteChef host - e.g. `https://your-bytechef-host.example.com/api/embedded/v1`.
***
## Authentication [#authentication]
Every request carries a bearer token in the `Authorization` header, and there are two kinds.
An **API Key** authenticates *you*. It is the general ByteChef credential - the Automation and
Platform APIs take one too - and on the embedded API it acts for whichever connected user the
`{externalUserId}` path segment names.
A **Signing Key JWT** is specific to the embedded API. It authenticates *one of your end users*
directly from the browser: your backend signs a short-lived token whose `sub` claim is that user, so
the operations it reaches carry no user id in their path.
That is what the two sections of this reference correspond to:
| | **Backend** | **Frontend** |
| ---------------------- | ----------------------------------- | ----------------------------------------------- |
| Credential | An **API Key** | A short-lived JWT signed with a **Signing Key** |
| Identifies the user by | the `{externalUserId}` path segment | the token's `sub` claim |
| Called from | your own server | the browser |
It also explains why the paths differ. An API Key says nothing about which of your end users a call
is for, so those operations carry the id in the path. A JWT already names the user, so its operations
do not - which in turn means an API Key cannot be used against them: there would be no user to act
for, and the request is rejected.
**Actions** and **Tools** are the exception that proves the rule. Their paths carry
`{externalUserId}`, so either credential resolves a user and both are accepted; they are listed under
Backend because that is how they are normally called.
Mint frontend tokens as described in [Installing the SDK](/platform/embedded/get-started/initial-setup/installing-the-sdk#2-generate-a-user-token-in-your-backend)
* the private key never reaches the browser, and the token is short-lived. See
[Signing Keys](/platform/embedded/administration/signing-keys) and
[Embedded API Keys](/platform/embedded/administration/api-keys) for issuing each credential.
Pass an optional `X-Environment` header (`DEVELOPMENT`, `STAGING`, or `PRODUCTION`) to scope the
request to a specific environment. If omitted, ByteChef uses `PRODUCTION`.
# ByteChef Reference: Expressions
URL: /reference/expressions
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/expressions.md
Expressions in ByteChef provide a powerful way to dynamically access, transform, and manipulate data within your workflows. They allow you to reference data from previous steps, perform calculations, implement conditional logic, and create dynamic configurations for your automation processes.
# Expression Cheat Sheet [#expression-cheat-sheet]
### Expressions and types [#expressions-and-types]
Formula and text expressions used in ByteChef are primarily written using SpEL (Spring Expression language) with some constraints - simple, yet powerful expression language.
SpEL is based on Java ([reference documentation](https://docs.spring.io/spring-framework/reference/core/expressions.html)), but no prior Java knowledge is needed to use it.
The easiest way to learn SpEL is looking at examples which are further down this page. Some attention should be paid to data types, described in more detail in the next section.
## Data types and structures [#data-types-and-structures]
The data types used in the execution engine, SpEL expressions and data structures are Java based. These are also the data type names that appear in code completion hints. In most cases ByteChef can automatically convert between Java data types and JSON formats.
Below is the list of the most common data types. In Java types column package names are omitted for brevity, they are usually:
* Primitive types and basic objects: [`java.lang`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/package-summary.html)
* Collections: [`java.util`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/package-summary.html)
* Date/Time: [`java.time`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/package-summary.html)
### Basic (primitive data types) [#basic-primitive-data-types]
| Java type | ByteChef Type | Description |
| ------------------------------------------------------------------------------------------------------------ | ------------- | ---------------------------------------------------------------------------- |
| `null` | `nullable` | Represents the absence of a value |
| [`String`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html) | `string` | UTF-8 encoded text |
| [`Boolean`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Boolean.html) | `bool` | Represents `true` or `false` values |
| [`Integer`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html) | `integer` | 32-bit signed integer |
| [`Long`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Long.html) | `integer` | 64-bit signed integer |
| [`Float`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Float.html) | `number` | 32-bit floating point number |
| [`Double`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Double.html) | `number` | 64-bit floating point number |
| [`LocalTime`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalTime.html) | `time` | Time without timezone (HH:MM:SS) |
| [`LocalDate`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDate.html) | `date` | Date without timezone (YYYY-MM-DD) |
| [`LocalDateTime`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/LocalDateTime.html) | `date-time` | Date and time without timezone |
| [`UUID`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/UUID.html) | `string` | Universally Unique Identifier (e.g., `123e4567-e89b-12d3-a456-426614174000`) |
### Objects/Maps [#objectsmaps]
In ByteChef, objects are implemented as `Map`s, which store key-value pairs. The keys are strings, and values can be of any type. This is similar to JSON objects.
Example:
```java
{
"name": "John",
"age": 30,
"active": true
}
```
### Arrays/Lists [#arrayslists]
In ByteChef, arrays are implemented using `List`s, which are ordered collections that can contain duplicate elements. The `Collection` interface is the root interface for all collection types in Java, including `List`, `Set`, and `Queue`.
Example:
```java
[1, 2, 3, 4, 5]
["apple", "banana", "cherry"]
```
### Date/Time [#datetime]
See [Handling data/time](#handling-data-time) for detailed description of how to deal with date and time in ByteChef.
## Expression syntax [#expression-syntax]
### Formula expressions [#formula-expressions]
In ByteChef `formula` expression starts with `=` and `${}` is used to access values.
For example:
```
=${httpClient_1.body.amount} + 1
```
will access value defined in `${httpClient_1.body.amount}` nested structure and increase it for `1`.
### Text expressions [#text-expressions]
Also, it is allowed to write a `text` expression like
```
${httpClient_1.body.amount} is total amount
```
where value defined in `${httpClient_1.body.amount}` nested structure will be merged with `' is total amount'` literal part.
The same expression can be written as a formula expression:
```
=${httpClient_1.body.amount} + ' is total amount'
```
## Basics [#basics]
Most of the literals are similar to JSON ones, in fact in many cases JSON structure is valid SpEL. There are a few notable exceptions:
* Lists are written using curly braces: `{"firstElement", "secondElement"}`, as `[]` is used to access elements in array
* Strings can be quoted with either `'` or `"`
* Field names in maps do not need to be quoted (e.g., `{name: "John"}` is valid SpEL, but not valid JSON)
| Expression | Result | Type |
| ---------------------- | --------------------------------- | --------------------------------------------- |
| `'Hello World'` | `"Hello World"` | `String` |
| `true` | `true` | `Boolean` |
| `null` | `null` | `Null` |
| `{}` | an empty list | `List[Unknown]` |
| `{1,2,3,4}` | a list of integers from 1 to 4 | `List[Integer]` |
| `{:}` | an empty object | `Map{}` |
| `{john:300, alex:400}` | an object (name-value collection) | `Map{alex: Integer(400), john: Integer(300)}` |
| `'AA' + 'BB'` | `"AABB"` | `String` |
## Arithmetic Operators [#arithmetic-operators]
The `+`, `-`, `*` arithmetic operators work as expected.
| Operator | Equivalent symbolic operator | Example expression | Result |
| -------- | ---------------------------- | ------------------ | ------ |
| `div` | `/` | `7 div 2` | `3` |
| `div` | `/` | `7.0 div 2` | `3.5` |
| `mod` | `%` | `23 mod 7` | `2` |
## Conditional Operators [#conditional-operators]
| Expression | Result | Type |
| -------------------------------------------- | ----------- | --------- |
| `2 == 2` | `true` | `Boolean` |
| `2 > 1` | `true` | `Boolean` |
| `true AND false` | `false` | `Boolean` |
| `true && false` | `false` | `Boolean` |
| `true OR false` | `true` | `Boolean` |
| `true \|\| false` | `true` | `Boolean` |
| `2 > 1 ? 'a' : 'b'` | `"a"` | `String` |
| `2 < 1 ? 'a' : 'b'` | `"b"` | `String` |
| `nonNullVar == null ? 'Unknown' : 'Success'` | `"Success"` | `String` |
| `nullVar == null ? 'Unknown' : 'Success'` | `"Unknown"` | `String` |
| `nullVar?:'Unknown'` | `"Unknown"` | `String` |
| `'john'?:'Unknown'` | `"john"` | `String` |
## Relational Operators [#relational-operators]
| Operator | Equivalent symbolic operator | Example expression | Result |
| -------- | ---------------------------- | ------------------ | ------- |
| `lt` | `<` | `3 lt 5` | `true` |
| `gt` | `>` | `4 gt 4` | `false` |
| `le` | `<=` | `3 le 5` | `true` |
| `ge` | `>=` | `4 ge 4` | `true` |
| `eq` | `==` | `3 eq 3` | `true` |
| `ne` | `!=` | `4 ne 2` | `true` |
| `not` | `!` | `not true` | `false` |
## String Operators [#string-operators]
| Expression | Result | Type |
| ------------- | -------- | -------- |
| `'AA' + 'BB'` | `"AABB"` | `String` |
## Method Invocations [#method-invocations]
As ByteChef uses Java types, some objects contain additional methods, but they are not allowed to be called directly on those types.
For example, this is **not** allowed:
```
'someValue'.substring(4)
```
Instead, use the built-in function:
```
substring('someValue', 4)
```
ByteChef provides built-in functions to help with various type operations.
Built-in functions are only resolved in **formula** expressions - the ones that start with `=`. A plain
`${...}` text expression accepts a value accessor and nothing else, so `substring(...)` inside `${}` is
left unresolved. Write `=substring(${step_1.text}, 4)` instead.
## Accessing Elements of a List or a Map [#accessing-elements-of-a-list-or-a-map]
| Expression | Result | Type |
| ----------------------------------------------------------------------- | --------------------------------------- | ------------------- |
| `{1,2,3,4}[0]` | `1` | `Integer` |
| `{jan:300, alex:400}[alex]` | a value of field 'alex', which is `400` | `Integer` |
| `{jan:300, alex:400}['alex']` | `400` | `Integer` |
| `{jan:{age:24}, alex:{age: 30}}['alex']['age']` | `30` | `Integer` |
| `{foo: 1L, bar: 2L, tar: 3L}.?[#this.key == "foo" OR #this.value > 2L]` | `{'tar': 3, 'foo': 1}` | `Map[String, Long]` |
Attempting to access non-present elements fails. Both cases are detected when the expression is
evaluated, not before - there is no pre-deployment expression validation that resolves map keys.
When evaluation fails, ByteChef leaves the expression unresolved and passes the raw text through
rather than aborting the step, so an unexpected literal in a step's input is the symptom to look for.
| Expression | Error |
| ----------------------------- | ------------------------- |
| `{1,2,3,4}[4]` | Index out of bounds |
| `{jan:300, alex:400}['anna']` | No property 'anna' in map |
## Filtering Lists [#filtering-lists]
Special variable `#this` is used to operate on a single element of a list.
* Filtering all elements uses the syntax: `.?[condition]`
* To get the first matching element: `.^[condition]`
* To get the last matching element: `.$[condition]`
| Expression | Result | Type |
| ---------------------------------------- | ------------------------- | --------------- |
| `{1,2,3,4}.?[#this ge 3]` | `{3, 4}` | `List[Integer]` |
| `usersList.?[#this.firstName == 'john']` | the matching user objects | `List[Map]` |
| `{1,2,3,4}.^[#this ge 3]` | `3` | `Integer` |
| `{1,2,3,4}.$[#this ge 3]` | `4` | `Integer` |
## Transforming Lists [#transforming-lists]
Special variable `#this` is used to operate on a single element of a list.
For the examples below, assume `listOfPersons` contains:
```json
[
{"name": "Alex", "age": 42},
{"name": "John", "age": 24}
]
```
| Expression | Result | Type |
| ------------------------------------------------------------- | -------------------------------------------------------------- | ---------------------- |
| `{1,2,3,4}.![#this * 2]` | `{2, 4, 6, 8}` | `List[Integer]` |
| `listOfPersons.![#this.name]` | `{'Alex', 'John'}` | `List[String]` |
| `listOfPersons.![#this.age]` | `{42, 24}` | `List[Integer]` |
| `listOfPersons.![7]` | `{7, 7}` | `List[Integer]` |
| `listOfPersons.![{key: #this.name, value: #this.age}]` | `[{"key": "Alex", "value": 42}, {"key": "John", "value": 24}]` | `List[Record]` |
| `toMap(listOfPersons.![{key: #this.name, value: #this.age}])` | `{Alex: 42, John: 24}` | `Map[String, Integer]` |
Note: `toMap()` function can be applied to lists of maps where each map contains `key` and `value` properties. For other list operations, see the List Functions section.
## Safe Navigation [#safe-navigation]
When accessing nested structures, handle null fields to avoid errors. SpEL's safe navigation operator (`?.`) is a shorthand for the conditional operator: `someVar?.b` is equivalent to `someVar != null ? someVar.b : null`.
| Expression | `var` value | Result | Type |
| ---------- | ----------- | -------------------------------- | -------------------------------- |
| `var.foo` | `{foo: 5}` | `5` | `Integer` |
| `var.foo` | `null` | `java.lang.NullPointerException` | `java.lang.NullPointerException` |
| `var?.foo` | `{foo: 5}` | `5` | `Integer` |
| `var?.foo` | `null` | `null` | `Null` |
## Invoking Static Methods [#invoking-static-methods]
ByteChef does not allow calling static Java methods directly.
For example, this is **not** allowed:
```
T(java.lang.Math).PI
```
Instead, use the equivalent built-in functions provided by ByteChef.
## Chaining with Dot Operator [#chaining-with-dot-operator]
| Expression | Result | Type |
| ------------------------------------------------------------ | ----------- | --------------- |
| `{1, 2, 3, 4}.?[#this > 1].![#this > 2 ? #this * 2 : #this]` | `{2, 6, 8}` | `List[Integer]` |
## Type Conversions [#type-conversions]
Type conversion in ByteChef can be done either implicitly or explicitly.
### Explicit Conversions [#explicit-conversions]
Explicit conversions are available as built-in functions. See the [Type Conversion Functions](#type-conversion-functions) section for details.
### Implicit Conversions [#implicit-conversions]
SpEL provides many built-in implicit conversions that are also available in ByteChef. These include conversions between various numeric types and between `String` and other value types.
Implicit conversion occurs when an input value of one type is used in a context that expects a different type. The system will automatically attempt to convert the value to the expected type.
#### Common Implicit Conversions [#common-implicit-conversions]
| Input value | Input type | Converts to |
| ---------------------------------------- | ---------- | --------------- |
| `12.34f` | `Float` | `Double` |
| `42` | `Integer` | `Long` |
| `'Europe/Warsaw'` | `String` | `ZoneId` |
| `'+01:00'` | `String` | `ZoneOffset` |
| `'09:00'` | `String` | `LocalTime` |
| `'2020-07-01'` | `String` | `LocalDate` |
| `'2020-07-01T09:00'` | `String` | `LocalDateTime` |
| `'en_GB'` | `String` | `Locale` |
| `'ISO-8859-1'` | `String` | `Charset` |
| `'USD'` | `String` | `Currency` |
| `'bf3bb3e0-b359-4e18-95dd-1d89c7dc5135'` | `String` | `UUID` |
#### Usage Examples [#usage-examples]
| Expression | Input value | Input type | Target type |
| -------------------------------- | ----------------- | ---------- | ----------- |
| `atZone(now(), 'Europe/Warsaw')` | `'Europe/Warsaw'` | `String` | `ZoneId` |
| `'' + 42` | `'42'` | `Integer` | `String` |
## Built-in functions [#built-in-functions]
### Type Conversion Functions [#type-conversion-functions]
| Function | Description |
| -------------- | -------------------------------- |
| boolean(value) | Converts a value to a boolean. |
| byte(value) | Converts a value to a byte. |
| char(value) | Converts a value to a character. |
| float(value) | Converts a value to a float. |
| double(value) | Converts a value to a double. |
| int(value) | Converts a value to an integer. |
| long(value) | Converts a value to a long. |
| short(value) | Converts a value to a short. |
### String Functions [#string-functions]
| Function | Description |
| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| concat(str1, str2) | Concatenates two strings or two lists. |
| contains(str, substr) | Checks if a string contains a substring. |
| equalsIgnoreCase(str1, str2) | Compares two strings for equality, ignoring case differences. |
| format(formatStr, args...) | Formats a string using a format string and arguments (similar to String.format). |
| indexOf(str, substr, \[fromIndex]) | Returns the index of the first occurrence of a substring in a string, optionally starting at `fromIndex`. |
| join(separator, list) | Joins the values of a list into one string, separated by `separator`. Note the separator comes first: `=join(',', ${list})`. |
| lastIndexOf(str, substr, \[fromIndex]) | Returns the index of the last occurrence of a substring in a string. |
| length(str) | Returns the length of a string. |
| split(str, delimiter) | Splits a string by a delimiter, which is treated as a regular expression, and returns a list of strings. |
| substring(str, beginIndex, \[endIndex]) | Returns a substring starting at `beginIndex` (inclusive). Without `endIndex` it runs to the end of the string; with it, `endIndex` is exclusive. |
### Date and Time Functions [#date-and-time-functions]
| Function | Description |
| ------------------------------------- | ------------------------------------------------------------------------------------- |
| atZone(instant, zoneId) | Converts an instant to a zoned date-time with the specified time zone. |
| format(date, \[format]) | Formats a date using the specified format. If no format is provided, uses ISO format. |
| minusDays(date, days) | Subtracts the specified number of days from a date. |
| minusHours(date, hours) | Subtracts the specified number of hours from a date. |
| minusMicros(date, micros) | Subtracts the specified number of microseconds from a date. |
| minusMillis(date, millis) | Subtracts the specified number of milliseconds from a date. |
| minusMinutes(date, minutes) | Subtracts the specified number of minutes from a date. |
| minusMonths(date, months) | Subtracts the specified number of months from a date. |
| minusSeconds(date, seconds) | Subtracts the specified number of seconds from a date. |
| minusWeeks(date, weeks) | Subtracts the specified number of weeks from a date. |
| minusYears(date, years) | Subtracts the specified number of years from a date. |
| now() | Returns the current instant, in UTC. |
| parseDate(dateStr, \[format]) | Parses a string into a date. If no format is provided, uses ISO format. |
| parseDateTime(dateTimeStr, \[format]) | Parses a string into a date-time. If no format is provided, uses ISO format. |
| plusDays(date, days) | Adds the specified number of days to a date. |
| plusHours(date, hours) | Adds the specified number of hours to a date. |
| plusMicros(date, micros) | Adds the specified number of microseconds to a date. |
| plusMillis(date, millis) | Adds the specified number of milliseconds to a date. |
| plusMinutes(date, minutes) | Adds the specified number of minutes to a date. |
| plusMonths(date, months) | Adds the specified number of months to a date. |
| plusSeconds(date, seconds) | Adds the specified number of seconds to a date. |
| plusWeeks(date, weeks) | Adds the specified number of weeks to a date. |
| plusYears(date, years) | Adds the specified number of years to a date. |
| timestamp() | Returns the current time as a Unix timestamp in milliseconds. |
### List Functions [#list-functions]
| Function | Description |
| ------------------------- | ---------------------------------------------------------------------------- |
| add(list, element) | Adds an element to a list and returns a new list. |
| addAll(list1, list2) | Adds all elements from list2 to list1 and returns a new list. |
| concat(list1, list2) | Concatenates two lists. |
| contains(list, element) | Returns true if list contains the specified element. |
| flatten(list) | Flattens a list of lists into a single list. |
| range(start, end) | Creates a list of integers from start to end (inclusive). |
| remove(list, element) | Removes an element from a list and returns the modified list. |
| set(list, index, element) | Sets an element at a specific index in a list and returns the modified list. |
| size(list) | Returns the size of a list. If list is null returns -1. |
| sort(list) | Sorts a collection in natural order and returns a new list. |
### Map Functions [#map-functions]
| Function | Description |
| -------------------- | ----------------------------------------------------------------------- |
| put(map, key, value) | Adds a key-value pair to a map and returns a new map. |
| putAll(map1, map2) | Adds all key-value pairs from map2 to map1 and returns a new map. |
| remove(map, key) | Removes a key-value pair from a map and returns the modified map. |
| toMap(list) | Converts a list of maps with "key" and "value" entries to a single map. |
### Utility Functions [#utility-functions]
| Function | Description |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| config(propertyName) | Reads a server configuration property by name. It is gated by an allowlist of property-name prefixes (`bytechef.workflow.config.allowed-prefixes`) that is empty by default, so on a stock deployment every call fails and the function reads nothing. |
| uuid() | Generates a random UUID (version 4). |
# ByteChef Reference: Overview
URL: /reference
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/index.mdx
Generated documentation for every ByteChef component and flow control, plus the expression syntax.
## Overview \[toc] [#overview-toc]
The Reference section documents the building blocks a workflow is made of:
* **[Components](/reference/components)**: A page per built-in component, listing each of its actions and triggers with their properties and outputs.
* **[Flow Controls](/reference/flow-controls)**: The steps that shape how a workflow runs - branching, looping, parallelism, error handling, sub-workflows, and approvals.
* **[Expressions](/reference/expressions)**: The expression syntax used to reference data from earlier steps, plus the built-in functions available to transform it.
These pages describe what each building block accepts and returns. For task-oriented guidance, start with the [Automation guide](/platform/automation/get-started).
The component and flow-control pages are generated from the definitions in the ByteChef repository rather than written by hand, so do not edit them directly.
# platform: Glossary
URL: /platform/glossary
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/platform/glossary.mdx
Terms used in ByteChef platform.
In this document, you will find a list of terms used in ByteChef's platform. Here are the definitions:
## Projects [#projects]
Projects are containers that hold one or more workflows. Projects help organize and manage workflows, making it easier to group related automation processes together. Users can create, edit, duplicate, import, and delete projects to streamline their automation efforts.
## Workflows [#workflows]
Workflows are a series of actions and triggers that automate processes within the ByteChef platform. Workflows can be created by combining various components and configuring them to work together seamlessly. Users can also customize workflows by adding conditions, loops, and other logic to create more complex automation processes.
## Components [#components]
In ByteChef, a component is a modular building block that encapsulates specific functionalities within the platform. Each component is designed to interact with external services or perform particular tasks, making it an essential part of creating workflows.
A component is made up of actions and triggers. Most also define a connection, which holds the credentials and settings its actions and triggers need to reach the external service, and some expose cluster elements - the models, tools, and memory an AI agent step can be wired to.
Every built-in component is listed, action by action, in the [component reference](/reference/components).
## Connections [#connections]
Connections are used to connect a component to an external service or application. They provide the necessary information for the component to interact with the external service, such as authentication details, base URL, and other properties.
## Triggers [#triggers]
These are events that initiate a workflow. Triggers listen for specific occurrences, such as receiving a new email, a change in a database, or a scheduled time event, and start the workflow when these events occur.
## Actions [#actions]
These are operations that a component can perform. Actions typically involve sending data to an external service, retrieving information, or manipulating data within the workflow. For example, an action might send an email, update a database record, or fetch user details from an API.
# platform: Quick Start
URL: /platform
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/platform/index.mdx
Get Started with ByteChef
## Introduction [#introduction]
ByteChef is an open-source platform for building and running workflow automations and AI agents across the applications, APIs, and databases you already use.
## Choose how to use ByteChef [#choose-how-to-use-bytechef]
Run ByteChef on our managed, hosted deployment - no infrastructure to manage.
Deploy and operate ByteChef on your own infrastructure - Docker, Kubernetes, AWS, Azure, Google Cloud, or DigitalOcean.
## Pick your path [#pick-your-path]
Easily build and run smart workflows that connect your apps, automate routine tasks, and include AI-driven decisions-no heavy coding needed.
Bring the power of ByteChef directly into your product-embed the workflow builder, run automations behind the scenes, and let your users create workflows inside your app.
## Explore more [#explore-more]
Build a component by hand or generate one from an OpenAPI specification, and learn the DSL for actions, triggers, connections, and properties.
Every component and flow control, plus the expression syntax and its built-in functions.
## Community support [#community-support]
For help, you can use one of these channels to ask a question:
* [Discord](https://discord.gg/VKvNxHjpYx) - Discussions with the community and the team.
* [GitHub](https://github.com/bytechefhq/bytechef/issues) - For bug reports and feature requests.
* [X/Twitter](https://twitter.com/bytechefhq) - Get the product updates easily.
## Roadmap [#roadmap]
Check out our [roadmap](https://github.com/bytechefhq/bytechef/milestones) to get informed of the latest features released and the upcoming ones.
### Contributing [#contributing]
If you'd like to contribute, kindly read our [Contributing Guide](https://github.com/bytechefhq/bytechef/blob/master/CONTRIBUTING.md) to learn and understand about our development process, how to propose bug fixes and improvements, and how to build and test your changes to ByteChef.
# platform: What is ByteChef?
URL: /platform/what-is-bytechef
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/platform/what-is-bytechef.mdx
What ByteChef is, what it can do, and where to start.
ByteChef is an open-source platform for building AI agents, automating workflows, and integrating applications - SaaS tools, APIs, and databases alike. You can run it as your own automation platform, or embed it in your product so your customers build workflows inside your app.
## Core Capabilities [#core-capabilities]
**Workflow automation**
Connect your applications and services in a visual editor: handle repetitive tasks, transform data, and express business logic without writing code.
**AI in workflows**
Call chat and embedding models from a workflow step, build AI agents that pick their own tools, and ground answers in your own documents with a knowledge base.
**260+ Integrations**
Connect to applications including Slack, Salesforce, HubSpot, Google Workspace, and Microsoft Teams. The full list is in the [component reference](/reference/components).
**Cloud or self-hosted**
Run ByteChef on the [managed deployment](/platform/use-bytechef/cloud), or [host it yourself](/platform/use-bytechef/self-hosted) on Docker, Kubernetes, AWS, Azure, Google Cloud, or DigitalOcean.
## What else it gives you [#what-else-it-gives-you]
**Open source**
The source is public, so you can read it, change it, and run your own build.
**Governance for teams**
Workspaces, workspace roles and permission scopes, audit events, single sign-on, and metrics and traces over OTLP. Some of these need an Enterprise license - see the [Enterprise index](/platform/enterprise).
**An extension path**
Write your own components against the Java Component SDK, or generate one from an OpenAPI specification. See the [Developer Guide](/developer-guide).
## Use Cases [#use-cases]
**Sales & Marketing Automation**
Capture leads from multiple sources, enrich data, qualify prospects, and nurture them through your sales pipeline. Keep data in sync across your CRM and marketing tools.
**Customer Support Automation**
Route support tickets intelligently, generate responses with AI, track issues across channels, and keep customers informed automatically.
**Data Integration & Synchronization**
Keep databases, CRMs, data warehouses, and analytics platforms in sync. Eliminate manual data entry and ensure consistency across systems.
**Content & Publishing Workflows**
Automate content creation, approval workflows, distribution, and scheduling across multiple channels. Streamline your publishing pipeline.
**Finance & Operations**
Automate invoicing, expense tracking, financial reporting, and reconciliation. Reduce errors and free up your team for strategic work.
**HR & People Operations**
Automate onboarding, offboarding, leave management, and employee communications. Keep HR processes running smoothly.
## Key Features [#key-features]
* **Visual workflow builder** - Drag and drop steps onto a canvas; no code required
* **[Expressions and data mapping](/reference/expressions)** - Reference earlier steps' output and transform it with SpEL expressions and built-in functions
* **Error handling and retries** - Catch a failure with the `on-error` flow control, or set `maxRetries` on a task
* **Execution monitoring** - Run history with per-step inputs and outputs
* **Scheduling and triggers** - Time-based, polling, webhook, and listener triggers
* **Conditional logic** - Branch on data with the `condition` and `branch` flow controls
* **Loops and iterations** - Iterate with `each`, `loop`, `map`, `parallel`, and `fork-join`
* **Sub-workflows** - Call one workflow from another with `subflow`
* **Public REST APIs** - Drive deployments and read execution history programmatically; see the [API reference](/openapi)
## Get Started [#get-started]
Choose your path:
* **[Quick Start](/platform/automation/get-started/quick-start/build-first-workflow)** - Build your first workflow in minutes
* **[Automation Guide](/platform/automation/get-started)** - Learn workflow fundamentals
* **[Browse Integrations](/reference/components)** - Explore the 260+ pre-built components
* **[Developer Guide](/developer-guide)** - Create custom components and extend ByteChef
* **[Deploy](/platform/automation/deploy/workflows)** - Move from testing to production
## How It Works [#how-it-works]
1. **Create a Project** - Organize your automations into logical groups
2. **Build Workflows** - Connect components, add logic, and configure data mapping
3. **Test & Iterate** - Run workflows immediately and see results in real-time
4. **Deploy** - Activate workflows in production with monitoring and observability
5. **Monitor & Optimize** - Track execution, debug issues, and improve performance
## Community & Support [#community--support]
Ask a question or report a problem through one of these channels:
* **Discord** - [discord.gg/VKvNxHjpYx](https://discord.gg/VKvNxHjpYx), for discussion with the community and the team.
* **GitHub** - [github.com/bytechefhq/bytechef/issues](https://github.com/bytechefhq/bytechef/issues), for bug reports and feature requests.
# ByteChef Developer Guide: Action
URL: /developer-guide/component-specification/action
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/component-specification/action.mdx
## Action \[toc] [#action-toc]
The action definition is used to specify the behavior and UI of an action inside a component. Below is an explanation of each method that can be used in the action definition:
* `action(String name)` - Builds a new `ModifiableActionDefinition` with the specified backend ID. The name is the action ID used internally and in workflow JSON.
* `title(String title)` - Sets the display name of the action (shown in the UI).
* `description(String description)` - Provides a short description of the action (shown in the UI and tooltips).
* `deprecated(boolean deprecated)` - Marks the action as deprecated. Deprecated actions should not be used in new integrations.
* `perform(PerformFunction perform)` - Defines the action logic with access to the configured connection. Several overloads exist for specialized cases (`CallableResponsePerformFunction`, `WebhookResponsePerformFunction`, `StreamPerformFunction`, `WebSocketPerformFunction`), all sharing the same three-argument shape below.
Perform functions receive:
* `Parameters inputParameters` - Getter for action properties (values set by the user in the Properties tab).
* `Parameters connectionParameters` - Getter for connection properties (if the action uses a connection).
* `ActionContext actionContext` - Utilities for implementing logic:
* `encoder` - Encode/decode data.
* `file` - Work with temporary files (produces/consumes FileEntry).
* `data` - Read/write persistent action data between runs.
* `log` - Structured logging.
* `json` - JSON read/write helpers.
* `http` - HTTP client for external calls.
* `event` - Publish platform events (e.g. action progress) when needed.
* `help(String body)` / `help(String body, String learnMoreUrl)` - Adds help text (and optional *Learn more* link) displayed in the UI.
* `properties(P... properties)` - Lists the properties that the action needs to perform its task. Properties are shown in the Properties tab. See [Property](/developer-guide/component-specification/property).
### Defining the output [#defining-the-output]
There are several ways to describe what the action returns. The Output tab in the UI uses this to assist mapping in subsequent steps.
* `output()` - Fully dynamic output. No schema is declared up front; users will see the shape only after running the action (schema is inferred from the first execution result).
* `output(OutputSchema outputSchema)` - Declares a static output schema. The schema can be a primitive (string, number, boolean, fileEntry, integer) or a complex type (object, array). The Output tab will display the fields and auto-generate sample values.
* `output(SampleOutput sampleOutput)` - Provides just a sample result (useful for quick mapping without executing). The Output tab will show the sample.
* `output(Placeholder placeholder)` - Defines a structure that will be shown in the dialog for uploading sample output data.
* `output(OutputSchema
outputSchema, SampleOutput sampleOutput)` - Declares both schema and sample. The Output tab shows the declared fields populated with the provided sample values.
* `output(BaseOutputFunction output)` / `output(OutputFunction output)` - Advanced: compute the output schema and/or sample dynamically based on current inputs or connection parameters. Use these when the output shape depends on user selections.
### Example [#example]
```java
public static final ModifiableActionDefinition ACTION_DEFINITION = action("upperCase")
.title("Upper Case")
.description("Convert a string to upper case.")
.properties(
string("text")
.label("Text")
.controlType(ControlType.TEXT_AREA)
.required(true))
.perform((inputParameters, connectionParameters, context) -> {
String text = inputParameters.getRequiredString("text");
return text.toUpperCase();
})
.output(
outputSchema(string().description("Upper case string.")),
sampleOutput("HELLO WORLD")
);
```
# ByteChef Developer Guide: Component
URL: /developer-guide/component-specification/component
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/component-specification/component.mdx
## Component \[toc] [#component-toc]
The component definition describes a reusable integration component (its metadata, actions, triggers, and optional connection). Below is an explanation of each method you can use when building a component with the DSL:
* `component(String name)` - Builds a new `ModifiableComponentDefinition` with the specified backend ID. The name is the component ID used internally and in workflow JSON.
* [`actions(A... actionDefinitions)`](/developer-guide/component-specification/action) - Declares the actions exposed by this component.
* `agentChannels(ModifiableAgentChannelDefinition... agentChannels)` - Declares that this component can carry an AI agent's conversation. See [Agent channels](#agent-channels) below.
* `categories(ComponentCategory... category)` / `categories(List categories)` - Assigns UI categories for grouping and discovery in the catalog. See [ComponentCategory](https://github.com/bytechefhq/bytechef/blob/master/sdks/backend/java/component-api/src/main/java/com/bytechef/component/definition/ComponentCategory.java).
* [`connection(ModifiableConnectionDefinition connectionDefinition)`](/developer-guide/component-specification/connection) - Defines the connection used by actions/triggers. If not set, actions can still run without a connection if they don't require one.
* `customAction(boolean customAction)` - If true, enables the Custom Action feature in the UI (typically for REST/OpenAPI‑based connectors).
* `customActionHelp(Help customActionHelp)` - Adds help text for the Custom Action. Displayed as a popup in the UI next to the Custom Action.
* `description(String description)` - Short description shown in the catalog and tooltips.
* `icon(String icon)` - Path or resource name of the SVG icon shown in the UI.
* `resources(String documentationUrl)` / `resources(String documentationUrl, Map additionalUrls)` - Links to product documentation and optional additional resources (e.g., FAQ, blog posts, templates).
* `title(String title)` - Human‑readable display name (Chicago style) shown in the UI.
* [`triggers(T... triggerDefinitions)`](/developer-guide/component-specification/trigger) - Declares triggers available on this component.
* `clusterElements(ClusterElementDefinition>... clusterElements)` - Declares reusable cluster elements (e.g., AI tools) that the component may expose.
* `version(int version)` - Component version number. Increment this when you make breaking changes so existing workflows can continue to use older versions.
### Example [#example]
```java
private static final ComponentDefinition COMPONENT_DEFINITION = component("textHelper")
.title("Text Helper")
.description("Helper component which contains operations to help you work with text.")
.icon("path:assets/text-helper.svg")
.categories(ComponentCategory.HELPERS)
.actions(TextHelperUpperCaseAction.ACTION_DEFINITION);
```
### Agent channels [#agent-channels]
An **agent channel** is a way an AI agent can be reached and can answer: a trigger that receives an incoming message and, usually, an action that sends the reply. Declaring one makes your component selectable as a channel on any agent - no change is needed anywhere else in the platform.
The channel contract is three fields. Each end of the channel states where they live on it, in its own vocabulary:
| Field | On the trigger (`agentRequest()`) | On the reply action (`agentReply()`) |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `conversationId` | path into the trigger's output identifying who to answer. Defaults to `"conversationId"` | the action property that addresses the reply. **No default** - omit it when the reply is a synchronous response and needs no address |
| `message` | path into the trigger's output holding the incoming text. Defaults to `"message"` | the action property the agent's answer is written to. Defaults to `"message"` |
| `attachments` | path into the trigger's output holding incoming files. **No default** - omitting it means this channel carries no attachments | the action property carrying outgoing files. Reserved; not wired yet |
Because the request side defaults to the contract's own names, a trigger whose output already *is* the contract (build it with `ComponentDsl.agentChannelRequest()`) needs nothing but a bare `agentRequest()`. A trigger with its own payload shape spells the paths out, dots included - e.g. `.conversationId("message.chat.id")`.
Pair them on the component with `agentChannel(name, trigger[, replyAction])`. The `name` is the channel's stored key and must be unique across all components:
```java
// trigger
public static final ModifiableTriggerDefinition TRIGGER_DEFINITION = trigger("newChatRequest")
.title("New Chat Request")
.output(...)
.agentRequest(agentRequest().attachments(ATTACHMENTS))
.webhookRequest(ChatNewRequestTrigger::getWebhookResult);
// reply action
public static final ModifiableActionDefinition ACTION_DEFINITION = action("responseToRequest")
.title("Response to Request")
.agentReply(agentReply().attachments(ATTACHMENTS))
.perform(ChatResponseToRequestAction::perform);
// component
private static final ComponentDefinition COMPONENT_DEFINITION = component("chat")
.title("Chat")
.agentChannels(
agentChannel("chat", ChatNewRequestTrigger.TRIGGER_DEFINITION,
ChatResponseToRequestAction.ACTION_DEFINITION)
.title("Chat")
.approvalChannel("chat"));
```
Optional on `agentChannel(...)`:
* `title(String title)` / `description(String description)` - How the channel is labelled in the agent UI. Defaults to the component's own title, which is wrong whenever one component exposes a channel that is not the whole component (Twilio's channel is titled "Twilio (WhatsApp)").
* `approvalChannel(String elementName)` - Which of this component's `APPROVAL_CHANNELS` cluster elements a human approval request is delivered through on this channel. Omit it and the channel simply cannot carry approvals.
* `triggerParameters(Map triggerParameters)` - Parameters pinned onto the generated trigger node, for a trigger whose output shape depends on its own input.
Optional on `agentReply()`:
* `channelParameter(String rowKey, String property)` - A value the user configures on the channel itself is copied into `property` on every reply. Twilio's `number` becomes the reply's `From` this way; `rowKey` must name a property the paired trigger declares.
* `fixedParameter(String property, Object value)` - A reply parameter pinned by the declaration, e.g. `useTemplate = false`.
Everything is validated when the component loads: a path or property name that the paired trigger or action does not declare fails fast, rather than producing an agent that silently replies nowhere. A trigger that receives an event it should not act on declines by returning an empty collection from its webhook handler - the agent run never starts.
# ByteChef Developer Guide: Connection
URL: /developer-guide/component-specification/connection
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/component-specification/connection.mdx
## Connection \[toc] [#connection-toc]
The connection definition configures how a component authenticates to external systems. Below is an explanation of each method available on the connection DSL:
* `connection()` - Builds a new `ModifiableConnectionDefinition` used inside a component.
* [`properties(P... properties)`](/developer-guide/component-specification/property) - Declares user-configurable connection properties (e.g., region, account ID). These appear in the connection dialog.
* `authorizations(ModifiableAuthorization... authorizations)` - Declares one or more authorization mechanisms supported by this connection (OAuth2, API Key, Basic Auth, etc.).
* `authorizationRequired(boolean authorizationRequired)` - Indicates if actions/triggers require a successful authorization before they can run.
* `baseUri(BaseUriFunction baseUri)` - Returns the base URI for all HTTP requests for this connection. If the component has `customAction(true)`, the Base URI is shown in the Connection tab.
* `version(int version)` - Connection version. Bump when introducing breaking changes to connection fields or auth behavior.
## Authorizations [#authorizations]
Each authorization is configured via `ModifiableAuthorization` and can drive how credentials are acquired, applied to requests, refreshed, and detected.
### Modifiable Authorization [#modifiable-authorization]
* `authorization(AuthorizationType authorizationType)` - Builds a new authorization of the given type. Supported values: `API_KEY`, `BASIC_AUTH`, `BEARER_TOKEN`, `CUSTOM`, `DIGEST_AUTH`, `OAUTH2_AUTHORIZATION_CODE`, `OAUTH2_AUTHORIZATION_CODE_PKCE`, `OAUTH2_CLIENT_CREDENTIALS`, `OAUTH2_IMPLICIT_CODE`, `OAUTH2_RESOURCE_OWNER_PASSWORD`.
* `title(String title)` - Display name shown in the UI.
* `description(String description)` - Optional help text for this auth method.
* [`properties(P... properties)`](/developer-guide/component-specification/property) - Additional fields needed for the chosen auth (e.g., Client ID/Secret, tenant, audience). Use constants from `Authorization` when applicable: `USERNAME`, `PASSWORD`, `TOKEN`, `CLIENT_ID`, `CLIENT_SECRET`, `VALUE`.
* `apply(ApplyFunction apply)` - Inject credentials into outgoing requests. Return `Authorization.ApplyResponse` using helpers:
* `ApplyResponse.ofHeaders(Map> headers)`
* `ApplyResponse.ofQueryParameters(Map> queryParameters)`
* `authorizationUrl(AuthorizationUrlFunction authorizationUrl)` - For OAuth2 flows, compute the authorization URL.
* `authorizationCallback(AuthorizationCallbackFunction authorizationCallback)` - Handle the redirect from the OAuth2 server and exchange the code for tokens.
* `tokenUrl(TokenUrlFunction tokenUrl)` / `refreshUrl(RefreshUrlFunction refreshUrl)` - Provide OAuth2 token/refresh endpoints when needed.
* `refresh(RefreshFunction refresh)` / `refreshToken(RefreshTokenFunction refreshTokenFunction)` - Implement custom refresh logic or provide only the refresh token value.
* `scopes(ScopesFunction scopes)` - Defines the list of OAuth2 scopes to request.
* `oAuth2AuthorizationExtraQueryParameters(...)` - Add extra query parameters to the OAuth2 authorization URL.
### Examples [#examples]
Different auth types require different inputs. Below are practical examples.
#### Basic Auth [#basic-auth]
Basic Auth is a simple authentication scheme built into the HTTP protocol. It requires a username and password, which are sent with each request.
```java
authorization(AuthorizationType.BASIC_AUTH)
.title("Basic Auth")
.properties(
string(USERNAME)
.label("Username")
.required(true),
string(PASSWORD)
.label("Password")
.required(true))
```
#### Bearer Token [#bearer-token]
Bearer Token authentication involves sending a token with each request. This token is typically obtained from an authorization server and represents the user's identity.
```java
authorization(AuthorizationType.BEARER_TOKEN)
.title("Bearer Token")
.properties(
string(TOKEN)
.label("Token")
.required(true))
```
#### OAuth2 Authorization [#oauth2-authorization]
OAuth2 Authorization Code is a robust authorization framework that allows third-party applications to obtain limited access to a web service. It involves redirecting the user to an authorization server to obtain an authorization code, which is then exchanged for an access token.
```java
authorization(AuthorizationType.OAUTH2_AUTHORIZATION_CODE)
.title("OAuth2 Authorization Code")
.properties(
string(CLIENT_ID)
.label("Client Id")
.required(true),
string(CLIENT_SECRET)
.label("Client Secret")
.required(true))
.authorizationUrl((connectionParameters, context) -> "authorization url")
.scopes((connection, context) -> List.of("scope1", "scope2"))
.tokenUrl((connectionParameters, context) -> "token url")
.refreshUrl((connectionParameters, context) -> "refresh url")
```
# ByteChef Developer Guide: Property
URL: /developer-guide/component-specification/property
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/component-specification/property.mdx
Properties describe the inputs a component's action, trigger, or connection collects from the user. Each property type below has a dedicated factory method (`string`, `integer`, `array`, ...) plus type-specific options, but they all share a common set of methods inherited from the base property builder.
Two further factory methods exist alongside the ones documented below: `nullable(String name)` for a property whose only value is null, and `dynamicProperties(String name)` for a placeholder whose properties are computed at configuration time.
### Common Property Methods [#common-property-methods]
These methods are available on every value property (`string`, `integer`, `number`, `bool`, `date`, `dateTime`, `time`, `array`, `object`, `fileEntry`):
* `label(String label)` - Human-readable label shown above the field in the UI.
* `description(String description)` - Help text describing the property (shown as a tooltip).
* `placeholder(String placeholder)` - Placeholder text shown inside an empty field.
* `required(boolean required)` - Marks the property as required; the workflow cannot run until it is set.
* `hidden(boolean hidden)` - Hides the property from the UI (useful for constant values set via `defaultValue`).
* `advancedOption(boolean advancedOption)` - Moves the property under the collapsible **Advanced** section in the Properties tab.
* `displayCondition(String displayCondition)` - Shows the property only when the given expression evaluates to true, so a field can depend on what the user picked in another field.
* `expressionEnabled(boolean expressionEnabled)` - Controls whether the field accepts `${...}` data-pill expressions (enabled by default).
* `metadata(String key, String value)` / `metadata(Map metadata)` - Attaches arbitrary metadata to the property.
### Array Property [#array-property]
The `ModifiableArrayProperty` class is a customizable property type designed to handle array values within a component.
* `array(String name)` - Initializes a new `ModifiableArrayProperty` with the specified name.
* `defaultValue(T... defaultValue)` - Sets the default value for the property using various data types such as Boolean, Integer, Long, Float, Double, String, or Map.
* `exampleValue(T... exampleValue)` - Provides an example value for illustrative purposes using various data types.
* `items(P.. properties)` - Specifies the properties that define the items in the array.
* `optionsLookupDependsOn(String... optionsLookupDependsOn)` - Defines dependencies for option lookups.
* `maxItems(long maxItems)` - Sets the maximum number of items allowed in the array.
* `minItems(long minItems)` - Sets the minimum number of items required in the array.
* `multipleValues(boolean multipleValues)` - Indicates whether the array can contain multiple values.
* `options(Option... options)` - Specifies a list of options for the property.
* `options(OptionsFunction optionsFunction)` - Defines a function to dynamically generate options.
### Boolean Property [#boolean-property]
The `ModifiableBooleanProperty` class is a customizable property type designed to handle boolean values within a component.
* `bool(String name)` - Initializes a new `ModifiableBooleanProperty` with the specified name.
* `defaultValue(boolean defaultValue)` - Sets the default value for the property.
* `exampleValue(boolean exampleValue)` - Provides an example value for illustrative purposes.
### Date Property [#date-property]
The `ModifiableDateProperty` class is a customizable property type designed to handle date values within a component.
* `date(String name)` - Initializes a new `ModifiableDateProperty` with the specified name.
* `defaultValue(LocalDate defaultValue)` - Sets the default value for the property.
* `exampleValue(LocalDate exampleValue)` - Provides an example value for illustrative purposes.
* `optionsLookupDependsOn(String... optionsLookupDependsOn)` - Defines dependencies for option lookups.
* `options(Option... options)` - Specifies a list of options for the property.
* `options(OptionsFunction optionsFunction)` - Defines a function to dynamically generate options.
### Date Time Property [#date-time-property]
The `ModifiableDateTimeProperty` class is a customizable property type designed to handle date-time values within a component.
* `dateTime(String name)` - Initializes a new `ModifiableDateTimeProperty` with the specified name.
* `defaultValue(LocalDateTime defaultValue)` - Sets the default value for the property.
* `exampleValue(LocalDateTime exampleValue)` - Provides an example value for illustrative purposes.
* `optionsLookupDependsOn(String... optionsLookupDependsOn)` - Defines dependencies for option lookups.
* `options(Option... options)` - Specifies a list of options for the property.
* `options(OptionsFunction optionsFunction)` - Defines a function to dynamically generate options.
### File Entry Property [#file-entry-property]
The `ModifiableFileEntryProperty` class is a customizable property type designed to handle file entry values within a component.
* `fileEntry(String name)` - Initializes a new `ModifiableFileEntryProperty` with the specified name.
### Integer Property [#integer-property]
The `ModifiableIntegerProperty` class is a customizable property type designed to handle integer values within a component.
* `integer(String name)` - Initializes a new `ModifiableIntegerProperty` with the specified name.
* `defaultValue(long value)` - Sets the default value for the property.
* `exampleValue(long exampleValue)` - Provides an example value for illustrative purposes.
* `optionsLookupDependsOn(String... optionsLookupDependsOn)` - Defines dependencies for option lookups.
* `maxValue(long maxValue)` - Sets the maximum allowable value for the property.
* `minValue(long minValue)` - Sets the minimum allowable value for the property.
* `options(Option... options)` - Specifies a list of options for the property.
* `options(List> options)` - Sets a list of options for the property.
* `options(OptionsFunction optionsFunction)` - Defines a function to dynamically generate options.
### Number Property [#number-property]
The `ModifiableNumberProperty` class is a customizable property type designed to handle numeric values within a component.
* `number(String name)` - Initializes a new `ModifiableNumberProperty` with the specified name.
* `defaultValue(...)` - Sets the default value for the property using various numeric types such as int, long, float, or double.
* `exampleValue(...)` - Provides an example value for illustrative purposes using various numeric types.
* `optionsLookupDependsOn(String... optionsLookupDependsOn)` - Defines dependencies for option lookups.
* `maxNumberPrecision(Integer maxNumberPrecision)` - Sets the maximum precision for the number.
* `maxValue(double maxValue)` - Sets the maximum allowable value for the property.
* `minNumberPrecision(Integer minNumberPrecision)` - Sets the minimum precision for the number.
* `minValue(double minValue)` - Sets the minimum allowable value for the property.
* `numberPrecision(Integer numberPrecision)` - Specifies the precision for the number.
* `options(Option... options)` - Specifies a list of options for the property.
* `options(OptionsFunction optionsFunction)` - Defines a function to dynamically generate options.
### Object Property [#object-property]
The `ModifiableObjectProperty` class is a customizable property type designed to handle object values within a component.
* `object(String name)` - Initializes a new `ModifiableObjectProperty` with the specified name.
* `defaultValue(Map defaultValue)` - Sets the default value for the property.
* `exampleValue(Map exampleValue)` - Provides an example value for illustrative purposes.
* `additionalProperties(...)` - Specifies additional properties that can be included in the object.
* `optionsLookupDependsOn(String... optionsLookupDependsOn)` - Defines dependencies for option lookups.
* `multipleValues(boolean multipleValues)` - Indicates whether the object can contain multiple values.
* `options(Option... options)` - Specifies a list of options for the property.
* `options(OptionsFunction optionsFunction)` - Defines a function to dynamically generate options.
* `properties(...)` - Specifies the properties that define the structure of the object.
### String Property [#string-property]
The `ModifiableStringProperty` class is a customizable property type designed to handle string values within a component.
* `string(String name)` - Initializes a new `ModifiableStringProperty` with the specified name.
* `controlType(ControlType controlType)`- Sets the control type for the property (e.g., TEXT, SELECT).
* `defaultValue(String value)`- Specifies the default value for the property.
* `exampleValue(String exampleValue)`- Provides an example value for illustrative purposes.
* `languageId(String languageId)`- Sets the language identifier for the property.
* `optionsLookupDependsOn(String... optionsLookupDependsOn)`- Defines dependencies for option lookups.
* `maxLength(int maxLength)`- Sets the maximum length allowed for the string value.
* `minLength(int minLength)`- Sets the minimum length required for the string value.
* `options(Option... options)`- Specifies a list of options for the property.
* `options(List extends Option> options)`- Sets a list of options for the property.
* `options(OptionsFunction optionsFunction)`- Defines a function to dynamically generate options.
* `regex(String regex)`- Defines a regular expression that will be used on the string value.
### Time Property [#time-property]
The `ModifiableTimeProperty` class is a customizable property type designed to handle time values within a component.
* `time(String name)` - Initializes a new `ModifiableTimeProperty` with the specified name.
* `defaultValue(LocalTime defaultValue)`- Specifies the default value for the property.
* `exampleValue(LocalTime exampleValue)`- Provides an example value for illustrative purposes.
* `optionsLookupDependsOn(String... optionsLookupDependsOn)`- Defines dependencies for option lookups.
* `options(Option... options)`- Specifies a list of options for the property.
* `options(List extends Option> options)`- Sets a list of options for the property.
* `options(OptionsFunction optionsFunction)`- Defines a function to dynamically generate options.
# ByteChef Developer Guide: Trigger
URL: /developer-guide/component-specification/trigger
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/component-specification/trigger.mdx
The trigger definition is used to specify the properties of a trigger. Below is an explanation of each method that can be used in the trigger definition:
* `trigger(String name)` - Builds new `ModifiableTriggerDefinition` with the specified name. The name defines the trigger key (backend ID).
* `description(String description)` - Provides a short description of the trigger.
* `output` - Defines the output of the trigger.
* `properties(P... properties)` - Lists the properties that the trigger needs to perform its task. Properties will be shown in the Properties tab. For more information, refer to the [Property](/developer-guide/component-specification/property).
* `title(String title)` - Sets the name of the trigger that will be displayed in the UI. Use Chicago Style.
* `type(TriggerType type)` - Sets the type of the trigger. Possible types are `CALLABLE`, `DYNAMIC_WEBHOOK`, `HYBRID`, `LISTENER`, `POLLING`, `STATIC_WEBHOOK` and `WEBSOCKET`.
* `poll(PollFunction poll)` - Required for `POLLING` triggers. This method is called at specified intervals to check for new data.
* `webhookEnable(WebhookEnableFunction webhookEnable)` - Required for `DYNAMIC_WEBHOOK` triggers. This method is called when the trigger is enabled to register the webhook with the third-party service.
* `webhookDisable(WebhookDisableConsumer webhookDisable)` - Required for `DYNAMIC_WEBHOOK` triggers. This method is called when the trigger is disabled to unregister the webhook from the third-party service.
* `webhookRequest(WebhookRequestFunction webhookRequest)` - Required for `DYNAMIC_WEBHOOK` and `STATIC_WEBHOOK` triggers. This method is called when a webhook request is received to process the incoming data.
* `listenerEnable(ListenerEnableConsumer listenerEnable)` - Required for `LISTENER` triggers. This method is called when the trigger is enabled to start listening for events.
* `listenerDisable(ListenerDisableConsumer listenerDisable)` - Required for `LISTENER` triggers. This method is called when the trigger is disabled to stop listening for events.
* `webhookValidate(WebhookValidateFunction webhookValidate)` - Optional for webhook triggers. Used to validate the incoming webhook request (e.g., checking signatures) before a job is created.
* `webhookValidateOnEnable(WebhookValidateFunction webhookValidateOnEnable)` - Optional. Validates the request during the provider's URL-verification handshake performed at enable time (e.g., echoing back a challenge token).
* `webhookRawBody(boolean webhookRawBody)` - When `true`, the raw request body is passed to `webhookRequest` without being parsed (needed for signature verification over the exact bytes).
* `workflowSyncExecution(boolean workflowSyncExecution)` - When `true`, the workflow runs synchronously and the HTTP caller receives the workflow's response (used by request-response webhook patterns).
* `batch(boolean batch)` - When `true` and the trigger output is a list, a single job runs with the whole list; when `false`, one job runs per list element.
* `deduplicate(DeduplicateFunction deduplicate)` - Optional for polling triggers. Provides a key used to drop records that were already seen on a previous poll.
* `dynamicWebhookRefresh(DynamicWebhookRefreshFunction dynamicWebhookRefresh)` - Optional for `DYNAMIC_WEBHOOK` triggers whose registration expires. Called before expiration to renew the webhook and return a fresh output.
## Trigger Type [#trigger-type]
* **CALLABLE**: A trigger that has no inbound endpoint of its own - the workflow is invoked directly, by another workflow or by a caller that holds a reference to it. `workflow/v1/newWorkflowCall` is the built-in example, and it is also the trigger that makes a workflow exposable as an MCP or A2A tool.
* **DYNAMIC\_WEBHOOK**: A trigger that listens for incoming HTTP requests at a dynamically generated URL.
* **HYBRID**: Combines features of both polling and webhook triggers. It can listen for events via webhooks and also poll for updates, providing flexibility in handling different event sources.
* **LISTENER**: A trigger that continuously listens for specific events or messages from a source, such as a message queue or event stream, and activates when those events occur.
* **POLLING**: Regularly checks a data source at specified intervals to detect changes or new data. This type is suitable for systems that do not support webhooks or real-time notifications.
* **STATIC\_WEBHOOK**: A trigger that listens for incoming HTTP requests at a fixed URL. This type is ideal for scenarios where the endpoint URL does not change and can be predefined.
* **WEBSOCKET**: A trigger fired by a WebSocket upgrade rather than an HTTP request; the platform registers no HTTP webhook controller for it. `browser/v1/voiceSession` is the built-in example.
# ByteChef Developer Guide: Add Connection
URL: /developer-guide/build-component/add-connection
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/build-component/add-connection.mdx
How to create connection for a component.
## Add Connection \[toc] [#add-connection-toc]
In the `server/libs/modules/components/newcomponent/src/main/java/com/bytechef/component/newcomponent/connection`
package, the `NewComponentConnection` class defines the connection. The `CONNECTION_DEFINITION` constant contains all
the details about the connection, including its base URI, authorizations, properties, and more.
If your component uses OAuth2 authorization, you can define the authorization type, properties, authorization URL, and
scopes in the `authorizations` method of the `CONNECTION_DEFINITION` constant. The `properties` method allows you to
define the properties that are required for the connection, such as Client ID and Client Secret. Here is an example of
a connection with OAuth2 authorization:
```java
public static final ModifiableConnectionDefinition CONNECTION_DEFINITION = connection()
.baseUri((connectionParameters, context) -> "base url")
.authorizations(
authorization(AuthorizationType.OAUTH2_AUTHORIZATION_CODE)
.title("OAuth2 Authorization Code")
.properties(
string(CLIENT_ID)
.label("Client Id")
.required(true),
string(CLIENT_SECRET)
.label("Client Secret")
.required(true))
.authorizationUrl((connectionParameters, context) -> "authorization url")
.scopes((connection, context) -> List.of("scope1", "scope2"))
.tokenUrl((connectionParameters, context) -> "token url")
.refreshUrl((connectionParameters, context) -> "refresh url"));
```
If another type of authorization is used, such as Basic or API Key, you can define it in the `authorizations` method
of the `CONNECTION_DEFINITION` constant. For more information, refer to the
[connection documentation](/developer-guide/component-specification/connection).
# ByteChef Developer Guide: Create Action
URL: /developer-guide/build-component/create-action
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/build-component/create-action.mdx
How to create an action for a component.
## Create Action \[toc] [#create-action-toc]
In `server/libs/modules/components/newcomponent/src/main/java/com/bytechef/component/newcomponent/action` package, the
`NewComponentDummyAction` class defines the action. The `ACTION_DEFINITION` constant contains all the details about
the action, including its name, title, description, properties and others.
```java
public static final ModifiableActionDefinition ACTION_DEFINITION = action("dummy")
.title("Dummy Action")
.description("Action description.")
.properties(
string("name")
.label("label")
.description("Property description.")
.minLength(1)
.maxLength(255)
.required(true))
.output(
outputSchema(
string()))
.perform(NewComponentDummyAction::perform);
```
The `perform` method contains the logic for the action. Here is the simplest example of the `perform` method that returns the value of the `name` property.
```java
public static String perform(Parameters inputParameters, Parameters connectionParameters, Context context) {
return inputParameters.getRequiredString("name");
}
```
For more information about any method in the `ACTION_DEFINITION`, refer to the [action documentation](/developer-guide/component-specification/action).
# ByteChef Developer Guide: Create Component Definition
URL: /developer-guide/build-component/create-component-definition
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/build-component/create-component-definition.mdx
How to create a new component definition.
In `server/libs/modules/components/newcomponent/src/main/java/com/bytechef/component/newcomponent` package, the
`NewComponentComponentHandler` class defines the component. The `COMPONENT_DEFINITION` constant contains all the details
about the component, including its name, title, description, icon, categories, connection, actions, triggers and others.
```java
@AutoService(ComponentHandler.class)
public class NewComponentComponentHandler implements ComponentHandler {
private static final ComponentDefinition COMPONENT_DEFINITION = component("newComponent")
.title("New Component")
.description("New component description.")
.icon("path:assets/newcomponent.svg")
.categories(ComponentCategory.HELPERS)
.connection(NewComponentConnection.CONNECTION_DEFINITION)
.actions(NewComponentDummyAction.ACTION_DEFINITION)
.triggers(NewComponentDummyTrigger.TRIGGER_DEFINITION);
@Override
public ComponentDefinition getDefinition() {
return COMPONENT_DEFINITION;
}
}
```
### How the platform finds your handler [#how-the-platform-finds-your-handler]
`@AutoService(ComponentHandler.class)` registers the class with the JDK `ServiceLoader`, which is how
the platform discovers components. A handler discovered this way is instantiated by the platform, not
by Spring, so it has **no dependency injection** - everything it needs must be a constant or come from
the `Context` passed into `perform`.
If your component genuinely needs Spring beans (for example an AI model registry), annotate the
handler with `@Component("newComponent_v1_ComponentHandler")` instead and use constructor injection -
Spring-managed handlers are collected by type and merged with the ServiceLoader ones. Keep the
`_v_ComponentHandler` bean-name shape; it is the convention every such
handler in the codebase follows. Only a handful of built-in components need this;
`server/libs/modules/components/ai/agent/utils/.../AiAgentUtilsComponentHandler.java` is one example.
### Icon [#icon]
Find and download a user interface icon in .svg format for your component and place it in `server/libs/modules/components/newcomponent/src/main/resources/assets/newcomponent.svg` - the file name has to match the `icon("path:assets/…")` value above.
The `title`, `description`, and `icon` you set here are exactly what the workflow editor shows when the component is discovered: once the module is on the classpath and the server is running, the component appears in the editor's component panel and can be dropped into a workflow.
{/* TODO screenshot: the newly built component (with its title and SVG icon) appearing in the workflow editor's right-hand component panel / node picker */}
For more information about any method in the `COMPONENT_DEFINITION`, refer to the [component documentation](/developer-guide/component-specification/component).
# ByteChef Developer Guide: Create Trigger
URL: /developer-guide/build-component/create-trigger
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/build-component/create-trigger.mdx
How to create a trigger for a component.
## Create Trigger \[toc] [#create-trigger-toc]
In `server/libs/modules/components/newcomponent/src/main/java/com/bytechef/component/newcomponent/trigger` package, the
`NewComponentDummyTrigger` class defines the trigger. The `TRIGGER_DEFINITION` constant contains all the details about
the trigger, including its name, title, description, properties and others.
### Polling Trigger Example [#polling-trigger-example]
Polling triggers regularly check a data source for changes. You must implement the `poll` method.
```java
public static final ModifiableTriggerDefinition TRIGGER_DEFINITION = trigger("dummyTrigger")
.title("Dummy Trigger")
.description("Polls a dummy API for new data.")
.type(TriggerType.POLLING)
.output(outputSchema(string()))
.poll(NewComponentDummyTrigger::poll);
protected static PollOutput poll(
Parameters inputParameters, Parameters connectionParameters, Parameters closureParameters,
TriggerContext triggerContext) {
// Implementation logic to fetch data and determine what is new
// ...
return new PollOutput(newRecords, closureParameters, false);
}
```
### Dynamic Webhook Trigger Example [#dynamic-webhook-trigger-example]
Dynamic webhooks require registering a URL with a third-party service. You must implement `webhookEnable`, `webhookDisable`, and `webhookRequest`.
```java
public static final ModifiableTriggerDefinition TRIGGER_DEFINITION = trigger("dummyTrigger")
.title("Dummy Trigger")
.description("Triggers on a dynamic URL.")
.type(TriggerType.DYNAMIC_WEBHOOK)
.output(outputSchema(string()))
.webhookEnable(NewComponentDummyTrigger::webhookEnable)
.webhookDisable(NewComponentDummyTrigger::webhookDisable)
.webhookRequest(NewComponentDummyTrigger::webhookRequest);
protected static WebhookEnableOutput webhookEnable(
Parameters inputParameters, Parameters connectionParameters, String webhookUrl,
String workflowExecutionId, TriggerContext triggerContext) {
// Logic to register webhookUrl with the third-party API
return new WebhookEnableOutput(Map.of(), null);
}
protected static void webhookDisable(
Parameters inputParameters, Parameters connectionParameters, Parameters outputParameters,
String workflowExecutionId, TriggerContext triggerContext) {
// Logic to unregister the webhook using the ID stored during enable
}
protected static Object webhookRequest(
Parameters inputParameters, Parameters connectionParameters, HttpHeaders headers,
HttpParameters parameters, WebhookBody body, WebhookMethod method,
Parameters output, TriggerContext triggerContext) {
// Logic to process the incoming webhook request body
return body.getContent();
}
```
### Static Webhook Trigger Example [#static-webhook-trigger-example]
Static webhooks use a fixed URL and only require the `webhookRequest` method to be implemented.
```java
public static final ModifiableTriggerDefinition TRIGGER_DEFINITION = trigger("dummyTrigger")
.title("Dummy Trigger")
.description("Triggers on a fixed URL.")
.type(TriggerType.STATIC_WEBHOOK)
.output(outputSchema(string()))
.webhookRequest(NewComponentDummyTrigger::webhookRequest);
protected static Map webhookRequest(
Parameters inputParameters, Parameters connectionParameters, HttpHeaders headers,
HttpParameters parameters, WebhookBody body, WebhookMethod method,
Parameters output, TriggerContext context) {
return body.getContent(new TypeReference<>() {});
}
```
### Listener Trigger Example [#listener-trigger-example]
Listener triggers stay active and wait for events (e.g., from a message queue). You must implement `listenerEnable` and `listenerDisable`.
```java
public static final ModifiableTriggerDefinition TRIGGER_DEFINITION = trigger("dummyTrigger")
.title("Dummy Trigger")
.description("Triggers on a message queue.")
.type(TriggerType.LISTENER)
.output(outputSchema(string()))
.listenerEnable(NewComponentDummyTrigger::listenerEnable)
.listenerDisable(NewComponentDummyTrigger::listenerDisable);
protected static void listenerEnable(
Parameters inputParameters, Parameters connectionParameters, String workflowExecutionId,
ListenerEmitter listenerEmitter, TriggerContext context) {
// Logic to start listening (e.g., connect to message broker and set up callback)
// When a message arrives:
// listenerEmitter.emit(data);
}
protected static void listenerDisable(
Parameters inputParameters, Parameters connectionParameters, String workflowExecutionId,
TriggerContext context) {
// Logic to stop listening and close connections
}
```
For more information about any method in the `TRIGGER_DEFINITION`, refer to the [trigger documentation](/developer-guide/component-specification/trigger).
# ByteChef Developer Guide: Initial Setup
URL: /developer-guide/build-component/initial-setup
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/build-component/initial-setup.mdx
Learn how to create a new component
To create a new component, we will use the `example` component as a template.
1. **Copy the example component** from `server/libs/modules/components/example` into a new package `server/libs/modules/components/newcomponent`, where `newcomponent` is the name of your new component.
2. **Update Settings**:
* Open `bytechef/settings.gradle.kts`.
* Add the following line to include your new component in the build process:
```kotlin
include("server:libs:modules:components:newcomponent")
```
3. **Load Gradle Changes**:
* Refresh or reload the Gradle project in IntelliJ IDEA.
* This step ensures that IntelliJ recognizes your new component as a Java module, allowing you to work with it seamlessly within the IDE.
4. **Rename Package and Classes**:
* Inside the newly created package, rename the `example` subpackage to `newcomponent`.
* Additionally, rename all classes within this package that start with `Example` to start with `NewComponent`.
# ByteChef Developer Guide: Write Tests
URL: /developer-guide/build-component/write-tests
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/build-component/write-tests.mdx
How to write tests for your component.
## Overview [#overview]
When you build a component, add tests to validate both:
* The component definition (actions, triggers, properties, connection) stays consistent over time.
* The business logic in your actions and triggers behaves as expected.
## Component Handler Test [#component-handler-test]
This test serializes your component definition to JSON and compares it with a snapshot file under your module's test resources. If the file is missing, it will be auto-created.
* Location: `src/test/resources/definition/_v.json`
* Naming: Use your component name and version (for example: notion\_v1.json)
* Purpose: Catch unintentional breaking changes to your component definition (titles, properties, output schemas, etc.).
Example:
```java
import com.bytechef.test.jsonasssert.JsonFileAssert;
import org.junit.jupiter.api.Test;
class MyComponentHandlerTest {
@Test
void testGetDefinition() {
JsonFileAssert.assertEquals("definition/my-component_v1.json", new MyComponentHandler().getDefinition());
}
}
```
How it works:
* `JsonFileAssert.assertEquals` writes the file under `src/test/resources/` when it is missing, then reads the copy on the **test classpath** (`build/resources/test/`) and performs a strict JSON comparison against it.
* Because the comparison reads the build output, deleting only the source file is not enough. To intentionally update the snapshot, delete **both**:
* `src/test/resources/definition/.json`
* `build/resources/test/definition/.json`
Then re-run the test. The run that finds no file writes a fresh one; run the test once more to compare against it, and commit the regenerated JSON.
Tip: Every component module should have one ComponentHandlerTest like this.
## Unit Testing Actions [#unit-testing-actions]
Action logic lives in perform(...). You can unit test it by providing Parameters via MockParametersFactory and mocking ActionContext with Mockito.
Example (simplified boolean computation):
```java
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
import com.bytechef.component.definition.ActionContext;
import com.bytechef.component.definition.Parameters;
import com.bytechef.component.test.definition.MockParametersFactory;
import java.util.Map;
import org.junit.jupiter.api.Test;
class MyActionTest {
private final ActionContext actionContext = mock(ActionContext.class);
@Test
void testPerform() {
Parameters input = MockParametersFactory.create(Map.of("text", "hello"));
Object result = MyAction.perform(input, input, actionContext);
assertEquals("HELLO", result);
}
}
```
Notes:
* Use MockParametersFactory.create(Map.of(...)) to build Parameters quickly for inputs and, if needed, connection parameters.
* Mock ActionContext and verify interactions if your code uses context.http(), context.file(), context.data(), etc.
## Unit Testing Triggers [#unit-testing-triggers]
For polling triggers, test the poll(...) function by mocking TriggerContext and its HTTP executor.
For webhook triggers, write small tests around enable/disable/request handlers by mocking ctx.http() calls and asserting returned data structures.
Remember:
If you change your component definition, remember to update the snapshot JSON:
* Delete `src/test/resources/definition/_v.json` **and** `build/resources/test/definition/_v.json`
* Re-run the Component Handler Test to regenerate
# openapi: Deploy a new code based project
URL: /openapi/automation-project-code-workflow/deployProject
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/openapi/automation-project-code-workflow/deployProject.mdx
Deploy a new code based project.
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
# openapi: Automation Projects
URL: /openapi/automation-project-code-workflow
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/openapi/automation-project-code-workflow/index.mdx
Deploy a code-based project.
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
# ByteChef Developer Guide: Create Trigger
URL: /developer-guide/generate-component/create-trigger
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/generate-component/create-trigger.mdx
How to create a trigger for a component.
## Create Trigger \[toc] [#create-trigger-toc]
When creating a trigger for generated component, it must be added manually. Follow the [instructions in Build Component section](/developer-guide/build-component/create-trigger) to create `NewComponentDummyTrigger` class that defines the trigger.
Once this class is created, update Component Handler as follows:
In `NewComponentComponentHandler`, override the `getTriggers()` method:
```java
@Override
public List getTriggers() {
return List.of(NewComponentDummyTrigger.TRIGGER_DEFINITION);
}
```
# ByteChef Developer Guide: Customize Component
URL: /developer-guide/generate-component/customize-component
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/generate-component/customize-component.mdx
### Connector Icon and Category [#connector-icon-and-category]
1. Find an Icon:
* Search for a suitable user interface icon for your component in `.svg` format.
2. Save the Icon:
* Place the icon in the following directory: `server/libs/modules/components/newcomponent/src/main/resources/assets/newcomponent.svg`.
3. Choose a Category:
* Select a category for your component. Available categories can be found in [ComponentCategory](https://github.com/bytechefhq/bytechef/blob/master/sdks/backend/java/component-api/src/main/java/com/bytechef/component/definition/ComponentCategory.java).
4. Update Component Handler:
* In `NewComponentComponentHandler`, override the `modifyComponent(ModifiableComponentDefinition modifiableComponentDefinition)` method:
```java
@Override
public ModifiableComponentDefinition modifyComponent(ModifiableComponentDefinition modifiableComponentDefinition) {
return modifiableComponentDefinition
.icon("path:assets/newcomponent.svg")
.categories(ComponentCategory.HELPERS);
}
```
The icon and category you set here determine how the generated component is presented in the workflow editor: once the module is on the classpath and the server is running, it appears (with its icon) under the chosen category in the editor's component panel.
{/* TODO screenshot: the generated component listed with its icon under its chosen category in the workflow editor's component panel */}
### Connection [#connection]
If your component requires custom authentication parameters, override the `modifyConnection(ModifiableConnectionDefinition modifiableConnectionDefinition)` method in `NewComponentComponentHandler`.
Refer to examples like [`ShopifyComponentHandler`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/shopify/src/main/java/com/bytechef/component/shopify/ShopifyComponentHandler.java#L72), [`DiscordComponentHandler`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/discord/src/main/java/com/bytechef/component/discord/DiscordComponentHandler.java#L92), or [`PipelinerComponentHandler`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/pipeliner/src/main/java/com/bytechef/component/pipeliner/PipelinerComponentHandler.java#L57) for guidance.
#### API Key Labels via OpenAPI `x-title` [#api-key-labels-via-openapi-x-title]
You can customize user‑friendly labels for API key properties in the generated connection definition by using the `x-title` OpenAPI extension on security scheme properties. When present, ByteChef’s generator uses `x-title` as the label for the corresponding property.
Example OpenAPI snippet:
```yaml
components:
securitySchemes:
ApiKeyQuery:
type: "apiKey"
in: "query"
name: "appid"
x-title: "App ID"
```
Expected generated code:
```java
public static final ComponentDsl.ModifiableConnectionDefinition CONNECTION_DEFINITION = connection()
.authorizations(authorization(AuthorizationType.API_KEY)
.title("API Key")
.properties(
string(KEY)
.label("Key")
.required(true)
.defaultValue("appid")
.hidden(true),
string(VALUE)
.label("App ID") // comes from x-title
.required(true),
string(ADD_TO)
.label("Add to")
.required(true)
.defaultValue(ApiTokenLocation.QUERY_PARAMETERS.name())
.hidden(true)
));
```
#### Bearer Token Labels via OpenAPI `x-title` [#bearer-token-labels-via-openapi-x-title]
You can also customize the label of the bearer token field using the same `x-title` OpenAPI extension. When the generator processes a Bearer Token authorization scheme, it maps `x-title` to the `.label(...)` of the generated token property.
Example OpenAPI snippet:
```yaml
components:
securitySchemes:
BearerAuth:
type: "http"
scheme: "bearer"
x-title: "Access Token"
```
Expected generated code:
```java
public static final ComponentDsl.ModifiableConnectionDefinition CONNECTION_DEFINITION = connection()
.authorizations(
authorization(AuthorizationType.BEARER_TOKEN)
.title("Bearer Token")
.properties(
string(TOKEN)
.label("Access Token") // comes from x-title
.required(true)
)
);
```
### Action [#action]
If some actions require properties not specified in the OpenAPI schema, override the `modifyActions(ModifiableActionDefinition... actionDefinitions)` method in `NewComponentComponentHandler`.
Refer to examples like [`DiscordComponentHandler`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/discord/src/main/java/com/bytechef/component/discord/DiscordComponentHandler.java#L66) or [`ClickupComponentHandler`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/clickup/src/main/java/com/bytechef/component/clickup/ClickupComponentHandler.java#L60).
### Dynamic Options [#dynamic-options]
1. Define Dynamic Options in OpenAPI Schema:
* Add `x-dynamic-options: true` to the parameter in your OpenAPI schema to indicate that it requires dynamic options.
* If the dynamic options depend on another parameter, include `x-dynamic-options-dependency` with the relevant parameter name.
2. Regenerate the Component:
* Run the following command to regenerate the component with updated dynamic options:
```bash
./bytechef.sh component init --open-api-path ../../server/libs/modules/components/newcomponent/openapi.yaml --output-path ../../server/libs/modules/components --name newcomponent
```
3. For each parameter with dynamic `options`, the options() and `optionsLookupDependsOn()` methods are automatically generated in the `ModifiableActionDefinition` class.
4. The `AbstractNewComponentUtils` class is generated, providing methods to retrieve dynamic options for various properties within the component.
5. Override the appropriate method in the `NewComponentUtils` class to load the correct options based on your specific requirements.
For implementation details, refer to examples from existing components such as [`Shopify`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/shopify), [`Airtable`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/airtable), and [`Hubspot`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/hubspot).
### Dynamic Properties [#dynamic-properties]
1. Define Dynamic Properties in OpenAPI Schema:
* Add `x-dynamic-properties: true` to the parameter in your OpenAPI schema to mark it as dynamic.
* If the dynamic property depends on another parameter, include` x-dynamic-properties-dependency` with the relevant parameter name.
2. Regenerate the Component:
* Run the following command to regenerate the component with updated dynamic properties:
```bash
./bytechef.sh component init --open-api-path ../../server/libs/modules/components/newcomponent/openapi.yaml --output-path ../../server/libs/modules/components --name newcomponent
```
3. For each dynamic property, the `properties()` and `propertiesLookupDependsOn()` methods are generated in the `ModifiableActionDefinition` class.
4. The `AbstractNewComponentUtils` class is generated, offering methods to retrieve dynamic properties for various parameters within the component.
5. Override the necessary method in the `NewComponentUtils` class to load the correct properties based on your specific needs.
For implementation details, refer to examples from existing components such as [`Airtable`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/airtable).
### Dynamic Output [#dynamic-output]
1. Define Dynamic Output in OpenAPI Schema:
* Add `x-dynamic-output: true` to the response in your OpenAPI schema to indicate that output is fully dynamic.
For implementation details, refer to examples from existing components such as [`Airtable`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/airtable).
### AI Agent Tool [#ai-agent-tool]
1. Define the AI Agent Tool in OpenAPI Schema:
* Add `x-ai-agent-tool: true` to the individual endpoint in your OpenAPI schema to indicate that it is an AI Agent Tool.
2. Regenerate the Component:
* Run the following command to regenerate the component:
```bash
./bytechef.sh component init --open-api-path ../../server/libs/modules/components/newcomponent/openapi.yaml --output-path ../../server/libs/modules/components --name newcomponent
```
For implementation details, refer to examples from existing components such as [`Airtable`](https://github.com/bytechefhq/bytechef/blob/master/server/libs/modules/components/airtable).
# ByteChef Developer Guide: Generate Component
URL: /developer-guide/generate-component
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/generate-component/index.mdx
Scaffold a new component from an OpenAPI specification using the ByteChef CLI.
## Generate Component \[toc] [#generate-component-toc]
In the following steps, we will learn how to generate a new component from an OpenAPI specification using the ByteChef CLI (`cli/cli-app`). The CLI reads your API's OpenAPI definition and scaffolds a full component module - actions, properties, and a connection - so you don't have to write them by hand.
OpenAPI, formerly known as Swagger, is a specification for building APIs that allows developers to define their API's structure in a standardized format. By using the CLI, you can streamline the process of creating components by automatically generating code based on your OpenAPI definitions.
## Steps [#steps]
**[Initial setup](/developer-guide/generate-component/initial-setup)** - create the component package and register it in the Gradle build.
**[OpenAPI specification](/developer-guide/generate-component/open-api-specification)** - add your `openapi.yaml` and run the CLI `component init` command to generate the component.
**[Customize the component](/developer-guide/generate-component/customize-component)** - set the icon and category, adjust the connection and actions, and enable dynamic options, dynamic properties, dynamic output, and AI Agent tools via OpenAPI extensions.
**[Create a trigger](/developer-guide/generate-component/create-trigger)** - triggers are not generated from OpenAPI, so add them manually and wire them into the generated handler.
The result is the same kind of component module you would author by hand; once it is on the classpath, it appears in the workflow editor's component panel alongside the built-in connectors.
> Generating a component only scaffolds the code. For APIs with non-standard behavior, or for triggers, you will still edit the generated classes as described in [Customize the component](/developer-guide/generate-component/customize-component) and [Create a trigger](/developer-guide/generate-component/create-trigger). If you prefer to write everything yourself, see [Build a component by hand](/developer-guide/build-component/initial-setup) instead.
# ByteChef Developer Guide: Initial Setup
URL: /developer-guide/generate-component/initial-setup
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/generate-component/initial-setup.mdx
## Initial Setup \[toc] [#initial-setup-toc]
This section provides a clear step-by-step guide for setting up a new component in your project, ensuring it is properly integrated into the build system and recognized by the IDE.
1. Create a New Package:
* Navigate to `server/libs/modules/components/`.
* Create a new package with the name of your component, e.g., `newcomponent`.
2. Update Settings:
* Open `bytechef/settings.gradle.kts`.
* Add the following line to include your new component in the build process:
```kotlin
include("server:libs:modules:components:newcomponent")
```
3. Load Gradle Changes:
* Refresh or reload the Gradle project in IntelliJ IDEA.
* This step ensures that IntelliJ recognizes your new component as a Java module, allowing you to work with it seamlessly within the IDE.
# ByteChef Developer Guide: OpenAPI Specification
URL: /developer-guide/generate-component/open-api-specification
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/developer-guide/generate-component/open-api-specification.mdx
## OpenAPI Specification \[toc] [#openapi-specification-toc]
1. Create OpenAPI Specification:
* Inside your new package, create an `openapi.yaml` file.
* Write the [OpenAPI specification](https://swagger.io/specification/) for your component to define its API structure and endpoints.
2. Navigate to CLI Directory:
* Change your working directory to the `BYTECHEF_HOME/cli/cli-app` folder.
3. Generate Component:
* Execute the following command to generate the `NewComponent` in the `newcomponent` directory:
```bash
./bytechef.sh component init --open-api-path ../../server/libs/modules/components/newcomponent/openapi.yaml --output-path ../../server/libs/modules/components --name newcomponent --version 1
```
* This command initializes the component based on the OpenAPI specification, placing the generated files in the specified output path.
* `bytechef.sh` is a thin wrapper around `./gradlew -p cli/cli-app run`. Its working directory is `cli/cli-app`, which is why the paths above are relative to it, and it appends `--internal-component true` so the generated module is laid out as a component that ships with the platform.
`component init` accepts:
| Option | Meaning |
| ---------------------- | ------------------------------------------------------------------------------------------------ |
| `--name`, `-n` | Component name (required). Lower-cased before use. |
| `--output-path`, `-o` | Directory the generated module is written to (required). |
| `--open-api-path` | Path or URL of the OpenAPI specification. Without it the command does nothing. |
| `--version`, `-v` | Component version. Defaults to `1`. |
| `--base-package-name` | Package for the generated classes. Defaults to `com.bytechef.component`. |
| `--internal-component` | Whether the component ships with the platform. Defaults to `false`; `bytechef.sh` passes `true`. |
If you would rather run the CLI as a standalone binary - for a component you keep outside this repository - build it once with `./gradlew :cli:cli-app:installDist` and call `cli/cli-app/build/install/bytechef/bin/bytechef`. The binary runs from your current working directory, so paths behave as you expect, and it does **not** pass `--internal-component`.
# openapi: Automation Git
URL: /openapi/automation-project-git
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/openapi/automation-project-git/index.mdx
Pull a project from its configured git repository.
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
# openapi: Pulls project from git repository.
URL: /openapi/automation-project-git/pullProjectFromGit
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/openapi/automation-project-git/pullProjectFromGit.mdx
Pulls project from git repository.
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
# openapi: Deploy a new custom component
URL: /openapi/custom-components/deployCustomComponent
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/openapi/custom-components/deployCustomComponent.mdx
Deploy a new custom component.
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
# openapi: Custom Components
URL: /openapi/custom-components
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/openapi/custom-components/index.mdx
Public REST API for deploying a custom component to the platform.
{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}
# ByteChef Reference: Branch
URL: /reference/flow-controls/branch_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/branch_v1.mdx
Executes one and only one branch of execution based on the `expression` value.
Type: branch/v1
## Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :----: | :-----------------------------------------------------------------------------: | :------: |
| expression | Expression | STRING | Defines expression upon which evaluation the proper branch continues execution. | false |
# ByteChef Reference: Condition
URL: /reference/flow-controls/condition_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/condition_v1.mdx
Directs a stream based on true/false results of comparisons.
Type: condition/v1
## Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: | :------: |
| rawExpression | Raw Expression | BOOLEAN Options true , true | Set condition as raw expression or list of conditions. | true |
| conditions | OR Conditions | ARRAY Items \[\[\{STRING(type), BOOLEAN(value1), STRING(operation), BOOLEAN(value2)}($boolean), {STRING\(type), DATE_TIME\(value1), STRING\(operation), DATE_TIME\(value2)}\($dateTime), \{STRING(type), NUMBER(value1), STRING(operation), NUMBER(value2)}($number), {STRING\(type), STRING\(value1), STRING\(operation), STRING\(value2), STRING\(value2)}\($string)]] | OR Condition array that contains AND Condition arrays | false |
| expression | Expression | STRING | The raw expression. | true |
# Additional Instructions [#additional-instructions]
The Condition flow control evaluates a logical expression and routes execution down one of two
paths: **true** or **false**. Use it for binary decisions - threshold checks, validation, or simple
yes/no branching.
## Usage [#usage]
### Step 1: Add Condition to your workflow [#step-1-add-condition-to-your-workflow]
Select **Condition** from the **Flows** component panel and add it where the workflow needs to
branch. The node creates two paths, **True** and **False**.
### Step 2: Choose how to express the condition [#step-2-choose-how-to-express-the-condition]
The **Raw Expression** toggle decides which of two editors you get. See
[Expressions](/reference/expressions) for the full expression language.
**Raw Expression enabled** - write the expression directly in the **Expression** field:
```
${order_1.total} > 1000
${user_1.verified} == true && ${user_1.age} >= 18
```
Values like `${order_1.total}` come from data pills - output produced by an earlier component or
trigger, or a value you configured by hand.
**Raw Expression disabled** - build the condition visually. Conditions are structured as **OR**
groups, each containing one or more **AND** conditions:
1. Click **Add OR Condition** to create a group.
2. Inside a group, click **Add AND Condition** to add a comparison.
3. Pick the comparison type: Boolean, Date Time, Number, or String.
Each comparison takes **Value 1**, an **Operation**, and (for every operation except `Empty`)
**Value 2**.
### Step 3: Build the two paths [#step-3-build-the-two-paths]
Add the components that should run when the condition is true to the **True** path, and those for
the false case to the **False** path.
## Available operations [#available-operations]
The operations offered depend on the comparison type you pick.
### String [#string]
| Operation | Meaning |
| -------------------- | ------------------------------------------------- |
| `Equals` | Exact match |
| `Equals Ignore Case` | Case-insensitive match |
| `Not Equals` | Not equal to |
| `Contains` | Value 1 includes Value 2 |
| `Not Contains` | Value 1 does not include Value 2 |
| `Starts With` | Value 1 begins with Value 2 |
| `Ends With` | Value 1 ends with Value 2 |
| `Regex` | Value 1 matches the regular expression in Value 2 |
| `Empty` | Value 1 is an empty string - takes no Value 2 |
### Number [#number]
| Operation | Meaning |
| ------------------- | ------------------------------------------- |
| `Equals` | Value 1 equals Value 2 |
| `Not Equals` | Value 1 does not equal Value 2 |
| `Greater` | Value 1 is greater than Value 2 |
| `Greater or Equals` | Value 1 is greater than or equal to Value 2 |
| `Less` | Value 1 is less than Value 2 |
| `Less or Equals` | Value 1 is less than or equal to Value 2 |
| `Empty` | Value 1 is absent - takes no Value 2 |
### Boolean [#boolean]
| Operation | Meaning |
| ------------ | ------------------------------ |
| `Equals` | Value 1 equals Value 2 |
| `Not Equals` | Value 1 does not equal Value 2 |
### Date Time [#date-time]
| Operation | Meaning |
| --------- | ------------------------------- |
| `After` | Value 1 is later than Value 2 |
| `Before` | Value 1 is earlier than Value 2 |
# ByteChef Reference: Each
URL: /reference/flow-controls/each_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/each_v1.mdx
Iterates over each item in list, in parallel. Note, that since it iterates over each item in parallel, there is no guarantee of completion order.
Type: each/v1
## Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----------: | :-------------------------------------------------------: | :----------------------------: | :------: |
| items | List of items | ARRAY Items \[] | List of items to iterate over. | false |
# ByteChef Reference: Fork/Join
URL: /reference/flow-controls/fork-join_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/fork-join_v1.mdx
Executes each branch in parallel (list of tasks) as a separate and isolated sub-flow. Branches are executed internally in sequence.
Type: fork-join/v1
# ByteChef Reference: Graph
URL: /reference/flow-controls/graph_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/graph_v1.mdx
Directs execution across a set of named nodes connected by dynamic transitions, executing each node's tasks in sequence until a node with no next transition is reached.
Type: graph/v1
## Properties [#properties]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :-----: | :-----------------------------------------------------------------------------------------------------------------: | :------: |
| startNode | Start Node | STRING | The name of the node execution begins from. Defaults to the first declared node when left empty. | false |
| maxTransitions | Max Transitions | INTEGER | The maximum number of node-to-node transitions allowed before the graph is halted, to guard against infinite loops. | false |
# ByteChef Reference: Flow Controls
URL: /reference/flow-controls
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/index.mdx
Branching, looping, and error handling for workflow definitions.
# ByteChef Reference: Loop Break
URL: /reference/flow-controls/loop-break_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/loop-break_v1.mdx
Breaks the loop execution.
Type: loopBreak/v1
# Additional Instructions [#additional-instructions]
**Loop** and **Loop Break** are two halves of one mechanism, and this section covers both. Loop
repeats a set of actions - either once for each item in a list, or continuously; Loop Break is the
statement that ends a continuous loop from inside its body.
## Using Loop [#using-loop]
### Step 1: Add Loop to your workflow [#step-1-add-loop-to-your-workflow]
Select **Loop** from the **Flows** component panel and add it where execution should repeat.
### Step 2: Choose the loop mode [#step-2-choose-the-loop-mode]
**Iterate over a list** - leave **Loop Forever** off, and set **List of Items** to the collection to
walk. The value normally comes from a data pill produced by an earlier step:
```
${googleSheets_1.rows}
${salesforce_1.accounts}
${webhook_1.orders}
```
The loop ends on its own when the list is exhausted.
**Loop forever** - switch **Loop Forever** on. No list is needed; the loop runs until a **Loop
Break** inside its body ends it.
### Step 3: Add the loop body [#step-3-add-the-loop-body]
Click **+** inside the loop to add the components that should run on every pass. When iterating over
a list, the current element is available as `${item}`, and its fields as `${item.email}`,
`${item.status}`, and so on.
## Using Loop Break [#using-loop-break]
Loop Break takes no properties. Add it inside a loop body, normally on a branch of a
[Condition](/reference/flow-controls/condition_v1), and reaching it ends the enclosing loop
immediately - the rest of the current pass does not run.
**Loop Forever needs a reachable break.** With **Loop Forever** on and no Loop Break that can
actually fire, the loop never terminates; it consumes resources until the run hits its execution
timeout. Confirm the body contains a break condition that will be met before enabling it.
# ByteChef Reference: Loop
URL: /reference/flow-controls/loop_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/loop_v1.mdx
Loops sequentially over list of items.
Type: loop/v1
## Properties [#properties]
| Name | Label | Type | Description | Required |
| :---------: | :-----------: | :--------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------: | :------: |
| items | List of items | ARRAY Items \[] | List of items to iterate over. | false |
| loopForever | Loop Forever | BOOLEAN Options true , true | Should loop iterate until condition set by 'Loop Break' statement is met. | false |
# Additional Instructions [#additional-instructions]
**Loop** and **Loop Break** are two halves of one mechanism, and this section covers both. Loop
repeats a set of actions - either once for each item in a list, or continuously; Loop Break is the
statement that ends a continuous loop from inside its body.
## Using Loop [#using-loop]
### Step 1: Add Loop to your workflow [#step-1-add-loop-to-your-workflow]
Select **Loop** from the **Flows** component panel and add it where execution should repeat.
### Step 2: Choose the loop mode [#step-2-choose-the-loop-mode]
**Iterate over a list** - leave **Loop Forever** off, and set **List of Items** to the collection to
walk. The value normally comes from a data pill produced by an earlier step:
```
${googleSheets_1.rows}
${salesforce_1.accounts}
${webhook_1.orders}
```
The loop ends on its own when the list is exhausted.
**Loop forever** - switch **Loop Forever** on. No list is needed; the loop runs until a **Loop
Break** inside its body ends it.
### Step 3: Add the loop body [#step-3-add-the-loop-body]
Click **+** inside the loop to add the components that should run on every pass. When iterating over
a list, the current element is available as `${item}`, and its fields as `${item.email}`,
`${item.status}`, and so on.
## Using Loop Break [#using-loop-break]
Loop Break takes no properties. Add it inside a loop body, normally on a branch of a
[Condition](/reference/flow-controls/condition_v1), and reaching it ends the enclosing loop
immediately - the rest of the current pass does not run.
**Loop Forever needs a reachable break.** With **Loop Forever** on and no Loop Break that can
actually fire, the loop never terminates; it consumes resources until the run hits its execution
timeout. Confirm the body contains a break condition that will be met before enabling it.
# ByteChef Reference: Map
URL: /reference/flow-controls/map_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/map_v1.mdx
Produces a new collection of values by mapping each value in list through defined task, in parallel. When execution is finished on all items, the `map` task will return a list of execution results in an order which corresponds to the order of the source list.
Type: map/v1
## Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----------: | :-------------------------------------------------------: | :----------------------------: | :------: |
| items | List of items | ARRAY Items \[] | List of items to iterate over. | false |
# ByteChef Reference: Error Handler
URL: /reference/flow-controls/on-error_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/on-error_v1.mdx
Triggers an error branch with an error object if an exception occurs in the main branch.
Type: on-error/v1
# ByteChef Reference: Parallel
URL: /reference/flow-controls/parallel_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/parallel_v1.mdx
Run collection of tasks in parallel, without waiting until the previous function has completed.
Type: parallel/v1
# ByteChef Reference: Subflow
URL: /reference/flow-controls/subflow_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/subflow_v1.mdx
Starts a new job as a sub-flow of the current job. Output of the sub-flow job is the output of the task.
Type: subflow/v1
## Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :------: | :-----------------------------------------------------------------------------------: | :----------------------------------------: | :------: |
| workflowUuid | Workflow | STRING | The sub-workflow to execute. | false |
| inputs | null | DYNAMIC\_PROPERTIES Depends On workflowUuid | The input parameters for the sub-workflow. | false |
# ByteChef Reference: Stop Job
URL: /reference/flow-controls/terminate_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/terminate_v1.mdx
Stops a job execution with specified status and message.
Type: terminate/v1
## Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----: | :---: | :----: | :--------------------------: | :------: |
| message | null | STRING | Reason for stopping the job. | false |
# ByteChef Reference: Wait for Approval
URL: /reference/flow-controls/wait-for-approval_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/flow-controls/wait-for-approval_v1.mdx
Allows a person to review and either approve or reject requests.
Type: waitForApproval/v1
# ByteChef Reference: Accelo
URL: /reference/components/accelo_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/accelo_v1.mdx
Accelo is a cloud-based platform designed to streamline operations for service businesses by integrating project management, CRM, and billing functionalities into one unified system.
Categories: CRM, Project Management
Type: accelo/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :----------------------------------------------------------------------------------------------: | :------: |
| deployment | Deployment | STRING | Actual deployment identifier or name to target a specific deployment within the Accelo platform. | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Follow these steps to connect Accelo to ByteChef using OAuth 2.0 (Authorization Code):
1. Determine your Accelo deployment (subdomain)
* Your deployment is the subdomain you use to access Accelo.
* Example: if you sign in at `https://acme.api.accelo.com`, your deployment is `acme`.
2. Register an app in Accelo
* In Accelo, go to: Configuration → API → Register Application.
* Choose the application type: Web Application (required for OAuth2 Authorization Code).
* Give it a name (e.g., **ByteChef Accelo Integration**).
3. Configure the redirect (callback) URL
* Add the ByteChef OAuth callback URL to your app:
* `https://app.bytechef.io/callback` (Cloud)
* `http://127.0.0.1:5173/callback` (Local development)
4. Copy the generated Client ID and Client Secret from your Accelo app.
## Actions [#actions]
### Create Company [#create-company]
Name: createCompany
`Creates a new company.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :---------------------------------------------: | :------: |
| name | Name | STRING | The name of the company. | true |
| website | Website | STRING | The company's website. | false |
| phone | Phone | STRING | A contact phone number for the company. | false |
| comments | Comments | STRING | Any comments or notes made against the company. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Company",
"name" : "createCompany",
"parameters" : {
"name" : "",
"website" : "",
"phone" : "",
"comments" : ""
},
"type" : "accelo/v1/createCompany"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :----------------------------------------------------------------------------------------------------------------: | :---------: |
| response | OBJECT Properties \{STRING(id), STRING(name)} | |
| meta | OBJECT Properties \{STRING(more\_info), STRING(status), STRING(message)} | |
#### Output Example [#output-example]
```json
{
"response" : {
"id" : "",
"name" : ""
},
"meta" : {
"more_info" : "",
"status" : "",
"message" : ""
}
}
```
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :----: | :----------------------------------------------------------------------: | :------: |
| firstname | First Name | STRING | The first name of the contact. | false |
| surname | Last Name | STRING | The last name of the contact. | false |
| company\_id | Company ID | STRING | ID of the company to which the newly affiliated contact will be linked. | true |
| phone | Phone | STRING | The contact's phone number in their role in the associated company. | false |
| email | Email | STRING | The contact's position in the associated company. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"firstname" : "",
"surname" : "",
"company_id" : "",
"phone" : "",
"email" : ""
},
"type" : "accelo/v1/createContact"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------: | :---------: |
| response | OBJECT Properties \{STRING(id), STRING(firstname), STRING(lastname), STRING(email)} | |
| meta | OBJECT Properties \{STRING(more\_info), STRING(status), STRING(message)} | |
#### Output Example [#output-example-1]
```json
{
"response" : {
"id" : "",
"firstname" : "",
"lastname" : "",
"email" : ""
},
"meta" : {
"more_info" : "",
"status" : "",
"message" : ""
}
}
```
### Create Task [#create-task]
Name: createTask
`Creates a new task.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----------: | :---------------: | :--------------------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| title | Title | STRING | | true |
| against\_type | Against Type | STRING Options company , prospect | The type of object the task is against. | true |
| against\_id | Against Object ID | STRING Depends On against\_type | ID of the object the task is against. | true |
| date\_started | Start Date | DATE | The date the task is is scheduled to start. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"title" : "",
"against_type" : "",
"against_id" : "",
"date_started" : "2021-01-01"
},
"type" : "accelo/v1/createTask"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------: | :----------------------------------------------------------------------------------------------------------------: | :---------: |
| response | OBJECT Properties \{STRING(id), STRING(title)} | |
| meta | OBJECT Properties \{STRING(more\_info), STRING(status), STRING(message)} | |
#### Output Example [#output-example-2]
```json
{
"response" : {
"id" : "",
"title" : ""
},
"meta" : {
"more_info" : "",
"status" : "",
"message" : ""
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: ActiveCampaign
URL: /reference/components/active-campaign_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/active-campaign_v1.mdx
ActiveCampaign is a customer experience automation platform that offers email marketing, marketing automation, sales automation, and CRM tools.
Categories: CRM, Marketing Automation
Type: activeCampaign/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :----------: | :----: | :-------------------------------------------------------------: | :------: |
| username | Account name | STRING | Your account name, e.g. https\://\{youraccountname}.api-us1.com | true |
| key | Key | STRING | | true |
| value | API Key | STRING | | true |
## Connection Setup [#connection-setup]
### Find API Key [#find-api-key]
1. Navigate to your [ActiveCampaign](https://www.activecampaign.com/) dashboard.
2. Click on **Setting**.
3. Click on **Developer**.
4. Here you can see your **API Access Key** and your **API Access URL** from which you can read out your account name.
5. Done 🚀.
## Actions [#actions]
### Create Account [#create-account]
Name: createAccount
`Creates a new account.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :---------------------------------------------------------------------------------------------: | :---------: | :------: |
| account | Account | OBJECT Properties \{STRING(name), STRING(accountUrl)} | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Account",
"name" : "createAccount",
"parameters" : {
"account" : {
"name" : "",
"accountUrl" : ""
}
},
"type" : "activeCampaign/v1/createAccount"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------------------: | :---------: |
| account | OBJECT Properties \{STRING(name), STRING(accountUrl), STRING(id)} | |
#### Output Example [#output-example]
```json
{
"account" : {
"name" : "",
"accountUrl" : "",
"id" : ""
}
}
```
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| contact | Contact | OBJECT Properties \{STRING(email), STRING(firstName), STRING(lastName), STRING(phone)} | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"contact" : {
"email" : "",
"firstName" : "",
"lastName" : "",
"phone" : ""
}
},
"type" : "activeCampaign/v1/createContact"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| contact | OBJECT Properties \{STRING(email), STRING(firstName), STRING(lastName), STRING(phone), STRING(id)} | |
#### Output Example [#output-example-1]
```json
{
"contact" : {
"email" : "",
"firstName" : "",
"lastName" : "",
"phone" : "",
"id" : ""
}
}
```
### Create Task [#create-task]
Name: createTask
`Creates a new task.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :--------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| dealTask | Deal Task | OBJECT Properties \{STRING(title), INTEGER(relid), DATE(duedate), INTEGER(dealTasktype)} | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"dealTask" : {
"title" : "",
"relid" : 1,
"duedate" : "2021-01-01",
"dealTasktype" : 1
}
},
"type" : "activeCampaign/v1/createTask"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------: | :--------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| dealTask | OBJECT Properties \{STRING(id), STRING(title), INTEGER(relid), DATE(duedate), INTEGER(dealTasktype)} | |
#### Output Example [#output-example-2]
```json
{
"dealTask" : {
"id" : "",
"title" : "",
"relid" : 1,
"duedate" : "2021-01-01",
"dealTasktype" : 1
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Acumbamail
URL: /reference/components/acumbamail_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/acumbamail_v1.mdx
Acumbamail is an email marketing and automation platform that allows users to create, manage, and analyze email campaigns, newsletters, and SMS marketing with an intuitive interface and API integration.
Categories: Marketing Automation
Type: acumbamail/v1
## Connections [#connections]
Version: 1
### Authorization token [#authorization-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----: | :---------: | :------: |
| auth\_token | Access token | STRING | | true |
## Connection Setup [#connection-setup]
1. Go to [https://acumbamail.com/apidoc/](https://acumbamail.com/apidoc/).
2. Log in to your account.
3. Copy the auth token. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Add Subscriber [#add-subscriber]
Name: addSubscriber
`Add a subscriber to a list.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :-----: | :--------------: | :------: |
| list\_id | List Id | INTEGER | List identifier. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Subscriber",
"name" : "addSubscriber",
"parameters" : {
"list_id" : 1
},
"type" : "acumbamail/v1/addSubscriber"
}
```
#### Output [#output]
Type: INTEGER
### Delete Subscriber [#delete-subscriber]
Name: deleteSubscriber
`Removes a subscriber from a list.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :-----: | :-----------------------: | :------: |
| list\_id | List Id | INTEGER | List identifier. | true |
| email | Email | STRING | Subscriber email address. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Subscriber",
"name" : "deleteSubscriber",
"parameters" : {
"list_id" : 1,
"email" : ""
},
"type" : "acumbamail/v1/deleteSubscriber"
}
```
#### Output [#output-1]
This action does not produce any output.
### Create Subscriber List [#create-subscriber-list]
Name: createSubscriberList
`Creates a new subscribers list.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :----: | :-----------------------------------------------------: | :------: |
| email | Email | STRING | Email address that will be used for list notifications. | true |
| name | Name | STRING | List name | true |
| company | Company | STRING | Company that the list belongs to | false |
| country | Country | STRING | Country where the list comes from | false |
| city | City | STRING | City of the company | false |
| address | Address | STRING | Address of the company | false |
| phone | Phone | STRING | Phone number of the company | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Subscriber List",
"name" : "createSubscriberList",
"parameters" : {
"email" : "",
"name" : "",
"company" : "",
"country" : "",
"city" : "",
"address" : "",
"phone" : ""
},
"type" : "acumbamail/v1/createSubscriberList"
}
```
#### Output [#output-2]
Type: INTEGER
### Delete Subscriber List [#delete-subscriber-list]
Name: deleteSubscriberList
`Deletes a list of subscribers.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :-----: | :--------------: | :------: |
| list\_id | List Id | INTEGER | List identifier. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete Subscriber List",
"name" : "deleteSubscriberList",
"parameters" : {
"list_id" : 1
},
"type" : "acumbamail/v1/deleteSubscriberList"
}
```
#### Output [#output-3]
This action does not produce any output.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Affinity
URL: /reference/components/affinity_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/affinity_v1.mdx
Affinity is a customer relationship management (CRM) platform that leverages relationship intelligence to help businesses strengthen connections and drive engagement with client and prospects.
Categories: CRM
Type: affinity/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Actions [#actions]
### Create Opportunity [#create-opportunity]
Name: createOpportunity
`Creates a new opportunity.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :--------------------------: | :------: |
| name | Name | STRING | The name of the opportunity. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Opportunity",
"name" : "createOpportunity",
"parameters" : {
"name" : ""
},
"type" : "affinity/v1/createOpportunity"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :----: | :----------------------------------------: |
| id | STRING | The ID of the newly created opportunity. |
| name | STRING | The name of the newly created opportunity. |
#### Output Example [#output-example]
```json
{
"id" : "",
"name" : ""
}
```
### Create Organization [#create-organization]
Name: createOrganization
`Creates a new organization.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----: | :----------------------------------: | :------: |
| name | Name | STRING | The name of the organization. | true |
| domain | Domain | STRING | The domain name of the organization. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Organization",
"name" : "createOrganization",
"parameters" : {
"name" : "",
"domain" : ""
},
"type" : "affinity/v1/createOrganization"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----: | :----: | :----------------------------------: |
| id | STRING | The ID of the organization. |
| name | STRING | The name of the organization. |
| domain | STRING | The domain name of the organization. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"name" : "",
"domain" : ""
}
```
### Create Person [#create-person]
Name: createPerson
`Creates a new person.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :-------------------------------------------------------------: | :--------------------------------: | :------: |
| first\_name | First Name | STRING | The first name of the person. | true |
| last\_name | Last Name | STRING | The last name of the person. | true |
| emails | Emails | ARRAY Items \[STRING] | The email addresses of the person. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Person",
"name" : "createPerson",
"parameters" : {
"first_name" : "",
"last_name" : "",
"emails" : [ "" ]
},
"type" : "affinity/v1/createPerson"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------: | :--------------------------------: |
| id | STRING | The ID of the person. |
| first\_name | STRING | The first name of the person. |
| last\_name | STRING | The last name of the person. |
| emails | ARRAY Items \[STRING] | The email addresses of the person. |
#### Output Example [#output-example-2]
```json
{
"id" : "",
"first_name" : "",
"last_name" : "",
"emails" : [ "" ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Agentic AI
URL: /reference/components/agentic-ai_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/agentic-ai_v1.mdx
With the Agentic AI, you can define a goal and let the AI autonomously plan and execute tools to achieve it using the Embabel Agent framework with GOAP planning.
Categories: Artificial Intelligence
Type: agenticAi/v1
## Actions [#actions]
### Run [#run]
Name: run
`Run the agentic AI to autonomously achieve a goal. The GOAP planner selects and orders configured actions based on their input/output bindings, choosing any valid path from the seeded input binding to the goal output binding.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---------------: | :-----------------: | :-----------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| goalDescription | Goal Description | STRING | Describe the goal the agentic AI should achieve using the configured actions. | true |
| goalOutputBinding | Goal Output Binding | STRING | The output binding that, once produced on the blackboard, satisfies the goal. Must match the output binding of at least one configured action. | true |
| goalMode | Goal Mode | STRING Options STRUCTURAL , SMART | Structural: the goal is satisfied as soon as the goal output binding is produced. Smart: additionally asks an LLM to judge whether the produced value actually satisfies the goal description; the planner may backtrack and try alternative action paths if not. Smart mode adds an LLM call per evaluation. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Run",
"name" : "run",
"parameters" : {
"goalDescription" : "",
"goalOutputBinding" : "",
"goalMode" : "",
"systemPrompt" : "",
"response" : {
"responseFormat" : "",
"responseSchema" : ""
}
},
"type" : "agenticAi/v1/run"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Agile CRM
URL: /reference/components/agile-crm_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/agile-crm_v1.mdx
All-in-One CRM. Automate your sales, marketing, and service in one platform. Avoid data leaks and enable consistent messaging.
Categories: CRM
Type: agileCrm/v1
## Connections [#connections]
Version: 1
### Basic Authentication [#basic-authentication]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :----------: | :----: | :-----------------------------------------------------------------: | :------: |
| domain | Domain | STRING | [https://DOMAIN.agilecrm.com](https://DOMAIN.agilecrm.com) | true |
| username | Email | STRING | Email address of Agile CRM account. | true |
| password | REST API Key | STRING | Can be found in Admin settings -> Developers & API -> REST API Key. | true |
## Connection Setup [#connection-setup]
### Find REST API Key [#find-rest-api-key]
1. Navigate to your dashboard.
2. Click on your profile image.
3. Click on **Admin Settings**.
4. Click on **Developers & API**.
5. Click on REST API.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :--------------------------------------------------------------------: | :----------------------------------: | :------: |
| first\_name | First Name | STRING | The first name of the contact. | true |
| last\_name | Last Name | STRING | The last name of the contact. | false |
| email | Email | STRING | Email of the contact. | true |
| address | Address | STRING | The address of the contact. | false |
| city | City | STRING | The city where the contact lives. | false |
| state | State | STRING | The state where the contact lives. | false |
| zip\_code | Zip Code | STRING | The zip code of the contact. | false |
| country | Country | STRING | The country where the contact lives. | false |
| website | Website | STRING | The website of the contact. | false |
| phone | Phone | STRING | The phone number of the contact. | false |
| company | Company | STRING | The company where the contact works. | false |
| tags | Tags | ARRAY Items \[STRING(\$tag)] | Tags of the contact. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"first_name" : "",
"last_name" : "",
"email" : "",
"address" : "",
"city" : "",
"state" : "",
"zip_code" : "",
"country" : "",
"website" : "",
"phone" : "",
"company" : "",
"tags" : [ "" ]
},
"type" : "agileCrm/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------: |
| id | NUMBER | The id of the contact. |
| type | STRING | The type of the contact. |
| created\_time | INTEGER | The time the contact was created. |
| updated\_time | INTEGER | The time the contact was updated. |
| last\_contacted | INTEGER | The time the contact was last contacted. |
| last\_emailed | INTEGER | The time the contact was last emailed. |
| last\_campaign\_emailed | INTEGER | The time the contact was last emailed about the campaign. |
| last\_called | INTEGER | The time the contact was last called. |
| viewed\_time | INTEGER | The time the contact was last viewed. |
| viewed | OBJECT Properties \{INTEGER(viewed\_time)} | |
| star\_value | INTEGER | The star value of the contact. |
| lead\_score | INTEGER | The lead score of the contact. |
| klout\_score | STRING | The klout score of the contact. |
| tags | ARRAY Items \[STRING] | Tags of the contact. |
| tagsWithTime | ARRAY Items \[\{STRING(tag), NUMBER(createdTime), INTEGER(availableCount), STRING(entity\_type)}] | |
| properties | ARRAY Items \[\{STRING(type), STRING(name), STRING(value)}] | Properties of the contact. |
| campaignStatus | ARRAY Items \[] | The status of the campaign. |
| entity\_type | STRING | The entity type. |
| source | STRING | The source that created the contact. |
| contact\_company\_id | STRING | The company ID of the contact. |
| unsubscribeStatus | ARRAY Items \[] | |
| emailBounceStatus | ARRAY Items \[] | |
| formId | INTEGER | The form ID of the contact. |
| browserId | ARRAY Items \[] | The browser ID of the contact. |
| lead\_source\_id | INTEGER | The lead source ID of the contact. |
| lead\_status\_id | INTEGER | The lead status ID of the contact. |
| is\_lead\_converted | BOOLEAN Options true , false | Whether the lead converted the contact. |
| lead\_converted\_time | INTEGER | The time when the lead converted the contact. |
| is\_duplicate\_existed | BOOLEAN Options true , false | Whether the duplicate of the contact exists . |
| trashed\_time | INTEGER | The time when the contact was trashed. |
| restored\_time | INTEGER | The time when the contact was restored. |
| is\_duplicate\_verification\_failed | BOOLEAN Options true , false | Whether the duplicate of the contact verification failed. |
| is\_client\_import | BOOLEAN Options true , false | Whether the contact was imported. |
| concurrent\_save\_allowed | BOOLEAN Options true , false | Whether the contact was saved as concurrent. |
| owner | OBJECT Properties \{NUMBER(id), STRING(domain), STRING(email), STRING(phone), STRING(name), STRING(pic), STRING(schedule\_id), STRING(calendar\_url), STRING(calendarURL)} | The owner of the contact. |
#### Output Example [#output-example]
```json
{
"id" : 0.0,
"type" : "",
"created_time" : 1,
"updated_time" : 1,
"last_contacted" : 1,
"last_emailed" : 1,
"last_campaign_emailed" : 1,
"last_called" : 1,
"viewed_time" : 1,
"viewed" : {
"viewed_time" : 1
},
"star_value" : 1,
"lead_score" : 1,
"klout_score" : "",
"tags" : [ "" ],
"tagsWithTime" : [ {
"tag" : "",
"createdTime" : 0.0,
"availableCount" : 1,
"entity_type" : ""
} ],
"properties" : [ {
"type" : "",
"name" : "",
"value" : ""
} ],
"campaignStatus" : [ ],
"entity_type" : "",
"source" : "",
"contact_company_id" : "",
"unsubscribeStatus" : [ ],
"emailBounceStatus" : [ ],
"formId" : 1,
"browserId" : [ ],
"lead_source_id" : 1,
"lead_status_id" : 1,
"is_lead_converted" : false,
"lead_converted_time" : 1,
"is_duplicate_existed" : false,
"trashed_time" : 1,
"restored_time" : 1,
"is_duplicate_verification_failed" : false,
"is_client_import" : false,
"concurrent_save_allowed" : false,
"owner" : {
"id" : 0.0,
"domain" : "",
"email" : "",
"phone" : "",
"name" : "",
"pic" : "",
"schedule_id" : "",
"calendar_url" : "",
"calendarURL" : ""
}
}
```
### Create Deal [#create-deal]
Name: createDeal
`Creates a new deal.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------------: | :------------: | :----------------------------------------------------------------------: | :---------------------------------------: | :------: |
| name | Name | STRING | Name of the deal. | true |
| description | Description | STRING | Brief description about deal. | false |
| expected\_value | Expected Value | NUMBER | Estimated value of a deal. | true |
| pipeline\_id | Pipeline ID | NUMBER | ID of the pipeline that the deal follows. | false |
| milestone | Milestone | STRING Depends On pipeline\_id | Milestone the deal is currently at. | true |
| probability | Probability | INTEGER | Should be ranging between 0-100. | true |
| owner\_id | Owner ID | STRING | ID of the owner of the deal. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Deal",
"name" : "createDeal",
"parameters" : {
"name" : "",
"description" : "",
"expected_value" : 0.0,
"pipeline_id" : 0.0,
"milestone" : "",
"probability" : 1,
"owner_id" : ""
},
"type" : "agileCrm/v1/createDeal"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: |
| colorName | STRING | Color of the deal in display. |
| id | NUMBER | ID of the deal. |
| apply\_discount | BOOLEAN Options true , false | Whether the discount is applied. |
| discount\_value | NUMBER | The discount value of the deal. |
| discount\_amt | NUMBER | The discount amount of the deal. |
| discount\_type | STRING | The discount type of the deal. |
| name | STRING | The name of the deal. |
| contact\_ids | ARRAY Items \[] | The contacts that are part of the deal. |
| custom\_data | ARRAY Items \[] | Custom data of the deal. |
| products | ARRAY Items \[] | The products that are part of the deal. |
| description | STRING | The description of the deal. |
| expected\_value | NUMBER | The expected value of the deal. |
| milestone | STRING | The milestone of the deal. |
| probability | NUMBER | The probability of the deal being won. |
| owner\_id | STRING | The ID of the owner of the deal. |
| created\_time | INTEGER | The time when the deal was created. |
| milestone\_changed\_time | INTEGER | The time when the deal milestone was changed. |
| entity\_type | STRING | The entity type. |
| notes | ARRAY Items \[] | The notes of the deal. |
| notes\_ids | ARRAY Items \[] | The notes ID. |
| note\_created\_time | INTEGER | The time when the deal note was created. |
| pipeline\_id | NUMBER | The ID of the pipeline. |
| archived | BOOLEAN Options true , false | Whether the deal is archived. |
| won\_date | INTEGER | The date when the deal was won. |
| lost\_reason\_id | INTEGER | The ID of the lost reason. |
| deal\_source\_id | INTEGER | The ID of the deal source. |
| total\_deal\_value | NUMBER | The total value of the deal. |
| updated\_time | INTEGER | The time when the deal was updated. |
| isCurrencyUpdateRequired | BOOLEAN Options true , false | Whether the deal currency requires updating. |
| currency\_conversion\_value | NUMBER | The currency conversion value. |
| tags | ARRAY Items \[STRING] | Tags of the deal. |
| tagsWithTime | ARRAY Items \[] | Tags with time of the deal. |
| owner | ARRAY Items \[\{NUMBER(id), STRING(domain), STRING(email), STRING(phone), STRING(name), STRING(pic), STRING(schedule\_id), STRING(calendar\_url), STRING(calendarURL)}] | The owner of the deal. |
| contacts | ARRAY Items \[] | Contacts of the deal. |
#### Output Example [#output-example-1]
```json
{
"colorName" : "",
"id" : 0.0,
"apply_discount" : false,
"discount_value" : 0.0,
"discount_amt" : 0.0,
"discount_type" : "",
"name" : "",
"contact_ids" : [ ],
"custom_data" : [ ],
"products" : [ ],
"description" : "",
"expected_value" : 0.0,
"milestone" : "",
"probability" : 0.0,
"owner_id" : "",
"created_time" : 1,
"milestone_changed_time" : 1,
"entity_type" : "",
"notes" : [ ],
"notes_ids" : [ ],
"note_created_time" : 1,
"pipeline_id" : 0.0,
"archived" : false,
"won_date" : 1,
"lost_reason_id" : 1,
"deal_source_id" : 1,
"total_deal_value" : 0.0,
"updated_time" : 1,
"isCurrencyUpdateRequired" : false,
"currency_conversion_value" : 0.0,
"tags" : [ "" ],
"tagsWithTime" : [ ],
"owner" : [ {
"id" : 0.0,
"domain" : "",
"email" : "",
"phone" : "",
"name" : "",
"pic" : "",
"schedule_id" : "",
"calendar_url" : "",
"calendarURL" : ""
} ],
"contacts" : [ ]
}
```
#### Find your Pipeline ID [#find-your-pipeline-id]
Only by using the Agile CRM API `/milestone/pipelines`.
\*\* Via API \*\*
* Use the `GET /milestone/pipelines` endpoint.
* Returns a list of available pipelines in your Agile CRM account.
* In the response, locate the `id` property for the pipeline you want to use.
#### Find your Milestone [#find-your-milestone]
1. Click on your profile icon in the right upper corner
2. Click on "Admin settings"
3. Click on "Deals"
4. Open tab "Tracks and Milestones"
5. There you will see Tracks (Pipelines) and their Milestones
#### Find your Owner ID [#find-your-owner-id]
Only by using the Agile CRM API `/contacts`.
\*\* Via API \*\*
* Use the `GET /contacts` endpoint.
* Returns a list of contacts in your Agile CRM account.
* In the response, locate the `owner` object and use the `id` field as the Owner ID.
### Create Task [#create-task]
Name: createTask
`Creates a new task.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------------: | :-------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------: | :------: |
| subject | Subject | STRING | The subject of the task. | true |
| type | Task Type | STRING Options CALL , EMAIL , FOLLOW\_UP , MEETING , MILESTONE , SEND , TWEET , OTHER | The type of the task. | true |
| priority\_type | Priority | STRING Options HIGH , NORMAL , LOW | The priority of the task. | true |
| due | Due Date | DATE\_TIME | The due date of the task. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"subject" : "",
"type" : "",
"priority_type" : "",
"due" : "2021-01-01T00:00:00"
},
"type" : "agileCrm/v1/createTask"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------: |
| id | NUMBER | The ID of the task. |
| type | STRING | The type of the task. |
| priority\_type | STRING | The priority of the task. |
| due | INTEGER | The due date of the task. |
| task\_completed\_time | INTEGER | The time when task was completed. |
| task\_start\_time | INTEGER | The time when task was started. |
| created\_time | INTEGER | The time when task was created. |
| is\_complete | BOOLEAN Options true , false | Whether the task is completed. |
| contacts | ARRAY Items \[\{NUMBER(id), STRING(type), INTEGER(created\_time), INTEGER(updated\_time)}] | Contacts that are connected to the task. |
| subject | STRING | The subject of the task. |
| entity\_type | STRING | The entity type. |
| notes | ARRAY Items \[] | Notes of the task. |
| note\_ids | ARRAY Items \[] | Notes ID. |
| progress | INTEGER | The progress of the task. |
| status | STRING | The status of the task. |
| deal\_ids | ARRAY Items \[] | IDs of the deals that are connected to the task. |
| taskOwner | OBJECT Properties \{NUMBER(id), STRING(domain), STRING(email), STRING(phone), STRING(name), STRING(pic), STRING(schedule\_id), STRING(calendar\_url), STRING(calendarURL)} | Owner of the task. |
#### Output Example [#output-example-2]
```json
{
"id" : 0.0,
"type" : "",
"priority_type" : "",
"due" : 1,
"task_completed_time" : 1,
"task_start_time" : 1,
"created_time" : 1,
"is_complete" : false,
"contacts" : [ {
"id" : 0.0,
"type" : "",
"created_time" : 1,
"updated_time" : 1
} ],
"subject" : "",
"entity_type" : "",
"notes" : [ ],
"note_ids" : [ ],
"progress" : 1,
"status" : "",
"deal_ids" : [ ],
"taskOwner" : {
"id" : 0.0,
"domain" : "",
"email" : "",
"phone" : "",
"name" : "",
"pic" : "",
"schedule_id" : "",
"calendar_url" : "",
"calendarURL" : ""
}
}
```
## Triggers [#triggers]
### New Task [#new-task]
Name: newTask
`Triggers when a new task is added.`
Type: POLLING
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :-------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------: |
| id | NUMBER | The ID of the task. |
| type | STRING | The type of the task. |
| priority\_type | STRING | The priority of the task. |
| due | INTEGER | The due date of the task. |
| task\_completed\_time | INTEGER | The time when task was completed. |
| task\_start\_time | INTEGER | The time when task was started. |
| created\_time | INTEGER | The time when task was created. |
| is\_complete | BOOLEAN Options true , false | Whether the task is completed. |
| contacts | ARRAY Items \[\{NUMBER(id), STRING(type), INTEGER(created\_time), INTEGER(updated\_time)}] | Contacts that are connected to the task. |
| subject | STRING | The subject of the task. |
| entity\_type | STRING | The entity type. |
| notes | ARRAY Items \[] | Notes of the task. |
| note\_ids | ARRAY Items \[] | Notes ID. |
| progress | INTEGER | The progress of the task. |
| status | STRING | The status of the task. |
| deal\_ids | ARRAY Items \[] | IDs of the deals that are connected to the task. |
| taskOwner | OBJECT Properties \{NUMBER(id), STRING(domain), STRING(email), STRING(phone), STRING(name), STRING(pic), STRING(schedule\_id), STRING(calendar\_url), STRING(calendarURL)} | Owner of the task. |
#### JSON Example [#json-example]
```json
{
"label" : "New Task",
"name" : "newTask",
"type" : "agileCrm/v1/newTask"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Aha!
URL: /reference/components/aha_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/aha_v1.mdx
Aha! is a comprehensive product management software platform that helps teams set strategy, capture ideas, and plan, prioritize, and track work to build products customers love.
Categories: Productivity and Collaboration
Type: aha/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| subdomain | Subdomain | STRING | The subdomain of your Aha! account. For example, if your Aha! URL is [https://mycompany.aha.io](https://mycompany.aha.io), then the subdomain is mycompany. | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth Application [#create-oauth-application]
1. Navigate to your Aha! dashboard.
2. Click on **Personal**.
3. Click on **Developer**.
4. Click on **OAuth applications**.
5. Click on **Register OAuth application**.
6. Enter name of your OAuth application.
7. Enter **Redirect URI** depending on your instance:
* `https://app.bytechef.io/callback` (Cloud)
* `http://localhost:5173/callback` (Local dev)
8. Click **Create**.
9. Here you can see your credentials.
10. Done 🚀.
## Actions [#actions]
### Create Feature [#create-feature]
Name: createFeature
`Creates a new feature.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :-------------------------------------------------------------------: | :---------------------------------------------: | :------: |
| productId | Product ID | STRING | ID of the product to which the release belongs. | false |
| releaseId | Release ID | STRING Depends On productId | Numeric ID or key of the release. | true |
| name | Name | STRING | Name of the feature. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Feature",
"name" : "createFeature",
"parameters" : {
"productId" : "",
"releaseId" : "",
"name" : ""
},
"type" : "aha/v1/createFeature"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| feature | OBJECT Properties \{STRING(id), STRING(name), STRING(reference\_num), STRING(release\_reference\_num), INTEGER(position), INTEGER(score), DATE\_TIME(created\_at), DATE\_TIME(updated\_at), STRING(product\_id), INTEGER(progress), STRING(progress\_source), DATE(status\_changed\_on), \{STRING(id), STRING(name), STRING(email), DATE\_TIME(created\_at), DATE\_TIME(updated\_at)}(created\_by\_user), \{STRING(id), STRING(name)}(workflow\_kind), \{STRING(id), STRING(name), INTEGER(position), BOOLEAN(complete), STRING(color)}(workflow\_status)} | |
#### Output Example [#output-example]
```json
{
"feature" : {
"id" : "",
"name" : "",
"reference_num" : "",
"release_reference_num" : "",
"position" : 1,
"score" : 1,
"created_at" : "2021-01-01T00:00:00",
"updated_at" : "2021-01-01T00:00:00",
"product_id" : "",
"progress" : 1,
"progress_source" : "",
"status_changed_on" : "2021-01-01",
"created_by_user" : {
"id" : "",
"name" : "",
"email" : "",
"created_at" : "2021-01-01T00:00:00",
"updated_at" : "2021-01-01T00:00:00"
},
"workflow_kind" : {
"id" : "",
"name" : ""
},
"workflow_status" : {
"id" : "",
"name" : "",
"position" : 1,
"complete" : false,
"color" : ""
}
}
}
```
#### Find product ID and release ID [#find-product-id-and-release-id]
To find the Product ID, click [here](/reference/components/aha_v1#how-to-find-the-product-id).
To find the Release ID, click [here](/reference/components/aha_v1#how-to-find-the-release-id).
### Create Idea [#create-idea]
Name: createIdea
`Creates a new idea.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----: | :-------------------------------: | :------: |
| productId | Product ID | STRING | Numeric ID or key of the product. | true |
| name | Name | STRING | Name of the idea. | true |
| description | Description | STRING | Description of the idea. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Idea",
"name" : "createIdea",
"parameters" : {
"productId" : "",
"name" : "",
"description" : ""
},
"type" : "aha/v1/createIdea"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| idea | OBJECT Properties \{STRING(id), STRING(name), STRING(reference\_number), INTEGER(score), DATE\_TIME(created\_at), DATE\_TIME(updated\_at), STRING(product\_id), INTEGER(votes), INTEGER(initial\_votes), DATE\_TIME(status\_changed\_at), \{STRING(id), STRING(name), INTEGER(position), BOOLEAN(complete), STRING(color)}(workflow\_status), \{STRING(id), STRING(body), DATE\_TIME(created\_at), DATE\_TIME(updated\_at)}(description), STRING(visibility), STRING(url), STRING(resource), \{STRING(id), STRING(reference\_prefix), STRING(name), BOOLEAN(product\_line), DATE\_TIME(created\_at), STRING(workspace\_type), STRING(url)}(product), \{STRING(id), STRING(name), STRING(email), DATE\_TIME(created\_at), DATE\_TIME(updated\_at)}(created\_by\_user), INTEGER(endorsements\_count), INTEGER(comments\_count), \[\{STRING(status\_id), STRING(status\_name), DATE\_TIME(started\_at), DATE\_TIME(ended\_at)}]\(workflow\_status\_times), STRING(submitted\_idea\_portal\_record\_url)} | |
#### Output Example [#output-example-1]
```json
{
"idea" : {
"id" : "",
"name" : "",
"reference_number" : "",
"score" : 1,
"created_at" : "2021-01-01T00:00:00",
"updated_at" : "2021-01-01T00:00:00",
"product_id" : "",
"votes" : 1,
"initial_votes" : 1,
"status_changed_at" : "2021-01-01T00:00:00",
"workflow_status" : {
"id" : "",
"name" : "",
"position" : 1,
"complete" : false,
"color" : ""
},
"description" : {
"id" : "",
"body" : "",
"created_at" : "2021-01-01T00:00:00",
"updated_at" : "2021-01-01T00:00:00"
},
"visibility" : "",
"url" : "",
"resource" : "",
"product" : {
"id" : "",
"reference_prefix" : "",
"name" : "",
"product_line" : false,
"created_at" : "2021-01-01T00:00:00",
"workspace_type" : "",
"url" : ""
},
"created_by_user" : {
"id" : "",
"name" : "",
"email" : "",
"created_at" : "2021-01-01T00:00:00",
"updated_at" : "2021-01-01T00:00:00"
},
"endorsements_count" : 1,
"comments_count" : 1,
"workflow_status_times" : [ {
"status_id" : "",
"status_name" : "",
"started_at" : "2021-01-01T00:00:00",
"ended_at" : "2021-01-01T00:00:00"
} ],
"submitted_idea_portal_record_url" : ""
}
}
```
#### Find product ID and release ID [#find-product-id-and-release-id-1]
To find the Product ID, click [here](/reference/components/aha_v1#how-to-find-the-product-id).
To find the Release ID, click [here](/reference/components/aha_v1#how-to-find-the-release-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Release ID [#how-to-find-the-release-id]
The Release ID (also known as the Reference Number) can be found in the Aha! UI or via the API.
#### In the Aha! UI [#in-the-aha-ui]
* **Release Detail View**: Open a specific release. The Reference Number (e.g., `APP-R-1`) is displayed in the header or in the URL.
* **Gantt Views**: **Releases** → **Gantt**. The Reference Number is shown in its own column.
* **Search**: Use the search bar (or press `/`) and type the release name. The Reference Number (e.g., `APP-R-1`) will appear in the results.
#### Via API [#via-api]
* Use the `GET /products/{product_id}/releases` endpoint.
* List releases within a product to retrieve their IDs.
### How to find the Product ID [#how-to-find-the-product-id]
The Product ID is a unique numeric value that can be found in the URL or via the API.
#### Via API [#via-api-1]
* Use the `GET /products` endpoint to retrieve a list of all products and their numeric IDs.
#### Via Search [#via-search]
* Press `/` to open the search modal. Recently viewed products will be listed with their IDs.
# ByteChef Reference: Ahrefs
URL: /reference/components/ahrefs_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/ahrefs_v1.mdx
Ahrefs is a comprehensive suite of SEO (Search Engine Optimization) tools used by digital marketers and businesses to improve their website's visibility in search engine results.
Categories: Analytics
Type: ahrefs/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Actions [#actions]
### Get Metrics [#get-metrics]
Name: getMetrics
`Returns metrics from target.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :--------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: | :------: |
| target | Target | STRING | The target of the search: a domain or a URL. | true |
| date | Date | STRING | A date to report metrics on in YYYY-MM-DD format. | true |
| volume\_mode | Volume Mode | STRING Options monthly , average | The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value. | false |
| protocol | Protocol | STRING Options both , http , https | The protocol of your target | false |
| output | Output | STRING Options json , csv , xml , php | The output format. | false |
| mode | Mode | STRING Options exact , prefix , domain , subdomains | The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Metrics",
"name" : "getMetrics",
"parameters" : {
"target" : "",
"date" : "",
"volume_mode" : "",
"protocol" : "",
"output" : "",
"mode" : ""
},
"type" : "ahrefs/v1/getMetrics"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| metrics | OBJECT Properties \{INTEGER(org\_keywords), INTEGER(paid\_keywords), INTEGER(org\_keywords\_1\_3), INTEGER(org\_traffic), INTEGER(org\_cost), INTEGER(paid\_traffic), INTEGER(paid\_cost), INTEGER(paid\_pages)} | |
#### Output Example [#output-example]
```json
{
"metrics" : {
"org_keywords" : 1,
"paid_keywords" : 1,
"org_keywords_1_3" : 1,
"org_traffic" : 1,
"org_cost" : 1,
"paid_traffic" : 1,
"paid_cost" : 1,
"paid_pages" : 1
}
}
```
### Get Page Content [#get-page-content]
Name: getPageContent
`Returns the content of a page.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: | :------: |
| target\_url | Target URL | STRING | The URL of the page to retrieve content for. | true |
| project\_id | Project ID | STRING | The unique identifier of the project. Only projects with verified ownership are supported. | true |
| select | Select | STRING Options crawl\_datetime , page\_text , raw\_html , rendered\_html | A comma-separated list of columns to return. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Page Content",
"name" : "getPageContent",
"parameters" : {
"target_url" : "",
"project_id" : "",
"select" : ""
},
"type" : "ahrefs/v1/getPageContent"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------: | :---------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| page-content | OBJECT Properties \{STRING(crawl\_datetime), STRING(page\_text), STRING(raw\_html), STRING(rendered\_html)} | |
#### Output Example [#output-example-1]
```json
{
"page-content" : {
"crawl_datetime" : "",
"page_text" : "",
"raw_html" : "",
"rendered_html" : ""
}
}
```
### Get Subscription Information [#get-subscription-information]
Name: getSubscriptionInfo
`Returns user subscription information.`
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Subscription Information",
"name" : "getSubscriptionInfo",
"type" : "ahrefs/v1/getSubscriptionInfo"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :----------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| limits\_and\_usage | OBJECT Properties \{STRING(subscription), STRING(usage\_reset\_date), INTEGER(units\_limit\_workspace), INTEGER(units\_usage\_workspace), INTEGER(units\_limit\_api\_key), INTEGER(units\_usage\_api\_key), STRING(api\_key\_expiration\_date)} | |
#### Output Example [#output-example-2]
```json
{
"limits_and_usage" : {
"subscription" : "",
"usage_reset_date" : "",
"units_limit_workspace" : 1,
"units_usage_workspace" : 1,
"units_limit_api_key" : 1,
"units_usage_api_key" : 1,
"api_key_expiration_date" : ""
}
}
```
# ByteChef Reference: AI Agent
URL: /reference/components/ai-agent_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/ai-agent_v1.mdx
With the AI Agent, you can chat with the AI agent.
Categories: Artificial Intelligence
Type: aiAgent/v1
## Actions [#actions]
### Chat [#chat]
Name: chat
`Chat with the AI agent.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------: | :------: |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Chat",
"name" : "chat",
"parameters" : {
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
}
},
"type" : "aiAgent/v1/chat"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Chat (stream) [#chat-stream]
Name: streamChat
`Chat with the AI agent and stream the response.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------: | :------: |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Chat (stream)",
"name" : "streamChat",
"parameters" : {
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ]
},
"type" : "aiAgent/v1/streamChat"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Realtime Chat [#realtime-chat]
Name: realtimeChat
`Streaming LLM turn handler. Consumes finalized user turns from the inbound WebSocket and emits assistant tokens to the outbound channel, supporting tool calls and conversation memory. Designed for voice pipelines where this action sits between an STT and a TTS task.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-----: | :-------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | Model name override for the cluster element. If omitted, the model cluster element's default is used. | false |
| systemPrompt | System Prompt | STRING | The system prompt that defines the agent's behavior and personality. | false |
| threadId | Thread ID | STRING | Chat memory thread id. Defaults to the call's $\{callSid} when omitted (referenced via the embedded sub-workflow's inputs). | false |
| maxTokens | Max Tokens | INTEGER | Maximum tokens per assistant response. | false |
| temperature | Temperature | NUMBER | Sampling temperature for the assistant response. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Realtime Chat",
"name" : "realtimeChat",
"parameters" : {
"model" : "",
"systemPrompt" : "",
"threadId" : "",
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiAgent/v1/realtimeChat"
}
```
#### Output [#output-2]
This action does not produce any output.
# ByteChef Reference: AI Image
URL: /reference/components/ai-image_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/ai-image_v1.mdx
AI Helper component for image analysis and generation.
Categories: Artificial Intelligence
Type: aiImage/v1
## Actions [#actions]
### Generate Image [#generate-image]
Name: generateImage
`AI generate an image that you prompt.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------------: | :-----------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | ID of the model to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| prompt | Prompt | STRING | Write your prompt for generating an image. | true |
| n | Number of Responses | INTEGER | The number of images to generate. Must be between 1 and 10. For dall-e-3, only n=1 is supported.. | false |
| size | Size | STRING Options DALL\_E\_2\_256x256 , DALL\_E\_2\_512x512 , \_1024x1024 , DALL\_E\_3\_1792x1024 , DALL\_E\_3\_1024x1792 | The size of the generated images. | true |
| height | Height | INTEGER | Height of the image to generate, in pixels, in an increment divisible by 64. Engine-specific dimension validation applies. | true |
| width | Width | INTEGER | Width of the image to generate, in pixels, in an increment divisible by 64. Engine-specific dimension validation applies. | true |
| responseFormat | Response format | STRING Options URL , B64\_JSON | The format in which the generated images are returned. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Generate Image",
"name" : "generateImage",
"parameters" : {
"provider" : "",
"model" : "",
"prompt" : "",
"n" : 1,
"size" : "",
"height" : 1,
"width" : 1,
"responseFormat" : ""
},
"type" : "aiImage/v1/generateImage"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :-----: | :----: | :-----------------------------------------: |
| url | STRING | URL of the generated image. |
| b64Json | STRING | Base64 encoded JSON of the generated image. |
#### Output Example [#output-example]
```json
{
"url" : "",
"b64Json" : ""
}
```
# ByteChef Reference: AI Text
URL: /reference/components/ai-text_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/ai-text_v1.mdx
AI Helper component for text analysis and generation.
Categories: Artificial Intelligence
Type: aiText/v1
## Actions [#actions]
### Classify Text [#classify-text]
Name: classifyText
`AI reads, analyzes and classifies your text into one of defined categories.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | The model name to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| model | URL | STRING | Url of the inference endpoint. | true |
| text | Text | STRING | The text that is to be classified. | true |
| categories | Categories | ARRAY Items \[STRING] | A list of categories that the model can choose from. | true |
| examples | Examples | OBJECT Properties \{} | You can classify a few samples, to guide your model on how to classify the real data. | false |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Classify Text",
"name" : "classifyText",
"parameters" : {
"provider" : "",
"model" : "",
"text" : "",
"categories" : [ "" ],
"examples" : { },
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiText/v1/classifyText"
}
```
#### Output [#output]
***Sample Output:***
`sample category`
Type: STRING
### Extract Data [#extract-data]
Name: extractData
`Uses AI to pull specific structured information from unstructured text content.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | The model name to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| model | URL | STRING | Url of the inference endpoint. | true |
| text | Text | STRING | The text content to extract data from. | true |
| responseSchema | Response Schema | STRING | Define desired structure for the structured data response. | true |
| additionalContext | Additional Context | STRING | Extra information to guide the extraction process. | false |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Extract Data",
"name" : "extractData",
"parameters" : {
"provider" : "",
"model" : "",
"text" : "",
"responseSchema" : "",
"additionalContext" : "",
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiText/v1/extractData"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Mask [#mask]
Name: mask
`Uses AI to detect and redact sensitive content from text.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----------------: | :----------------: | :------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | The model name to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| model | URL | STRING | Url of the inference endpoint. | true |
| text | Text | STRING | The text to process. | true |
| sensitiveKeywords | Sensitive Keywords | ARRAY Items \[STRING] | Words or phrases to detect and redact. | false |
| piiDetection | PII Detection | ARRAY Items \[STRING] | Detect personally identifiable information (email, phone, SSN, credit card, IP address). | false |
| customRegexPatterns | Custom Patterns | ARRAY Items \[STRING] | Custom patterns to detect and redact. | false |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Mask",
"name" : "mask",
"parameters" : {
"provider" : "",
"model" : "",
"text" : "",
"sensitiveKeywords" : [ "" ],
"piiDetection" : [ "" ],
"customRegexPatterns" : [ "" ],
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiText/v1/mask"
}
```
#### Output [#output-2]
***Sample Output:***
`{text=Hello, my name is [REDACTED_1] and my email is [EMAIL_1]., maskMap={[REDACTED_1]=John Doe, [EMAIL_1]=john@example.com}}`
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :-----: | :-------------------------------------------------------------: | :----------------------------------------------: |
| text | STRING | The text with sensitive content redacted. |
| maskMap | OBJECT Properties \{} | Mapping of mask tokens to their original values. |
#### Output Example [#output-example]
```json
{
"text" : "",
"maskMap" : { }
}
```
### Unmask [#unmask]
Name: unmask
`Uses AI and a map of masking entities to unmask the text.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | The model name to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| model | URL | STRING | Url of the inference endpoint. | true |
| text | Text | STRING | The text to process. | true |
| maskMap | Masked map | OBJECT Properties \{} | Map of masked entities to replace with values. | false |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Unmask",
"name" : "unmask",
"parameters" : {
"provider" : "",
"model" : "",
"text" : "",
"maskMap" : { },
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiText/v1/unmask"
}
```
#### Output [#output-3]
***Sample Output:***
`Hello, my name is [REDACTED] and my email is [EMAIL].`
Type: STRING
### Sentiment Analysis [#sentiment-analysis]
Name: sentimentAnalysis
`The sentiment of the text is typically categorized as POSITIVE, NEGATIVE, or NEUTRAL.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | The model name to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| model | URL | STRING | Url of the inference endpoint. | true |
| text | Text | STRING | The text that is to be classified. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Sentiment Analysis",
"name" : "sentimentAnalysis",
"parameters" : {
"provider" : "",
"model" : "",
"text" : "",
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiText/v1/sentimentAnalysis"
}
```
#### Output [#output-4]
***Sample Output:***
`sample category`
Type: STRING
### Score [#score]
Name: score
`Scores the text based on several criteria`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | The model name to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| model | URL | STRING | Url of the inference endpoint. | true |
| text | Text | STRING | The text that is to be scored. | true |
| criteria | Criteria | ARRAY Items \[\{STRING(criterion), NUMBER(lowestScore), NUMBER(highestScore), BOOLEAN(isDecimal)}] | | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Score",
"name" : "score",
"parameters" : {
"provider" : "",
"model" : "",
"text" : "",
"criteria" : [ {
"criterion" : "",
"lowestScore" : 0.0,
"highestScore" : 0.0,
"isDecimal" : false
} ],
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiText/v1/score"
}
```
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Summarize Text [#summarize-text]
Name: summarizeText
`AI reads, analyzes and summarizes your text into a shorter format.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---------: | :-----------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | The model name to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| model | URL | STRING | Url of the inference endpoint. | true |
| text | Text | STRING | The text that is to be summarized. | true |
| format | Format | STRING Options STRUCTURED\_SUMMARY , BRIEF\_TITLE , CONCISE\_SENTENCE , BULLETED\_LIST , CUSTOM\_PROMPT | In what format do you wish the text summarized? | true |
| prompt | Custom Prompt | STRING | Write your prompt for summarizing text. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Summarize Text",
"name" : "summarizeText",
"parameters" : {
"provider" : "",
"model" : "",
"text" : "",
"format" : "",
"prompt" : "",
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiText/v1/summarizeText"
}
```
#### Output [#output-6]
***Sample Output:***
`sample summarized text`
Type: STRING
### Similarity Search [#similarity-search]
Name: similaritySearch
`Search through a large text and find the parts that are the most relevant. Returns a JSON list.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :---------: | :---------------: | :------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | The model name to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| model | URL | STRING | Url of the inference endpoint. | true |
| text | Text | STRING | The text that is to be queried. | true |
| query | Query | STRING | The term you are looking for in the text. | true |
| numResults | Number of results | INTEGER | Number of relevant text sections that you want returned. | true |
| chunkSize | Chunk Size | INTEGER | Number of words around each relevant part of the result. | false |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Similarity Search",
"name" : "similaritySearch",
"parameters" : {
"provider" : "",
"model" : "",
"text" : "",
"query" : "",
"numResults" : 1,
"chunkSize" : 1,
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiText/v1/similaritySearch"
}
```
#### Output [#output-7]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Text Generation [#text-generation]
Name: textGeneration
`AI generates text based on the given prompt.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| provider | Provider | STRING | | true |
| model | Model | STRING Depends On provider | The model name to use. | true |
| model | Model | STRING | ID of the model to use. | true |
| model | URL | STRING | Url of the inference endpoint. | true |
| prompt | Prompt | STRING | Write your prompt for generating text. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Text Generation",
"name" : "textGeneration",
"parameters" : {
"provider" : "",
"model" : "",
"prompt" : "",
"maxTokens" : 1,
"temperature" : 0.0
},
"type" : "aiText/v1/textGeneration"
}
```
#### Output [#output-8]
***Sample Output:***
`sample generated text.`
Type: STRING
# ByteChef Reference: AI Agent Utils
URL: /reference/components/ai_agent-utils_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/ai_agent-utils_v1.mdx
AI Agent Utils brings Claude Code-inspired tools and agent skills.
Categories: Artificial Intelligence
Type: aiAgentUtils/v1
## Actions [#actions]
### Append Files to AI Skill [#append-files-to-ai-skill]
Name: appendFilesToAiSkill
`Appends new files to an existing AI skill archive.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :--------------: | :---------------------------------------------------------------------------------------: | :----------------------------------------: | :------: |
| id | ID | INTEGER | The ID of the AI skill to append files to. | true |
| additionalFiles | Additional Files | ARRAY Items \[\{STRING(path), STRING(content)}] | Files to add to the skill archive. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Append Files to AI Skill",
"name" : "appendFilesToAiSkill",
"parameters" : {
"id" : 1,
"additionalFiles" : [ {
"path" : "",
"content" : ""
} ]
},
"type" : "aiAgentUtils/v1/appendFilesToAiSkill"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :---------: | :-----: | :---------: |
| id | INTEGER | |
| name | STRING | |
| description | STRING | |
#### Output Example [#output-example]
```json
{
"id" : 1,
"name" : "",
"description" : ""
}
```
### Create AI Skill [#create-ai-skill]
Name: createAiSkill
`Creates a new AI skill from instructions.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-------------: | :--------------: | :---------------------------------------------------------------------------------------: | :----------------------------------------------------------------: | :------: |
| name | Name | STRING | The name of the AI skill. | true |
| description | Description | STRING | An optional description of the AI skill. | false |
| instructions | Instructions | STRING | The instructions that define the main skill's behavior (SKILL.md). | true |
| additionalFiles | Additional Files | ARRAY Items \[\{STRING(path), STRING(content)}] | Optional extra files to include in the skill archive. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create AI Skill",
"name" : "createAiSkill",
"parameters" : {
"name" : "",
"description" : "",
"instructions" : "",
"additionalFiles" : [ {
"path" : "",
"content" : ""
} ]
},
"type" : "aiAgentUtils/v1/createAiSkill"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :---------: | :-----: | :---------: |
| id | INTEGER | |
| name | STRING | |
| description | STRING | |
#### Output Example [#output-example-1]
```json
{
"id" : 1,
"name" : "",
"description" : ""
}
```
### Delete AI Skill [#delete-ai-skill]
Name: deleteAiSkill
`Deletes an existing AI skill by its ID.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :--: | :---: | :-----: | :-------------------------------: | :------: |
| id | ID | INTEGER | The ID of the AI skill to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete AI Skill",
"name" : "deleteAiSkill",
"parameters" : {
"id" : 1
},
"type" : "aiAgentUtils/v1/deleteAiSkill"
}
```
#### Output [#output-2]
This action does not produce any output.
### Remove File from AI Skill [#remove-file-from-ai-skill]
Name: removeFileFromAiSkill
`Removes a single file from an existing AI skill archive.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--: | :---: | :-----: | :------------------------------------------------------: | :------: |
| id | ID | INTEGER | The ID of the AI skill to remove the file from. | true |
| path | Path | STRING | The path of the file to remove within the skill archive. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Remove File from AI Skill",
"name" : "removeFileFromAiSkill",
"parameters" : {
"id" : 1,
"path" : ""
},
"type" : "aiAgentUtils/v1/removeFileFromAiSkill"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------: | :-----: | :---------: |
| id | INTEGER | |
| name | STRING | |
| description | STRING | |
#### Output Example [#output-example-2]
```json
{
"id" : 1,
"name" : "",
"description" : ""
}
```
### Update AI Skill [#update-ai-skill]
Name: updateAiSkill
`Updates an AI skill. Provide name/description to rename the skill, or files to update archive contents.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :---------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------: | :------: |
| id | ID | INTEGER | The ID of the AI skill to update. | true |
| name | Name | STRING | New name for the skill. Required when updating name or description. | false |
| description | Description | STRING | New description for the skill. | false |
| files | Files | ARRAY Items \[\{STRING(path), STRING(content)}] | File contents to update inside the skill archive. Each entry replaces the file at the given path | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Update AI Skill",
"name" : "updateAiSkill",
"parameters" : {
"id" : 1,
"name" : "",
"description" : "",
"files" : [ {
"path" : "",
"content" : ""
} ]
},
"type" : "aiAgentUtils/v1/updateAiSkill"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :---------: | :-----: | :---------: |
| id | INTEGER | |
| name | STRING | |
| description | STRING | |
#### Output Example [#output-example-3]
```json
{
"id" : 1,
"name" : "",
"description" : ""
}
```
# ByteChef Reference: Airtable
URL: /reference/components/airtable_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/airtable_v1.mdx
Airtable is a user-friendly and flexible cloud-based database management tool.
Categories: Productivity and Collaboration
Type: airtable/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
Connect Airtable to ByteChef using a Personal Access Token (PAT).
### Create a Personal Access Token in Airtable [#create-a-personal-access-token-in-airtable]
1. Log in to your Airtable account.
2. Open the Personal access tokens page: [https://airtable.com/create/tokens](https://airtable.com/create/tokens)
3. Click **+Create token**.
4. Enter a descriptive Name for your token (for example, "ByteChef Token").
5. Add the required Scopes:
* `data.records:read`
* `data.records:write`
* `schema.bases:read`
6. Set Access for the token:
* Choose one or more specific bases, an entire workspace, or all bases you own. For least privilege, select only the bases ByteChef needs to access.
7. Click **Create token** and copy the token shown.
## Actions [#actions]
### Create Record [#create-record]
Name: createRecord
`Adds a record into an Airtable table.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :--------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| baseId | Base ID | STRING | ID of the base where table is located. | true |
| tableId | Table ID | STRING Depends On baseId | The table where the record will be created. | true |
| fields | | DYNAMIC\_PROPERTIES Depends On baseId, tableId | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Record",
"name" : "createRecord",
"parameters" : {
"baseId" : "",
"tableId" : "",
"fields" : { }
},
"type" : "airtable/v1/createRecord"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Base ID and Table ID [#find-base-id-and-table-id]
To find the Base ID, click [here](/reference/components/airtable_v1#how-to-find-the-base-id).
To find the Table ID, click [here](/reference/components/airtable_v1#how-to-find-the-table-id).
### Delete Record [#delete-record]
Name: deleteRecord
`Deletes a single record from a table.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :-------------------------------------------------------------------------: | :------------------------------------------: | :------: |
| baseId | Base ID | STRING | ID of the base where table is located. | true |
| tableId | Table ID | STRING Depends On baseId | ID of the table where the record is located. | true |
| recordId | Record ID | STRING Depends On tableId, baseId | ID of the record that will be deleted. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Record",
"name" : "deleteRecord",
"parameters" : {
"baseId" : "",
"tableId" : "",
"recordId" : ""
},
"type" : "airtable/v1/deleteRecord"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :----------------------------------: |
| id | STRING | The ID of the deleted record. |
| deleted | BOOLEAN Options true , false | Indicates if the record was deleted. |
#### Output Example [#output-example]
```json
{
"id" : "",
"deleted" : false
}
```
#### Find Base ID, Table ID and Record ID [#find-base-id-table-id-and-record-id]
To find the Base ID, click [here](/reference/components/airtable_v1#how-to-find-the-base-id).
To find the Table ID, click [here](/reference/components/airtable_v1#how-to-find-the-table-id).
To find the Record ID, click [here](/reference/components/airtable_v1#how-to-find-record-id).
### Get Record [#get-record]
Name: getRecord
`Retrieves a single record.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :-------------------------------------------------------------------------: | :------------------------------------------: | :------: |
| baseId | Base ID | STRING | ID of the base where table is located. | true |
| tableId | Table ID | STRING Depends On baseId | ID of the table where the record is located. | true |
| recordId | Record ID | STRING Depends On tableId, baseId | ID of the record that will be retrieved. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Record",
"name" : "getRecord",
"parameters" : {
"baseId" : "",
"tableId" : "",
"recordId" : ""
},
"type" : "airtable/v1/getRecord"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Base ID, Table ID and Record ID [#find-base-id-table-id-and-record-id-1]
To find the Base ID, click [here](/reference/components/airtable_v1#how-to-find-the-base-id).
To find the Table ID, click [here](/reference/components/airtable_v1#how-to-find-the-table-id).
To find the Record ID, click [here](/reference/components/airtable_v1#how-to-find-record-id).
### Update Record [#update-record]
Name: updateRecord
`Update an existing record in an Airtable table.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :------: | :--------------------------------------------------------------------------------------: | :------------------------------------------: | :------: |
| baseId | Base ID | STRING | ID of the base where table is located. | true |
| tableId | Table ID | STRING Depends On baseId | ID of the table where the record is located. | true |
| recordId | Row ID | STRING Depends On baseId, tableId | ID of the record that will be retrieved. | true |
| fields | | DYNAMIC\_PROPERTIES Depends On baseId, tableId | | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Record",
"name" : "updateRecord",
"parameters" : {
"baseId" : "",
"tableId" : "",
"recordId" : "",
"fields" : { }
},
"type" : "airtable/v1/updateRecord"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Base ID, Table ID and Record ID [#find-base-id-table-id-and-record-id-2]
To find the Base ID, click [here](/reference/components/airtable_v1#how-to-find-the-base-id).
To find the Table ID, click [here](/reference/components/airtable_v1#how-to-find-the-table-id).
To find the Record ID, click [here](/reference/components/airtable_v1#how-to-find-record-id).
## Triggers [#triggers]
### New Record [#new-record]
Name: newRecord
`Trigger off when a new entry is added to the table that you have selected.`
Type: POLLING
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| baseId | Base ID | STRING | ID of the base which contains the table that you want to monitor. | true |
| tableId | Table ID | STRING Depends On baseId | ID of the table to monitor for new records. | true |
| triggerField | Trigger Field | STRING | It is essential to have a field for Created Time or Last Modified Time in your schema since this field is used to sort records, and the trigger will not function correctly without it. Therefore, if you don't have such a field in your schema, please create one. | true |
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Record",
"name" : "newRecord",
"parameters" : {
"baseId" : "",
"tableId" : "",
"triggerField" : ""
},
"type" : "airtable/v1/newRecord"
}
```
#### Find Base ID and Table ID [#find-base-id-and-table-id-1]
To find the Base ID, click [here](/reference/components/airtable_v1#how-to-find-the-base-id).
To find the Table ID, click [here](/reference/components/airtable_v1#how-to-find-the-table-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Base ID [#how-to-find-the-base-id]
1. Open your Airtable home screen.
2. Open the base with the base ID you want to find.
3. After opening your base, the URL in your browser's address bar will display your base ID, which looks similar to: `https://airtable.com/appeqX9XTkHZNfSbn/pagIk60ZUF9P5UP72/`
4. Your base ID starts with **app** and ends before the next forward slash `/`.
### How to find the Table ID [#how-to-find-the-table-id]
1. Open your Airtable home screen.
2. Open the base hosting the table with the table ID you want to find.
3. After opening your table, the URL in your browser's address bar will display a URL, which looks similar to: `https://airtable.com/appeqX9XTkHZNfSbn/tbl99vKzVh7NwLwm8/`
4. Your table ID starts with **tbl** and ends before the next forward slash `/`.
### How to find Record ID [#how-to-find-record-id]
1. Open your Airtable home screen.
2. Open the base with the record ID you want to find.
3. Expand the record with the ID you want to find.
4. After expanding your record, the URL in your browser's address bar will display your record ID, which looks similar to: `https://airtable.com/appSHwtnmVD5TiqSy/tblEzvkZks1VI3uyS/viwE3o43HKcqz6hFE/recbtRHd9o7vKZAQr?`
5. Your record ID starts with **rec** and ends before the question mark `?`.
# ByteChef Reference: AITable.ai
URL: /reference/components/aitable_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/aitable_v1.mdx
AITable is an AI-powered platform that enables users to create interactive and dynamic tables for data visualization and analysis without requiring coding skills.
Categories: Productivity and Collaboration
Type: aitable/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
Connect AITable to ByteChef using a Bearer Token (API Token).
### Create an AITable API Token [#create-an-aitable-api-token]
1. Sign in to AITable.
2. Click your profile avatar in the lower-left corner and open **My Settings**.
3. Go to the **Developer** tab.
4. Click the icon to generate a new **API Token**.
5. Copy the token and store it securely.
### References [#references]
* AITable Quick Start and API Token: [https://developers.aitable.ai/api/quick-start/](https://developers.aitable.ai/api/quick-start/)
## Actions [#actions]
### Create Record [#create-record]
Name: createRecord
`Creates a new record in datasheet.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----------------------------------------------------------------------------------: | :------------------: | :------: |
| spaceId | Space ID | STRING | | false |
| datasheetId | Datasheet ID | STRING Depends On spaceId | AITable Datasheet ID | true |
| fields | | DYNAMIC\_PROPERTIES Depends On datasheetId | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Record",
"name" : "createRecord",
"parameters" : {
"spaceId" : "",
"datasheetId" : "",
"fields" : { }
},
"type" : "aitable/v1/createRecord"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Space ID and Datasheet ID [#find-space-id-and-datasheet-id]
To find the Space ID, click [here](/reference/components/aitable_v1#how-to-find-the-space-id).
To find the Datasheet ID, click [here](/reference/components/aitable_v1#how-to-find-the-datasheet-id).
### Find Records [#find-records]
Name: findRecords
`Find records in datasheet`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :-----------------------------------------------------------------: | :--------------------------------------------------------------: | :------: |
| spaceId | Space ID | STRING | | false |
| datasheetId | Datasheet ID | STRING Depends On spaceId | AITable Datasheet ID | true |
| fields | Field Names | ARRAY Items \[STRING] | The returned record results are limited to the specified fields. | false |
| recordIds | Record IDs | ARRAY Items \[STRING] | The IDs of the records to find. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Find Records",
"name" : "findRecords",
"parameters" : {
"spaceId" : "",
"datasheetId" : "",
"fields" : [ "" ],
"recordIds" : [ "" ]
},
"type" : "aitable/v1/findRecords"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Space ID, Datasheet ID and Record ID [#find-space-id-datasheet-id-and-record-id]
To find the Space ID, click [here](/reference/components/aitable_v1#how-to-find-the-space-id).
To find the Datasheet ID, click [here](/reference/components/aitable_v1#how-to-find-the-datasheet-id).
To find the Record ID, click [here](/reference/components/aitable_v1#how-to-find-the-record-id).
### Update Record [#update-record]
Name: updateRecord
`Update record in datasheet`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----------------------------------------------------------------------------------: | :-------------------------: | :------: |
| spaceId | Space ID | STRING | | false |
| datasheetId | Datasheet ID | STRING Depends On spaceId | AITable Datasheet ID | true |
| recordId | Record ID | STRING | ID of the record to update. | true |
| fields | | DYNAMIC\_PROPERTIES Depends On datasheetId | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update Record",
"name" : "updateRecord",
"parameters" : {
"spaceId" : "",
"datasheetId" : "",
"recordId" : "",
"fields" : { }
},
"type" : "aitable/v1/updateRecord"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Space ID, Datasheet ID and Record ID [#find-space-id-datasheet-id-and-record-id-1]
To find the Space ID, click [here](/reference/components/aitable_v1#how-to-find-the-space-id).
To find the Datasheet ID, click [here](/reference/components/aitable_v1#how-to-find-the-datasheet-id).
To find the Record ID, click [here](/reference/components/aitable_v1#how-to-find-the-record-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Space ID [#how-to-find-the-space-id]
1. Open the AITable management overview page: [https://aitable.ai/management/overview](https://aitable.ai/management/overview).
2. In the **Overview** section, locate the details of your space.
3. Your **Space ID** (a string usually starting with `spc`) will be displayed there and can be copied directly.
### How to find the Datasheet ID [#how-to-find-the-datasheet-id]
1. Open the datasheet in your browser.
2. Look at the URL in the address bar.
3. Find the part of the URL that starts with `dst` - this value is the `datasheetId` of the opened datasheet.
### How to find the Record ID [#how-to-find-the-record-id]
1. Open the datasheet that contains the record.
2. Expand (open) the row for the record whose ID you need.
3. Look at the URL in the address bar and find the part that starts with `rec` - this value is the `recordId` for that record.
# ByteChef Reference: Amazon Bedrock
URL: /reference/components/amazon-bedrock_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/amazon-bedrock_v1.mdx
Amazon Bedrock is a fully managed service that offers a choice of high-performing foundation models (FMs) from leading AI companies.
Categories: Artificial Intelligence
Type: amazonBedrock/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| accessKeyId | Access Key ID | STRING | | true |
| secretAccessKey | Secret Access Key | STRING | | true |
| region | | STRING Options af-south-1 , ap-east-1 , ap-east-2 , ap-northeast-1 , ap-northeast-2 , ap-northeast-3 , ap-south-1 , ap-south-2 , ap-southeast-1 , ap-southeast-2 , ap-southeast-3 , ap-southeast-4 , ap-southeast-5 , ap-southeast-6 , ap-southeast-7 , aws-cn-global , aws-global , aws-iso-b-global , aws-iso-e-global , aws-iso-f-global , aws-iso-global , aws-us-gov-global , ca-central-1 , ca-west-1 , cn-north-1 , cn-northwest-1 , eu-central-1 , eu-central-2 , eu-isoe-west-1 , eu-north-1 , eu-south-1 , eu-south-2 , eu-west-1 , eu-west-2 , eu-west-3 , eusc-de-east-1 , il-central-1 , me-central-1 , me-south-1 , mx-central-1 , sa-east-1 , us-east-1 , us-east-2 , us-gov-east-1 , us-gov-west-1 , us-iso-east-1 , us-iso-west-1 , us-isob-east-1 , us-isob-west-1 , us-isof-east-1 , us-isof-south-1 , us-west-1 , us-west-2 | | true |
## Connection Setup [#connection-setup]
1. Login into your **Amazon AWS console** and click on your profile name.
2. Click on **Security credentials**.
3. Here you will see all necessary credentials.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"temperature" : 0.0,
"topP" : 0.0
},
"type" : "amazonBedrock/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Amplitude
URL: /reference/components/amplitude_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/amplitude_v1.mdx
Build better products by turning your user data into meaningful insights, using Amplitude's digital analytics platform and experimentation tools.
Categories: Analytics
Type: amplitude/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| api\_key | API Key | STRING | The API key for the Amplitude project | true |
| region | Region | STRING Options api2 , api.eu | Environment region you wish to access the API in. | true |
## Connection Setup [#connection-setup]
### Find API Key [#find-api-key]
1. Navigate to your dashboard.
2. Click on **Settings**.
3. Click on **Organization settings**.
4. Click on **Projects**.
5. Select project you wish to connect to.
6. Click on **Show**.
7. Here you can see API key.
## Actions [#actions]
### Create Attribution Event [#create-attribution-event]
Name: createAttributionEvent
`Creates attribution event using Attribution API.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------: | :------: |
| event\_type | Event Type | STRING | The event info. Prefix with brackets \[YOUR COMPANY]. | true |
| platform | Platform | STRING Options ios , android | Platform which the event will occur on. | true |
| identifier | Identifier | OBJECT Properties \{STRING(key), STRING(value)} | Identifier of the platform. | true |
| user\_properties | User Properties | ARRAY Items \[\{STRING(key), STRING(value)}(\$property)] | A dictionary of attribution properties prefixed with brackets \[YOUR COMPANY]. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Attribution Event",
"name" : "createAttributionEvent",
"parameters" : {
"event_type" : "",
"platform" : "",
"identifier" : {
"key" : "",
"value" : ""
},
"user_properties" : [ {
"key" : "",
"value" : ""
} ]
},
"type" : "amplitude/v1/createAttributionEvent"
}
```
#### Output [#output]
Type: STRING
### Create or Update User [#create-or-update-user]
Name: createOrUpdateUser
`Creates or updates user without sending an event.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--------------: | :--------------------: | :-----------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| id | ID | STRING Options user\_id , device\_id | Choose to create or update a user or a device. | true |
| device\_id | Device ID | STRING | A device specific identifier, such as the Identifier for Vendor (IDFV) on iOS. | true |
| user\_id | User ID | STRING | Unique user ID specified by you. If you send a request with a user ID that's not in the Amplitude system, new user will be created (e.g. email address). | true |
| user\_properties | User Properties | ARRAY Items \[\{STRING(key), STRING(value)}(\$property)] | A dictionary of attribution properties prefixed with brackets \[YOUR COMPANY]. | false |
| platform | Platform | STRING | The platform that's sending the data. | false |
| os\_name | Operating System Name | STRING | The mobile operating system or browser the user is on. | false |
| device\_brand | Device Brand | STRING | The device brand the user is on. | false |
| carrier | Carrier | STRING | The carrier of the device the user is on. | false |
| country | Country | STRING | The country the user is in. | false |
| city | City | STRING | The city the user is in. | false |
| dma | Designated Market Area | STRING | The Designated Market Area of the user. | false |
| language | Language | STRING | The language the user has set. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create or Update User",
"name" : "createOrUpdateUser",
"parameters" : {
"id" : "",
"device_id" : "",
"user_id" : "",
"user_properties" : [ {
"key" : "",
"value" : ""
} ],
"platform" : "",
"os_name" : "",
"device_brand" : "",
"carrier" : "",
"country" : "",
"city" : "",
"dma" : "",
"language" : ""
},
"type" : "amplitude/v1/createOrUpdateUser"
}
```
#### Output [#output-1]
Type: STRING
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Anthropic
URL: /reference/components/anthropic_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/anthropic_v1.mdx
Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.
Categories: Artificial Intelligence
Type: anthropic/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to [Claude Dashboard](https://platform.claude.com/dashboard).
2. Click on **Get API key**.
3. Click on **Create key**.
4. Chose the workspace you want to create an API key for.
5. Enter the name of your API key.
6. Click on **Add**.
7. Copy your API key.
8. Click on **Close**.
9. Done 🚀.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options claude-3-haiku-20240307 , claude-fable-5 , claude-haiku-4-5 , claude-haiku-4-5-20251001 , claude-mythos-5 , claude-mythos-preview , claude-opus-4-0 , claude-opus-4-1 , claude-opus-4-1-20250805 , claude-opus-4-20250514 , claude-opus-4-5 , claude-opus-4-5-20251101 , claude-opus-4-6 , claude-opus-4-7 , claude-opus-4-8 , claude-sonnet-4-0 , claude-sonnet-4-20250514 , claude-sonnet-4-5 , claude-sonnet-4-5-20250929 , claude-sonnet-4-6 | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| temperature | Temperature | NUMBER | Controls randomness: higher values make the output more random, lower values make it more focused and deterministic. Set either Temperature or Top P, not both. | false |
| topP | Top P | NUMBER | Nucleus sampling: the model considers tokens whose cumulative probability mass adds up to top\_p. Set either Temperature or Top P, not both. | false |
| topK | Top K | INTEGER | Specify the number of token choices the generative uses to generate the next token. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"maxTokens" : 1,
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"temperature" : 0.0,
"topP" : 0.0,
"topK" : 1,
"stop" : [ "" ]
},
"type" : "anthropic/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Ask (stream) [#ask-stream]
Name: streamAsk
`Ask anything you want and stream the response.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options claude-3-haiku-20240307 , claude-fable-5 , claude-haiku-4-5 , claude-haiku-4-5-20251001 , claude-mythos-5 , claude-mythos-preview , claude-opus-4-0 , claude-opus-4-1 , claude-opus-4-1-20250805 , claude-opus-4-20250514 , claude-opus-4-5 , claude-opus-4-5-20251101 , claude-opus-4-6 , claude-opus-4-7 , claude-opus-4-8 , claude-sonnet-4-0 , claude-sonnet-4-20250514 , claude-sonnet-4-5 , claude-sonnet-4-5-20250929 , claude-sonnet-4-6 | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| temperature | Temperature | NUMBER | Controls randomness: higher values make the output more random, lower values make it more focused and deterministic. Set either Temperature or Top P, not both. | false |
| topP | Top P | NUMBER | Nucleus sampling: the model considers tokens whose cumulative probability mass adds up to top\_p. Set either Temperature or Top P, not both. | false |
| topK | Top K | INTEGER | Specify the number of token choices the generative uses to generate the next token. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Ask (stream)",
"name" : "streamAsk",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"maxTokens" : 1,
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"temperature" : 0.0,
"topP" : 0.0,
"topK" : 1,
"stop" : [ "" ]
},
"type" : "anthropic/v1/streamAsk"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Apify
URL: /reference/components/apify_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/apify_v1.mdx
Apify is the largest ecosystem where developers build, deploy, and publish data extraction and web automation tools.
Categories: Marketing Automation
Type: apify/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
### Find Token [#find-token]
1. Navigate to your dashboard.
2. Click on **Settings**.
3. Click on **API & Integrations**.
4. Click **Create new token**.
5. Enter description.
6. Click on **Create**.
7. Click here to copy token.
## Actions [#actions]
### Get Last Run [#get-last-run]
Name: getLastRun
`Get Apify Actor last run.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :-----------------------------------: | :------: |
| actorId | Actor ID | STRING | ID of the actor that will be fetched. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Last Run",
"name" : "getLastRun",
"parameters" : {
"actorId" : ""
},
"type" : "apify/v1/getLastRun"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------: |
| data | OBJECT Properties \{STRING(id), STRING(actId), STRING(userId), STRING(actorTaskId), DATE\_TIME(startedAt), DATE\_TIME(finishedAt), STRING(status), STRING(statusMessage), BOOLEAN(isStatusMessageTerminal), \{STRING(origin), STRING(clientIp), STRING(userAgent), STRING(scheduleId), DATE\_TIME(scheduledAt)}(meta), \{NUMBER(apifyMarginPercentage), DATE\_TIME(createdAt), DATE\_TIME(startedAt), DATE\_TIME(notifiedAboutFutureChangeAt), DATE\_TIME(notifiedAboutChangeAt), STRING(reasonForChange), STRING(pricingModel), \{\{}(actorChargeEvents)}(pricingPerEvent), NUMBER(minimalMaxTotalChargeUsd)}(pricingInfo), \{INTEGER(inputBodyLen), INTEGER(migrationCount), INTEGER(rebootCount), INTEGER(restartCount), INTEGER(resurrectCount), NUMBER(memAvgBytes), NUMBER(memMaxBytes), NUMBER(memCurrentBytes), NUMBER(cpuAvgUsage), NUMBER(cpuMaxUsage), NUMBER(cpuCurrentUsage), NUMBER(netRxBytes), NUMBER(netTxBytes), INTEGER(durationMillis), NUMBER(runTimeSecs), INTEGER(metamorph), NUMBER(computeUnits)}(stats), \{}(chargedEventCounts), \{STRING(build), INTEGER(timeoutSecs), INTEGER(memoryMbytes), INTEGER(diskMbytes), INTEGER(maxItems), NUMBER(maxTotalChargeUsd)}(options), STRING(buildId), INTEGER(exitCode), STRING(generalAccess), STRING(defaultKeyValueStoreId), STRING(defaultDatasetId), STRING(defaultRequestQueueId), \{\{STRING(default)}(datasets), \{STRING(default)}(keyValueStores), \{STRING(default)}(requestQueues)}(storageIds), STRING(buildNumber), STRING(containerUrl), BOOLEAN(isContainerServerReady), STRING(gitBranchName), \{}(usage), NUMBER(usageTotalUsd), \{}(usageUsd), \[\{DATE\_TIME(createdAt), STRING(actorId), STRING(buildId), STRING(inputKey)}]\(metamorphs)} | Main run object containing execution details |
#### Output Example [#output-example]
```json
{
"data" : {
"id" : "",
"actId" : "",
"userId" : "",
"actorTaskId" : "",
"startedAt" : "2021-01-01T00:00:00",
"finishedAt" : "2021-01-01T00:00:00",
"status" : "",
"statusMessage" : "",
"isStatusMessageTerminal" : false,
"meta" : {
"origin" : "",
"clientIp" : "",
"userAgent" : "",
"scheduleId" : "",
"scheduledAt" : "2021-01-01T00:00:00"
},
"pricingInfo" : {
"apifyMarginPercentage" : 0.0,
"createdAt" : "2021-01-01T00:00:00",
"startedAt" : "2021-01-01T00:00:00",
"notifiedAboutFutureChangeAt" : "2021-01-01T00:00:00",
"notifiedAboutChangeAt" : "2021-01-01T00:00:00",
"reasonForChange" : "",
"pricingModel" : "",
"pricingPerEvent" : {
"actorChargeEvents" : { }
},
"minimalMaxTotalChargeUsd" : 0.0
},
"stats" : {
"inputBodyLen" : 1,
"migrationCount" : 1,
"rebootCount" : 1,
"restartCount" : 1,
"resurrectCount" : 1,
"memAvgBytes" : 0.0,
"memMaxBytes" : 0.0,
"memCurrentBytes" : 0.0,
"cpuAvgUsage" : 0.0,
"cpuMaxUsage" : 0.0,
"cpuCurrentUsage" : 0.0,
"netRxBytes" : 0.0,
"netTxBytes" : 0.0,
"durationMillis" : 1,
"runTimeSecs" : 0.0,
"metamorph" : 1,
"computeUnits" : 0.0
},
"chargedEventCounts" : { },
"options" : {
"build" : "",
"timeoutSecs" : 1,
"memoryMbytes" : 1,
"diskMbytes" : 1,
"maxItems" : 1,
"maxTotalChargeUsd" : 0.0
},
"buildId" : "",
"exitCode" : 1,
"generalAccess" : "",
"defaultKeyValueStoreId" : "",
"defaultDatasetId" : "",
"defaultRequestQueueId" : "",
"storageIds" : {
"datasets" : {
"default" : ""
},
"keyValueStores" : {
"default" : ""
},
"requestQueues" : {
"default" : ""
}
},
"buildNumber" : "",
"containerUrl" : "",
"isContainerServerReady" : false,
"gitBranchName" : "",
"usage" : { },
"usageTotalUsd" : 0.0,
"usageUsd" : { },
"metamorphs" : [ {
"createdAt" : "2021-01-01T00:00:00",
"actorId" : "",
"buildId" : "",
"inputKey" : ""
} ]
}
}
```
### Start Actor [#start-actor]
Name: startActor
`Starts an Apify Actor`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :-------------------------------------------------------------------------------------------: | :------: |
| actorId | Actor ID | STRING | ID of the actor that will be run. | true |
| body | Body | STRING | The JSON input to pass to the Actor \[you can get the JSON from a run in your Apify account]. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Start Actor",
"name" : "startActor",
"parameters" : {
"actorId" : "",
"body" : ""
},
"type" : "apify/v1/startActor"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------: |
| data | OBJECT Properties \{STRING(id), STRING(actId), STRING(userId), STRING(actorTaskId), STRING(startedAt), STRING(finishedAt), STRING(status), STRING(statusMessage), BOOLEAN(isStatusMessageTerminal), \{STRING(origin), STRING(clientIp), STRING(userAgent), STRING(scheduleId), STRING(scheduledAt)}(meta), \{NUMBER(apifyMarginPercentage), STRING(createdAt), STRING(startedAt), STRING(notifiedAboutFutureChangeAt), STRING(notifiedAboutChangeAt), STRING(reasonForChange), STRING(pricingModel), \{\{}(actorChargeEvents)}(pricingPerEvent), NUMBER(minimalMaxTotalChargeUsd)}(pricingInfo), \{INTEGER(inputBodyLen), INTEGER(migrationCount), INTEGER(rebootCount), INTEGER(restartCount), INTEGER(resurrectCount), NUMBER(memAvgBytes), NUMBER(memMaxBytes), NUMBER(memCurrentBytes), NUMBER(cpuAvgUsage), NUMBER(cpuMaxUsage), NUMBER(cpuCurrentUsage), NUMBER(netRxBytes), NUMBER(netTxBytes), INTEGER(durationMillis), NUMBER(runTimeSecs), INTEGER(metamorph), NUMBER(computeUnits)}(stats), \{INTEGER(actor-start), INTEGER(page-crawled), INTEGER(data-extracted)}(chargedEventCounts), \{STRING(build), INTEGER(timeoutSecs), INTEGER(memoryMbytes), INTEGER(diskMbytes), INTEGER(maxItems), NUMBER(maxTotalChargeUsd)}(options), STRING(buildId), INTEGER(exitCode), STRING(generalAccess), STRING(defaultKeyValueStoreId), STRING(defaultDatasetId), STRING(defaultRequestQueueId), \{\{STRING(default)}(datasets), \{STRING(default)}(keyValueStores), \{STRING(default)}(requestQueues)}(storageIds), STRING(buildNumber), STRING(containerUrl), BOOLEAN(isContainerServerReady), STRING(gitBranchName), \{INTEGER(ACTOR\_COMPUTE\_UNITS), INTEGER(DATASET\_READS), INTEGER(DATASET\_WRITES), INTEGER(KEY\_VALUE\_STORE\_READS), INTEGER(KEY\_VALUE\_STORE\_WRITES), INTEGER(KEY\_VALUE\_STORE\_LISTS), INTEGER(REQUEST\_QUEUE\_READS), INTEGER(REQUEST\_QUEUE\_WRITES), INTEGER(DATA\_TRANSFER\_INTERNAL\_GBYTES), INTEGER(DATA\_TRANSFER\_EXTERNAL\_GBYTES), INTEGER(PROXY\_RESIDENTIAL\_TRANSFER\_GBYTES), INTEGER(PROXY\_SERPS)}(usage), NUMBER(usageTotalUsd), \{INTEGER(ACTOR\_COMPUTE\_UNITS), INTEGER(DATASET\_READS), INTEGER(DATASET\_WRITES), INTEGER(KEY\_VALUE\_STORE\_READS), INTEGER(KEY\_VALUE\_STORE\_WRITES), INTEGER(KEY\_VALUE\_STORE\_LISTS), INTEGER(REQUEST\_QUEUE\_READS), INTEGER(REQUEST\_QUEUE\_WRITES), INTEGER(DATA\_TRANSFER\_INTERNAL\_GBYTES), INTEGER(DATA\_TRANSFER\_EXTERNAL\_GBYTES), INTEGER(PROXY\_RESIDENTIAL\_TRANSFER\_GBYTES), INTEGER(PROXY\_SERPS)}(usageUsd), \[\{STRING(createdAt), STRING(actorId), STRING(buildId), STRING(inputKey)}]\(metamorphs)} | Main run object containing execution details |
#### Output Example [#output-example-1]
```json
{
"data" : {
"id" : "",
"actId" : "",
"userId" : "",
"actorTaskId" : "",
"startedAt" : "",
"finishedAt" : "",
"status" : "",
"statusMessage" : "",
"isStatusMessageTerminal" : false,
"meta" : {
"origin" : "",
"clientIp" : "",
"userAgent" : "",
"scheduleId" : "",
"scheduledAt" : ""
},
"pricingInfo" : {
"apifyMarginPercentage" : 0.0,
"createdAt" : "",
"startedAt" : "",
"notifiedAboutFutureChangeAt" : "",
"notifiedAboutChangeAt" : "",
"reasonForChange" : "",
"pricingModel" : "",
"pricingPerEvent" : {
"actorChargeEvents" : { }
},
"minimalMaxTotalChargeUsd" : 0.0
},
"stats" : {
"inputBodyLen" : 1,
"migrationCount" : 1,
"rebootCount" : 1,
"restartCount" : 1,
"resurrectCount" : 1,
"memAvgBytes" : 0.0,
"memMaxBytes" : 0.0,
"memCurrentBytes" : 0.0,
"cpuAvgUsage" : 0.0,
"cpuMaxUsage" : 0.0,
"cpuCurrentUsage" : 0.0,
"netRxBytes" : 0.0,
"netTxBytes" : 0.0,
"durationMillis" : 1,
"runTimeSecs" : 0.0,
"metamorph" : 1,
"computeUnits" : 0.0
},
"chargedEventCounts" : {
"actor-start" : 1,
"page-crawled" : 1,
"data-extracted" : 1
},
"options" : {
"build" : "",
"timeoutSecs" : 1,
"memoryMbytes" : 1,
"diskMbytes" : 1,
"maxItems" : 1,
"maxTotalChargeUsd" : 0.0
},
"buildId" : "",
"exitCode" : 1,
"generalAccess" : "",
"defaultKeyValueStoreId" : "",
"defaultDatasetId" : "",
"defaultRequestQueueId" : "",
"storageIds" : {
"datasets" : {
"default" : ""
},
"keyValueStores" : {
"default" : ""
},
"requestQueues" : {
"default" : ""
}
},
"buildNumber" : "",
"containerUrl" : "",
"isContainerServerReady" : false,
"gitBranchName" : "",
"usage" : {
"ACTOR_COMPUTE_UNITS" : 1,
"DATASET_READS" : 1,
"DATASET_WRITES" : 1,
"KEY_VALUE_STORE_READS" : 1,
"KEY_VALUE_STORE_WRITES" : 1,
"KEY_VALUE_STORE_LISTS" : 1,
"REQUEST_QUEUE_READS" : 1,
"REQUEST_QUEUE_WRITES" : 1,
"DATA_TRANSFER_INTERNAL_GBYTES" : 1,
"DATA_TRANSFER_EXTERNAL_GBYTES" : 1,
"PROXY_RESIDENTIAL_TRANSFER_GBYTES" : 1,
"PROXY_SERPS" : 1
},
"usageTotalUsd" : 0.0,
"usageUsd" : {
"ACTOR_COMPUTE_UNITS" : 1,
"DATASET_READS" : 1,
"DATASET_WRITES" : 1,
"KEY_VALUE_STORE_READS" : 1,
"KEY_VALUE_STORE_WRITES" : 1,
"KEY_VALUE_STORE_LISTS" : 1,
"REQUEST_QUEUE_READS" : 1,
"REQUEST_QUEUE_WRITES" : 1,
"DATA_TRANSFER_INTERNAL_GBYTES" : 1,
"DATA_TRANSFER_EXTERNAL_GBYTES" : 1,
"PROXY_RESIDENTIAL_TRANSFER_GBYTES" : 1,
"PROXY_SERPS" : 1
},
"metamorphs" : [ {
"createdAt" : "",
"actorId" : "",
"buildId" : "",
"inputKey" : ""
} ]
}
}
```
#### Find Body of the Apify Actor [#find-body-of-the-apify-actor]
1. Go to your [Apify console](https://console.apify.com/)
2. Click on **Actors**
3. Click on **Actor** you want to find Body JSON of
4. In **Source** tab click on **Input**
5. Fill out form with your desired inputs
6. Click on **JSON**
7. Copy JSON and paste it to the **ByteChef**
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Apollo
URL: /reference/components/apollo_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/apollo_v1.mdx
Apollo.io is a sales intelligence and engagement platform that provides tools for prospecting, lead generation, and sales automation to help businesses improve their sales processes and outreach efforts.
Categories: CRM
Type: apollo/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | Value | STRING | | true |
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect Apollo to ByteChef using either an API Key or OAuth 2.0 (Authorization Code), depending on whether you want a single server-owned key or user-consented access.
### Option 1 - API Key [#option-1---api-key]
Use this when you have an Apollo API key and do not require end-user OAuth consent.
1. In Apollo, go to the bottom-left menu and click on **Admin Settings**.
2. Click on **Integrations**.
3. Find **API** and click **Connect**.
4. Open the **API Keys** tab.
5. Click **+ Create new key**.
6. Enter a descriptive name and description.
7. Choose the specific endpoints the key should access (least privilege), or enable **Set as master key** only if your use case requires broad access.
8. Click **Create API key**. Copy the key value and store it securely.
### Option 2 - OAuth 2.0 Authorization Code [#option-2---oauth-20-authorization-code]
Use this when you want each user to authorize access to their own Apollo account.
1. In Apollo, go to the bottom-left menu and click on **Admin Settings**.
2. Click on **Integrations**.
3. Find **API** and click **Connect**.
4. Choose **OAuth registration** and provide:
* App name and logo
* Add the ByteChef OAuth callback URL to your app:
* `https://app.bytechef.io/callback` (Cloud)
* `http://127.0.0.1:5173/callback` (Local development)
* Scopes: select only the scopes your workflows need (principle of least privilege).
5. Verify OAuth Redirect URL if needed.
6. Submit the registration and copy the generated **Client ID** and **Client Secret**.
## Actions [#actions]
### Create Deal [#create-deal]
Name: createDeal
`Creates new deal for an Apollo account.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----------: | :--------: | :----: | :-------------------------------------------------------------------------------------------------------------------------------: | :------: |
| name | Name | STRING | Name the deal you are creating. | true |
| owner\_id | Owner ID | STRING | The ID for the deal owner within your team's Apollo account. | false |
| account\_id | Account ID | STRING | The ID for the account within your Apollo instance. This is the company that you are targeting as part of the deal being created. | false |
| amount | Amount | STRING | The monetary value of the deal being created. Do not enter commas or currency symbols for the value. | false |
| closed\_date | Close Date | DATE | The estimated close date for the deal. This can be a future or past date. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Deal",
"name" : "createDeal",
"parameters" : {
"name" : "",
"owner_id" : "",
"account_id" : "",
"amount" : "",
"closed_date" : "2021-01-01"
},
"type" : "apollo/v1/createDeal"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :---------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| opportunity | OBJECT Properties \{STRING(id), STRING(team\_id), STRING(owner\_id), NUMBER(amount), DATE(closed\_date), STRING(account\_id), STRING(description), STRING(name), \{STRING(name), STRING(iso\_code), STRING(symbol)}(currency)} | |
#### Output Example [#output-example]
```json
{
"opportunity" : {
"id" : "",
"team_id" : "",
"owner_id" : "",
"amount" : 0.0,
"closed_date" : "2021-01-01",
"account_id" : "",
"description" : "",
"name" : "",
"currency" : {
"name" : "",
"iso_code" : "",
"symbol" : ""
}
}
}
```
### Enrich Company [#enrich-company]
Name: enrichCompany
`Enriches data for company.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----: | :-------------------------------------------------------------------------------------------------------------: | :------: |
| domain | Domain | STRING | The domain of the company that you want to enrich. Do not include [www](http://www)., the @ symbol, or similar. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Enrich Company",
"name" : "enrichCompany",
"parameters" : {
"domain" : ""
},
"type" : "apollo/v1/enrichCompany"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :----------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| organization | OBJECT Properties \{STRING(id), STRING(name), STRING(website\_url), STRING(blog\_url), STRING(linkedin\_url), STRING(twitter\_url), STRING(facebook\_url), STRING(phone), STRING(logo\_url), STRING(primary\_domain), STRING(industry), \[STRING]\(keywords)} | |
#### Output Example [#output-example-1]
```json
{
"organization" : {
"id" : "",
"name" : "",
"website_url" : "",
"blog_url" : "",
"linkedin_url" : "",
"twitter_url" : "",
"facebook_url" : "",
"phone" : "",
"logo_url" : "",
"primary_domain" : "",
"industry" : "",
"keywords" : [ "" ]
}
}
```
### Enrich Person [#enrich-person]
Name: enrichPerson
`Enriches data for a person.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :----------------: | :---------------: | :----: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| first\_name | First Name | STRING | The first name of the person. | false |
| last\_name | Last Name | STRING | The lst name of the person. | false |
| name | Name | STRING | The full name of the person. | false |
| email | Email | STRING | The email address of the person. | false |
| organization\_name | Organization Name | STRING | The name of the person's employer. | false |
| domain | Domain | STRING | The domain name for the person's employer. This can be the current employer or a previous employer. Do not include [www](http://www)., the @ symbol, or similar. | false |
| linkedin\_url | LinkedIn URL | STRING | The URL for the person's LinkedIn profile. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Enrich Person",
"name" : "enrichPerson",
"parameters" : {
"first_name" : "",
"last_name" : "",
"name" : "",
"email" : "",
"organization_name" : "",
"domain" : "",
"linkedin_url" : ""
},
"type" : "apollo/v1/enrichPerson"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :----: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| person | OBJECT Properties \{STRING(id), STRING(first\_name), STRING(last\_name), STRING(name), STRING(linkedin\_url), STRING(title), STRING(email\_status), STRING(photo\_url), STRING(twitter\_url), STRING(github\_url), STRING(facebook\_url), STRING(headline), STRING(email), STRING(organization\_id)} | |
#### Output Example [#output-example-2]
```json
{
"person" : {
"id" : "",
"first_name" : "",
"last_name" : "",
"name" : "",
"linkedin_url" : "",
"title" : "",
"email_status" : "",
"photo_url" : "",
"twitter_url" : "",
"github_url" : "",
"facebook_url" : "",
"headline" : "",
"email" : "",
"organization_id" : ""
}
}
```
### Update Deal [#update-deal]
Name: updateDeal
`Updates the details of existing deals within your team's Apollo account.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :-------------: | :------------: | :----: | :-------------------------------------------------------------------------------------------------------------------------------: | :------: |
| opportunity\_id | Opportunity Id | STRING | The ID for the deal you want to update. | true |
| owner\_id | Owner ID | STRING | The ID for the deal owner within your team's Apollo account. | false |
| name | Name | STRING | New name for the deal. | false |
| closed\_date | Close Date | DATE | Updated estimated close date for the deal. This can be a future or past date. | false |
| account\_id | Account ID | STRING | The ID for the account within your Apollo instance. This is the company that you are targeting as part of the deal being created. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Deal",
"name" : "updateDeal",
"parameters" : {
"opportunity_id" : "",
"owner_id" : "",
"name" : "",
"closed_date" : "2021-01-01",
"account_id" : ""
},
"type" : "apollo/v1/updateDeal"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :---------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| opportunity | OBJECT Properties \{STRING(id), STRING(team\_id), STRING(owner\_id), NUMBER(amount), DATE(closed\_date), STRING(account\_id), STRING(description), STRING(name), \{STRING(name), STRING(iso\_code), STRING(symbol)}(currency)} | |
#### Output Example [#output-example-3]
```json
{
"opportunity" : {
"id" : "",
"team_id" : "",
"owner_id" : "",
"amount" : 0.0,
"closed_date" : "2021-01-01",
"account_id" : "",
"description" : "",
"name" : "",
"currency" : {
"name" : "",
"iso_code" : "",
"symbol" : ""
}
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Approval Link
URL: /reference/components/approval-link_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/approval-link_v1.mdx
The Approval Link component that create approval/disapproval links.
Categories: Developer Tools, File Storage
Type: approvalLink/v1
## Actions [#actions]
### Create Approval Links [#create-approval-links]
Name: createApprovalLinks
`Creates approval/disapproval links.`
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Approval Links",
"name" : "createApprovalLinks",
"type" : "approvalLink/v1/createApprovalLinks"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Approval
URL: /reference/components/approval_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/approval_v1.mdx
Approval component for manual intervention in workflows.
Categories: Helpers
Type: approval/v1
## Actions [#actions]
### Request Approval [#request-approval]
Name: requestApproval
`Sends an approval request and waits for a human to approve or reject.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :--------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| formTitle | Form Title | STRING | The title for the approval form. Displayed as the main heading. | false |
| formDescription | Form Description | STRING | A description shown under the form title. Use \n or \ for line breaks. | false |
| inputs | Form Inputs | ARRAY Items \[\{INTEGER(fieldType), STRING(fieldLabel), STRING(fieldName), STRING(fieldDescription), STRING(placeholder), STRING(defaultValue), STRING(defaultValue), \[\{STRING(label), STRING(value)}]\(fieldOptions), BOOLEAN(multipleChoice), INTEGER(minSelection), INTEGER(maxSelection), BOOLEAN(required)}] | Define the form input fields for the approval request. | false |
| expiresIn | Expires In | INTEGER | How long the approval request stays resolvable. When it lapses, the request can no longer be approved and the paused run is failed. Defaults to 60 days. | false |
| expiresInUnit | Expires In Unit | STRING Options HOURS , DAYS | The time unit for the Expires In value. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Request Approval",
"name" : "requestApproval",
"parameters" : {
"formTitle" : "",
"formDescription" : "",
"inputs" : [ {
"fieldType" : 1,
"fieldLabel" : "",
"fieldName" : "",
"fieldDescription" : "",
"placeholder" : "",
"defaultValue" : "",
"fieldOptions" : [ {
"label" : "",
"value" : ""
} ],
"multipleChoice" : false,
"minSelection" : 1,
"maxSelection" : 1,
"required" : false
} ],
"expiresIn" : 1,
"expiresInUnit" : ""
},
"type" : "approval/v1/requestApproval"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Asana
URL: /reference/components/asana_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/asana_v1.mdx
Asana is a web and mobile application designed to help teams organize, track, and manage their work tasks and projects efficiently.
Categories: Project Management
Type: asana/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create Asana App [#create-asana-app]
1. Navigate to [Asana Developer](https://app.asana.com/0/my-apps) dashboard.
2. Click on **Create new app**.
3. Enter app name.
4. Check everything.
5. Agree to the Terms.
6. Click on **Create app**.
7. Here you can see your **Client ID** and **Client secret**.
8. Click on **OAuth**.
9. Click on **Add redirect URL**.
10. Add redirect URL depending on your instance:
* `https://app.bytechef.io/callback` (Cloud)
* `http://localhost:5173/callback` (Local dev)
11. Click on **Add**.
12. Add following scopes:
* custom\_fields:write
* projects:read
* projects:write
* tags:read
* tasks:read
* tasks:write
* teams:read
* users:read
* webhooks:read
* webhooks:write
* webhooks:delete
* workspaces:read
13. Done 🚀.
## Actions [#actions]
### Create Custom Field [#create-custom-field]
Name: createCustomField
`Creates a custom field for a task.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :---: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| data | Data | OBJECT Properties \{STRING(workspace), STRING(name), STRING(description), STRING(resource\_subtype), STRING(text\_value), \[\{STRING(name), BOOLEAN(enabled), STRING(color)}]\(enum\_options), NUMBER(number\_value), INTEGER(precision), \{DATE(date), DATE\_TIME(date\_time)}(date\_value), \[STRING]\(people\_value), \[STRING]\(reference\_value), STRING(format), STRING(currency\_code)} | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Custom Field",
"name" : "createCustomField",
"parameters" : {
"data" : {
"workspace" : "",
"name" : "",
"description" : "",
"resource_subtype" : "",
"text_value" : "",
"enum_options" : [ {
"name" : "",
"enabled" : false,
"color" : ""
} ],
"number_value" : 0.0,
"precision" : 1,
"date_value" : {
"date" : "2021-01-01",
"date_time" : "2021-01-01T00:00:00"
},
"people_value" : [ "" ],
"reference_value" : [ "" ],
"format" : "",
"currency_code" : ""
}
},
"type" : "asana/v1/createCustomField"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(gid), STRING(resource\_type), STRING(name), STRING(type), \[\{STRING(gid), STRING(resource\_type), STRING(name), BOOLEAN(enabled), STRING(color)}]\(enum\_options), STRING(input\_restrictions), \{DATE(date), DATE\_TIME(date\_time)}(date\_value), \{STRING(gid), STRING(resource\_type), STRING(name), BOOLEAN(enabled), STRING(color)}(enum\_value), \[\{STRING(gid), STRING(resource\_type), STRING(name), BOOLEAN(enabled), STRING(color)}]\(multi\_enum\_values), NUMBER(number\_value), STRING(text\_value), INTEGER(precision), STRING(format), STRING(currency\_code), \[\{STRING(gid), STRING(resource\_type), STRING(name)}]\(people\_value), \[\{STRING(gid), STRING(resource\_type), STRING(name)}]\(reference\_value), STRING(resource\_subtype)} | |
#### Output Example [#output-example]
```json
{
"data" : {
"gid" : "",
"resource_type" : "",
"name" : "",
"type" : "",
"enum_options" : [ {
"gid" : "",
"resource_type" : "",
"name" : "",
"enabled" : false,
"color" : ""
} ],
"input_restrictions" : "",
"date_value" : {
"date" : "2021-01-01",
"date_time" : "2021-01-01T00:00:00"
},
"enum_value" : {
"gid" : "",
"resource_type" : "",
"name" : "",
"enabled" : false,
"color" : ""
},
"multi_enum_values" : [ {
"gid" : "",
"resource_type" : "",
"name" : "",
"enabled" : false,
"color" : ""
} ],
"number_value" : 0.0,
"text_value" : "",
"precision" : 1,
"format" : "",
"currency_code" : "",
"people_value" : [ {
"gid" : "",
"resource_type" : "",
"name" : ""
} ],
"reference_value" : [ {
"gid" : "",
"resource_type" : "",
"name" : ""
} ],
"resource_subtype" : ""
}
}
```
#### Find Workspace GID [#find-workspace-gid]
To find workspace GID, click [here](/reference/components/asana_v1#how-to-find-workspace-gid).
### Create Project [#create-project]
Name: createProject
`Creates a new project in a workspace or team.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :---: | :-------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| data | Data | OBJECT Properties \{STRING(workspace), STRING(name), STRING(notes), STRING(team)} | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Project",
"name" : "createProject",
"parameters" : {
"data" : {
"workspace" : "",
"name" : "",
"notes" : "",
"team" : ""
}
},
"type" : "asana/v1/createProject"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(gid), STRING(resource\_type), BOOLEAN(archived), STRING(color), STRING(icon), DATE\_TIME(created\_at), \{STRING(gid), STRING(resource\_type), STRING(title), STRING(resource\_subtype)}(current\_status\_update), STRING(default\_view), STRING(due\_on), STRING(html\_notes), STRING(name), STRING(notes), \{STRING(gid), STRING(name)}(team), \{STRING(gid), STRING(name)}(workspace)} | |
#### Output Example [#output-example-1]
```json
{
"data" : {
"gid" : "",
"resource_type" : "",
"archived" : false,
"color" : "",
"icon" : "",
"created_at" : "2021-01-01T00:00:00",
"current_status_update" : {
"gid" : "",
"resource_type" : "",
"title" : "",
"resource_subtype" : ""
},
"default_view" : "",
"due_on" : "",
"html_notes" : "",
"name" : "",
"notes" : "",
"team" : {
"gid" : "",
"name" : ""
},
"workspace" : {
"gid" : "",
"name" : ""
}
}
}
```
#### Find Workspace GID [#find-workspace-gid-1]
To find workspace GID, click [here](/reference/components/asana_v1#how-to-find-workspace-gid).
#### Find Team ID [#find-team-id]
To find team GID, click [here](/reference/components/asana_v1#how-to-find-team-gid).
### Create Subtask [#create-subtask]
Name: createSubtask
`Creates a new subtask and adds it to the parent task.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----: | :-------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------: | :------: |
| taskGid | Parent Task GID | STRING Depends On data.workspace | The task GID of the task that will be the parent of the subtask. | true |
| data | Data | OBJECT Properties \{STRING(workspace), \[STRING]\(projects), STRING(name), STRING(notes), DATE(due\_on), STRING(assignee)} | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Subtask",
"name" : "createSubtask",
"parameters" : {
"taskGid" : "",
"data" : {
"workspace" : "",
"projects" : [ "" ],
"name" : "",
"notes" : "",
"due_on" : "2021-01-01",
"assignee" : ""
}
},
"type" : "asana/v1/createSubtask"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(gid), DATE(due\_on), STRING(notes), STRING(name), \{STRING(gid), STRING(name)}(workspace), \{STRING(gid), STRING(name)}(project), \{STRING(gid), STRING(name)}(parent), \{STRING(gid), STRING(name)}(assignee)} | |
#### Output Example [#output-example-2]
```json
{
"data" : {
"gid" : "",
"due_on" : "2021-01-01",
"notes" : "",
"name" : "",
"workspace" : {
"gid" : "",
"name" : ""
},
"project" : {
"gid" : "",
"name" : ""
},
"parent" : {
"gid" : "",
"name" : ""
},
"assignee" : {
"gid" : "",
"name" : ""
}
}
}
```
#### Find Parent Task GID [#find-parent-task-gid]
To find parent task GID, click [here](/reference/components/asana_v1#how-to-find-task-gid).
#### Find Workspace GID [#find-workspace-gid-2]
To find workspace GID, click [here](/reference/components/asana_v1#how-to-find-workspace-gid).
#### Find Project GID [#find-project-gid]
To find project GID, click [here](/reference/components/asana_v1#how-to-find-project-gid).
#### Find Assignee User GID [#find-assignee-user-gid]
To find the user ID of the assignee, click [here](/reference/components/asana_v1#how-to-find-user-gid).
### Create Task [#create-task]
Name: createTask
`Creates a new task in a workspace.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--: | :---: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| data | Data | OBJECT Properties \{STRING(workspace), \[STRING]\(projects), STRING(name), STRING(notes), DATE(due\_on), \[STRING]\(tags), STRING(assignee)} | | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"data" : {
"workspace" : "",
"projects" : [ "" ],
"name" : "",
"notes" : "",
"due_on" : "2021-01-01",
"tags" : [ "" ],
"assignee" : ""
}
},
"type" : "asana/v1/createTask"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(gid), DATE(due\_on), STRING(notes), STRING(name), \{STRING(gid), STRING(name)}(workspace), \[\{STRING(gid), STRING(name)}]\(tags), \{STRING(gid), STRING(name)}(assignee)} | |
#### Output Example [#output-example-3]
```json
{
"data" : {
"gid" : "",
"due_on" : "2021-01-01",
"notes" : "",
"name" : "",
"workspace" : {
"gid" : "",
"name" : ""
},
"tags" : [ {
"gid" : "",
"name" : ""
} ],
"assignee" : {
"gid" : "",
"name" : ""
}
}
}
```
#### Find Workspace GID [#find-workspace-gid-3]
To find workspace GID, click [here](/reference/components/asana_v1#how-to-find-workspace-gid).
#### Find Project ID [#find-project-id]
To find project ID, click [here](/reference/components/asana_v1#how-to-find-project-gid).
#### Find Assignee User ID [#find-assignee-user-id]
To find the user ID of the assignee, click [here](/reference/components/asana_v1#how-to-find-user-gid).
#### Find Tag ID [#find-tag-id]
To find tag ID, click [here](/reference/components/asana_v1#how-to-find-tags-gid).
## Triggers [#triggers]
### New Task [#new-task]
Name: newTask
`Triggers when new task is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :-------------------------------------------------------------------: | :---------------------------------------------: | :------: |
| workspace | Workspace | STRING | The workspace where the project is located. | true |
| resource | Project | STRING Depends On workspace | The project to monitor for newly created tasks. | true |
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :------------: | :--------------------------------------------------------------------------------------: | :----------------------------------------: |
| gid | STRING | Globally unique identifier of the task. |
| name | STRING | Name of the task. |
| resource\_type | STRING | Type of the resource (task). |
| created\_at | STRING | Timestamp when the task was created. |
| modified\_at | STRING | Timestamp when the task was last modified. |
| completed | STRING | Indicates whether the task is completed. |
| notes | STRING | Description or notes of the task. |
| assignee | OBJECT Properties \{STRING(gid), STRING(name)} | User assigned to the task. |
| project | OBJECT Properties \{STRING(gid), STRING(name)} | Project the task belongs to. |
#### JSON Example [#json-example]
```json
{
"label" : "New Task",
"name" : "newTask",
"parameters" : {
"workspace" : "",
"resource" : ""
},
"type" : "asana/v1/newTask"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Workspace GID [#how-to-find-workspace-gid]
You have several methods to find your Asana workspace ID:
* **Method 1: Through the Asana URL**
1. Log in to **Asana**.
2. Open the workspace you want to use.
3. Look at the URL in your browser. It will look similar to:
```
https://app.asana.com/0/123456789012345/home
```
4. The number after `/0/` (`123456789012345` in this example) is your **workspace ID**.
* **Method 2: Through the Asana API**
1. Open your browser or API client.
2. Enter the following request:
```
https://app.asana.com/api/1.0/workspaces
```
3. Look for the workspace you want in the JSON response.
4. The value under `gid` is your **workspace ID**.
### How to find Team GID [#how-to-find-team-gid]
You have several methods to find your Asana team ID:
* **Method 1: Through the Asana URL**
1. Open **Asana**.
2. Navigate to the team you want to use.
3. Look at the URL in your browser. It will look similar to:
```
https://app.asana.com/0/team/987654321098765/overview
```
4. The number in the URL (`987654321098765` in this example) is your **team ID**.
* **Method 2: Through the Asana API**
1. Open your browser or API client.
2. Run the following request (replace `WORKSPACE_GID` with your workspace ID):
```
https://app.asana.com/api/1.0/workspaces/WORKSPACE_GID/teams
```
3. Find the team you want in the JSON response.
4. The value under `gid` is the **team ID**.
### How to find Project GID [#how-to-find-project-gid]
You have several methods to find your Asana project ID:
* **Method 1: Through the Project URL**
1. Open the project in **Asana**.
2. Look at the URL in your browser. It will look similar to:
```
https://app.asana.com/0/123456789012345/678901234567890
```
3. The **second number** (`678901234567890` in this example) is the **project ID**.
* **Method 2: Through the Asana API**
1. Open your browser or API client.
2. Run the following request (replace `WORKSPACE_GID` with your workspace ID):
```
https://app.asana.com/api/1.0/workspaces/WORKSPACE_GID/projects
```
3. Find the project in the JSON response.
4. The value under `gid` is the **project ID**.
### How to find Task GID [#how-to-find-task-gid]
You have several methods to find your Asana task ID:
* **Method 1: Through the Task URL**
1. Open the task in **Asana**.
2. Look at the URL in your browser. It will look similar to:
```
https://app.asana.com/0/123456789012345/987654321012345
```
3. The **second number** (`987654321012345` in this example) is the **task ID**.
* **Method 2: Through the Asana API**
1. Open your browser or API client.
2. Run the following request (replace `PROJECT_GID` with your project ID):
```
https://app.asana.com/api/1.0/projects/PROJECT_GID/tasks
```
3. Find the task in the JSON response.
4. The value under `gid` is the **task ID**.
### How to find User GID [#how-to-find-user-gid]
1. Open your browser or API client.
2. Run the following request (replace `WORKSPACE_GID` with your workspace ID):
```
https://app.asana.com/api/1.0/workspaces/WORKSPACE_GID/users
```
3. Find the user in the JSON response.
4. The value under `gid` is the **user ID**.
### How to find Tags GID [#how-to-find-tags-gid]
1. Open your browser or API client.
2. Run the following request (replace `WORKSPACE_GID` with your workspace ID):
```
https://app.asana.com/api/1.0/workspaces/WORKSPACE_GID/tags
```
3. Find the tag you want in the JSON response.
4. The value under `gid` is the **tag ID**.
# ByteChef Reference: Asset File
URL: /reference/components/assetFile_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/assetFile_v1.mdx
Work with ByteChef workspace asset files: upload, download, list, rename and delete binary files stored in the workspace asset file infrastructure.
Categories: Helpers
Type: assetFile/v1
## Actions [#actions]
### Upload Asset File [#upload-asset-file]
Name: uploadAssetFile
`Upload a workflow file entry into the asset file storage of the workspace owning this workflow. The file is stored in the environment the workflow runs in.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :---------: | :---------------------------------------------------------------------: | :------: |
| file | File | FILE\_ENTRY | File entry to upload. | true |
| filename | Filename | STRING | Optional filename override; defaults to the file entry's filename. | false |
| contentType | Content Type | STRING | Optional content type override; defaults to the file entry's mime type. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Upload Asset File",
"name" : "uploadAssetFile",
"parameters" : {
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"filename" : "",
"contentType" : ""
},
"type" : "assetFile/v1/uploadAssetFile"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :--------------: | :--------------------------------------------------------------: | :------------------------------------------------: |
| id | INTEGER | |
| name | STRING | |
| description | STRING | |
| mimeType | STRING | |
| sizeBytes | INTEGER | |
| source | STRING | Source of the file: USER\_UPLOAD or AI\_GENERATED. |
| tagIds | ARRAY Items \[INTEGER] | |
| createdDate | DATE\_TIME | |
| createdBy | STRING | |
| lastModifiedDate | DATE\_TIME | |
| lastModifiedBy | STRING | |
#### Output Example [#output-example]
```json
{
"id" : 1,
"name" : "",
"description" : "",
"mimeType" : "",
"sizeBytes" : 1,
"source" : "",
"tagIds" : [ 1 ],
"createdDate" : "2021-01-01T00:00:00",
"createdBy" : "",
"lastModifiedDate" : "2021-01-01T00:00:00",
"lastModifiedBy" : ""
}
```
### Download Asset File [#download-asset-file]
Name: downloadAssetFile
`Download the binary content of an asset file as a workflow file entry.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---------: | :-----------: | :-----: | :-----------------------------------------------------: | :------: |
| assetFileId | Asset File ID | INTEGER | Identifier of the asset file whose content to download. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Download Asset File",
"name" : "downloadAssetFile",
"parameters" : {
"assetFileId" : 1
},
"type" : "assetFile/v1/downloadAssetFile"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-3]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Get Asset File [#get-asset-file]
Name: getAssetFile
`Fetch metadata for a single asset file by id.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :---------: | :-----------: | :-----: | :------------------------------------: | :------: |
| assetFileId | Asset File ID | INTEGER | Identifier of the asset file to fetch. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Asset File",
"name" : "getAssetFile",
"parameters" : {
"assetFileId" : 1
},
"type" : "assetFile/v1/getAssetFile"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :--------------: | :--------------------------------------------------------------: | :------------------------------------------------: |
| id | INTEGER | |
| name | STRING | |
| description | STRING | |
| mimeType | STRING | |
| sizeBytes | INTEGER | |
| source | STRING | Source of the file: USER\_UPLOAD or AI\_GENERATED. |
| tagIds | ARRAY Items \[INTEGER] | |
| createdDate | DATE\_TIME | |
| createdBy | STRING | |
| lastModifiedDate | DATE\_TIME | |
| lastModifiedBy | STRING | |
#### Output Example [#output-example-2]
```json
{
"id" : 1,
"name" : "",
"description" : "",
"mimeType" : "",
"sizeBytes" : 1,
"source" : "",
"tagIds" : [ 1 ],
"createdDate" : "2021-01-01T00:00:00",
"createdBy" : "",
"lastModifiedDate" : "2021-01-01T00:00:00",
"lastModifiedBy" : ""
}
```
### Find Asset Files [#find-asset-files]
Name: findAssetFiles
`List the asset files of the workspace owning this workflow, in the environment the workflow runs in. Optionally filter by tag ids.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :--------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------: | :------: |
| tagIds | Tag IDs | ARRAY Items \[INTEGER] | Optional list of tag ids to filter by; only files tagged with at least one of the given tags are returned. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Find Asset Files",
"name" : "findAssetFiles",
"parameters" : {
"tagIds" : [ 1 ]
},
"type" : "assetFile/v1/findAssetFiles"
}
```
#### Output [#output-3]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :--------------: | :--------------------------------------------------------------: | :------------------------------------------------: |
| id | INTEGER | |
| name | STRING | |
| description | STRING | |
| mimeType | STRING | |
| sizeBytes | INTEGER | |
| source | STRING | Source of the file: USER\_UPLOAD or AI\_GENERATED. |
| tagIds | ARRAY Items \[INTEGER] | |
| createdDate | DATE\_TIME | |
| createdBy | STRING | |
| lastModifiedDate | DATE\_TIME | |
| lastModifiedBy | STRING | |
#### Output Example [#output-example-3]
```json
[ {
"id" : 1,
"name" : "",
"description" : "",
"mimeType" : "",
"sizeBytes" : 1,
"source" : "",
"tagIds" : [ 1 ],
"createdDate" : "2021-01-01T00:00:00",
"createdBy" : "",
"lastModifiedDate" : "2021-01-01T00:00:00",
"lastModifiedBy" : ""
} ]
```
### Update Asset File Content [#update-asset-file-content]
Name: updateAssetFileContent
`Replace the binary content of an existing asset file.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :---------: | :-----------: | :---------: | :---------------------------------------------------------------------: | :------: |
| assetFileId | Asset File ID | INTEGER | Identifier of the asset file whose content to replace. | true |
| file | File | FILE\_ENTRY | File entry whose content replaces the existing asset file content. | true |
| contentType | Content Type | STRING | Optional content type override; defaults to the file entry's mime type. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Update Asset File Content",
"name" : "updateAssetFileContent",
"parameters" : {
"assetFileId" : 1,
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"contentType" : ""
},
"type" : "assetFile/v1/updateAssetFileContent"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :--------------: | :--------------------------------------------------------------: | :------------------------------------------------: |
| id | INTEGER | |
| name | STRING | |
| description | STRING | |
| mimeType | STRING | |
| sizeBytes | INTEGER | |
| source | STRING | Source of the file: USER\_UPLOAD or AI\_GENERATED. |
| tagIds | ARRAY Items \[INTEGER] | |
| createdDate | DATE\_TIME | |
| createdBy | STRING | |
| lastModifiedDate | DATE\_TIME | |
| lastModifiedBy | STRING | |
#### Output Example [#output-example-4]
```json
{
"id" : 1,
"name" : "",
"description" : "",
"mimeType" : "",
"sizeBytes" : 1,
"source" : "",
"tagIds" : [ 1 ],
"createdDate" : "2021-01-01T00:00:00",
"createdBy" : "",
"lastModifiedDate" : "2021-01-01T00:00:00",
"lastModifiedBy" : ""
}
```
### Rename Asset File [#rename-asset-file]
Name: renameAssetFile
`Rename an asset file.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :---------: | :-----------: | :-----: | :-------------------------------------: | :------: |
| assetFileId | Asset File ID | INTEGER | Identifier of the asset file to rename. | true |
| newName | New Name | STRING | New name for the asset file. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Rename Asset File",
"name" : "renameAssetFile",
"parameters" : {
"assetFileId" : 1,
"newName" : ""
},
"type" : "assetFile/v1/renameAssetFile"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-11]
| Name | Type | Description |
| :--------------: | :--------------------------------------------------------------: | :------------------------------------------------: |
| id | INTEGER | |
| name | STRING | |
| description | STRING | |
| mimeType | STRING | |
| sizeBytes | INTEGER | |
| source | STRING | Source of the file: USER\_UPLOAD or AI\_GENERATED. |
| tagIds | ARRAY Items \[INTEGER] | |
| createdDate | DATE\_TIME | |
| createdBy | STRING | |
| lastModifiedDate | DATE\_TIME | |
| lastModifiedBy | STRING | |
#### Output Example [#output-example-5]
```json
{
"id" : 1,
"name" : "",
"description" : "",
"mimeType" : "",
"sizeBytes" : 1,
"source" : "",
"tagIds" : [ 1 ],
"createdDate" : "2021-01-01T00:00:00",
"createdBy" : "",
"lastModifiedDate" : "2021-01-01T00:00:00",
"lastModifiedBy" : ""
}
```
### Delete Asset File [#delete-asset-file]
Name: deleteAssetFile
`Delete an asset file by id.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :---------: | :-----------: | :-----: | :-------------------------------------: | :------: |
| assetFileId | Asset File ID | INTEGER | Identifier of the asset file to delete. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Delete Asset File",
"name" : "deleteAssetFile",
"parameters" : {
"assetFileId" : 1
},
"type" : "assetFile/v1/deleteAssetFile"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-13]
| Name | Type | Description |
| :---------: | :---------------------------------------------------------------------------------------------: | :---------: |
| deleted | BOOLEAN Options true , false | |
| assetFileId | INTEGER | |
#### Output Example [#output-example-6]
```json
{
"deleted" : false,
"assetFileId" : 1
}
```
# ByteChef Reference: Attio
URL: /reference/components/attio_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/attio_v1.mdx
Attio is the AI-native CRM that builds, scales and grows your company to the next level.
Categories: CRM
Type: attio/v1
## Connections [#connections]
Version: 1
### Access Token [#access-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :----------: | :----: | :----------------------------------------------------------------: | :------: |
| token | Access Token | STRING | Can be found in Workspace Settings -> Developers -> Access tokens. | true |
## Connection Setup [#connection-setup]
### Find Access Token [#find-access-token]
1. Navigate to your dashboard.
2. Click on **Workspace** settings.
3. Click on **Developers**.
4. Click on **Create access token**.
5. Enable **Records**.
6. Enable **Tasks**.
7. Enable **Webhooks**.
8. Click on **Save changes**.
9. Click here to copy the access token.
## Actions [#actions]
### Create Record [#create-record]
Name: createRecord
`Creates a new record.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: | :------: |
| record\_type | Record Type | STRING | Type of record that will be created. | true |
| people | Person | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(email\_address), STRING(description), STRING(company), STRING(job\_title), STRING(facebook), STRING(instagram), STRING(linkedin), \[STRING($deal)]\(associated_deals), [STRING\($user)]\(associated\_users)} | | true |
| companies | Company | OBJECT Properties \{STRING(domains), STRING(name), STRING(description), STRING(facebook), STRING(instagram), STRING(linkedin), STRING(estimated\_arr\_usd), DATE(foundation\_date), STRING(employee\_range), \[STRING($category)]\(categories), [STRING\($deal)]\(associated\_deals), \[STRING(\$workspace)]\(associated\_workspaces)} | | true |
| users | | OBJECT Properties \{STRING(person), STRING(email\_address), STRING(user\_id), \[STRING(\$workspace)]\(workspace)} | | true |
| deals | | OBJECT Properties \{STRING(name), STRING(stage), STRING(owner), NUMBER(value), \[STRING(\$people)]\(associated\_people), STRING(associated\_company)} | | true |
| workspaces | | OBJECT Properties \{STRING(workspace\_id), STRING(name), \[STRING(\$user)]\(users), STRING(company), STRING(avatar\_url)} | | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Record",
"name" : "createRecord",
"parameters" : {
"record_type" : "",
"people" : {
"first_name" : "",
"last_name" : "",
"email_address" : "",
"description" : "",
"company" : "",
"job_title" : "",
"facebook" : "",
"instagram" : "",
"linkedin" : "",
"associated_deals" : [ "" ],
"associated_users" : [ "" ]
},
"companies" : {
"domains" : "",
"name" : "",
"description" : "",
"facebook" : "",
"instagram" : "",
"linkedin" : "",
"estimated_arr_usd" : "",
"foundation_date" : "2021-01-01",
"employee_range" : "",
"categories" : [ "" ],
"associated_deals" : [ "" ],
"associated_workspaces" : [ "" ]
},
"users" : {
"person" : "",
"email_address" : "",
"user_id" : "",
"workspace" : [ "" ]
},
"deals" : {
"name" : "",
"stage" : "",
"owner" : "",
"value" : 0.0,
"associated_people" : [ "" ],
"associated_company" : ""
},
"workspaces" : {
"workspace_id" : "",
"name" : "",
"users" : [ "" ],
"company" : "",
"avatar_url" : ""
}
},
"type" : "attio/v1/createRecord"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Create Task [#create-task]
Name: createTask
`Creates a new task.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-------------: | :------------: | :------------------------------------------------------------------------------------------------------------: | :-------------------------: | :------: |
| content | Content | STRING | Content of the task. | true |
| deadline\_at | Deadline | DATE\_TIME | Deadline of the task. | true |
| is\_completed | Is Completed | BOOLEAN Options true , false | Weather the task completed. | true |
| linked\_records | Linked Records | ARRAY Items \[\{STRING(target\_object), STRING(target\_record\_id)}] | Records linked to the task. | true |
| assignees | Assignees | ARRAY Items \[STRING] | Assignees of the task. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"content" : "",
"deadline_at" : "2021-01-01T00:00:00",
"is_completed" : false,
"linked_records" : [ {
"target_object" : "",
"target_record_id" : ""
} ],
"assignees" : [ "" ]
},
"type" : "attio/v1/createTask"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{\{STRING(workspace\_id), STRING(task\_id)}(id), STRING(content\_plaintext), BOOLEAN(is\_completed), STRING(deadline\_at), \[\{STRING(target\_object\_id), STRING(target\_record\_id)}]\(linked\_records), \[\{STRING(referenced\_actor\_type), STRING(referenced\_actor\_id)}]\(assignees), \{STRING(type), STRING(id)}(created\_by\_actor), STRING(created\_at)} | |
#### Output Example [#output-example]
```json
{
"data" : {
"id" : {
"workspace_id" : "",
"task_id" : ""
},
"content_plaintext" : "",
"is_completed" : false,
"deadline_at" : "",
"linked_records" : [ {
"target_object_id" : "",
"target_record_id" : ""
} ],
"assignees" : [ {
"referenced_actor_type" : "",
"referenced_actor_id" : ""
} ],
"created_by_actor" : {
"type" : "",
"id" : ""
},
"created_at" : ""
}
}
```
### Update Record [#update-record]
Name: updateRecord
`Updates a record.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------: | :------: |
| record\_type | Record Type | STRING | Type of record that will be created. | true |
| record\_id | Record ID | STRING Depends On record\_type | ID of the record that will be updated. | true |
| people | Person | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(email\_address), STRING(description), STRING(company), STRING(job\_title), STRING(facebook), STRING(instagram), STRING(linkedin), \[STRING($deal)]\(associated_deals), [STRING\($user)]\(associated\_users)} | | true |
| companies | Company | OBJECT Properties \{STRING(domains), STRING(name), STRING(description), STRING(facebook), STRING(instagram), STRING(linkedin), STRING(estimated\_arr\_usd), DATE(foundation\_date), STRING(employee\_range), \[STRING($category)]\(categories), [STRING\($deal)]\(associated\_deals), \[STRING(\$workspace)]\(associated\_workspaces)} | | true |
| users | | OBJECT Properties \{STRING(person), STRING(email\_address), STRING(user\_id), \[STRING(\$workspace)]\(workspace)} | | true |
| deals | | OBJECT Properties \{STRING(name), STRING(stage), STRING(owner), NUMBER(value), \[STRING(\$people)]\(associated\_people), STRING(associated\_company)} | | true |
| workspaces | | OBJECT Properties \{STRING(workspace\_id), STRING(name), \[STRING(\$user)]\(users), STRING(company), STRING(avatar\_url)} | | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update Record",
"name" : "updateRecord",
"parameters" : {
"record_type" : "",
"record_id" : "",
"people" : {
"first_name" : "",
"last_name" : "",
"email_address" : "",
"description" : "",
"company" : "",
"job_title" : "",
"facebook" : "",
"instagram" : "",
"linkedin" : "",
"associated_deals" : [ "" ],
"associated_users" : [ "" ]
},
"companies" : {
"domains" : "",
"name" : "",
"description" : "",
"facebook" : "",
"instagram" : "",
"linkedin" : "",
"estimated_arr_usd" : "",
"foundation_date" : "2021-01-01",
"employee_range" : "",
"categories" : [ "" ],
"associated_deals" : [ "" ],
"associated_workspaces" : [ "" ]
},
"users" : {
"person" : "",
"email_address" : "",
"user_id" : "",
"workspace" : [ "" ]
},
"deals" : {
"name" : "",
"stage" : "",
"owner" : "",
"value" : 0.0,
"associated_people" : [ "" ],
"associated_company" : ""
},
"workspaces" : {
"workspace_id" : "",
"name" : "",
"users" : [ "" ],
"company" : "",
"avatar_url" : ""
}
},
"type" : "attio/v1/updateRecord"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Record ID [#find-record-id]
To find the Record ID, click [here](/reference/components/attio_v1#how-to-find-your-record-id).
## Triggers [#triggers]
### Record Created [#record-created]
Name: recordCreated
`Triggers when new record is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :---------: | :----------------------------------------------------------------------------------------------------: | :-----------------------------------------: |
| event\_type | STRING | Type of an event that triggers the trigger. |
| id | OBJECT Properties \{STRING(workspace\_id), STRING(task\_id)} | |
| actor | OBJECT Properties \{STRING(type), STRING(id)} | |
#### JSON Example [#json-example]
```json
{
"label" : "Record Created",
"name" : "recordCreated",
"type" : "attio/v1/recordCreated"
}
```
### Task Created [#task-created]
Name: taskCreated
`Triggers when new task is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------: | :----------------------------------------------------------------------------------------------------: | :-----------------------------------------: |
| event\_type | STRING | Type of an event that triggers the trigger. |
| id | OBJECT Properties \{STRING(workspace\_id), STRING(task\_id)} | |
| actor | OBJECT Properties \{STRING(type), STRING(id)} | |
#### JSON Example [#json-example-1]
```json
{
"label" : "Task Created",
"name" : "taskCreated",
"type" : "attio/v1/taskCreated"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find your Record ID [#how-to-find-your-record-id]
Many Attio API endpoints require a `record_id`, but in most integrations you only have another unique identifier (such as an email, company domain, or external ID).
The recommended approach is:
1. Query records using a filter.
2. Read the `data[].id.record_id` field from the response.
3. Use that `record_id` in subsequent API requests.
#### Query Records [#query-records]
**Endpoint**
```http
POST /v2/objects/{object}/records/query
```
Replace `{object}` with your object slug, for example:
* `people`
* `companies`
* `deals`
* your custom object slug
#### Example [#example]
```bash
curl --request POST \
--url https://api.attio.com/v2/objects/people/records/query \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"filter": {
"email_addresses": "john@example.com"
},
"limit": 1
}'
```
#### Response [#response]
```json
{
"data": [
{
"id": {
"workspace_id": "14beef7a-99f7-4534-a87e-70b564330a4c",
"object_id": "97052eb9-e65e-443f-a297-f2d9a4a7f795",
"record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b"
},
"created_at": "2022-11-21T13:22:49.061281000Z",
"values": {}
}
]
}
```
The value you need is:
```text
data[0].id.record_id
```
Example:
```text
bf071e1f-6035-429d-b874-d83ea64ea13b
```
#### Common Lookup Examples [#common-lookup-examples]
#### Find a person by email [#find-a-person-by-email]
```json
{
"filter": {
"email_addresses": "john@example.com"
},
"limit": 1
}
```
#### Find a company by domain [#find-a-company-by-domain]
```json
{
"filter": {
"domains": "acme.com"
},
"limit": 1
}
```
#### References [#references]
* [Attio REST API - List Records](https://docs.attio.com/rest-api/endpoint-reference/records/list-records)
* [Attio REST API - Get a Record](https://docs.attio.com/rest-api/endpoint-reference/records/get-a-record)
# ByteChef Reference: AWS S3 Chat Memory
URL: /reference/components/aws-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/aws-chat-memory_v1.mdx
Stores conversation history as JSON objects in an Amazon S3 bucket.
Categories: Artificial Intelligence
Type: awsChatMemory/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :----: | :---------------------------------------------------------: | :------: |
| accessKeyId | Access Key ID | STRING | | true |
| secretAccessKey | Secret Access Key | STRING | | true |
| region | Region | STRING | | true |
| bucket | Bucket | STRING | | true |
| keyPrefix | Key Prefix | STRING | Optional prefix prepended to every conversation object key. | false |
# ByteChef Reference: AWS S3
URL: /reference/components/aws-s3_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/aws-s3_v1.mdx
AWS S3 is a simple object storage service provided by Amazon Web Services.
Categories: Developer Tools, File Storage
Type: awsS3/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| accessKeyId | Access Key ID | STRING | | true |
| secretAccessKey | Secret Access Key | STRING | | true |
| region | | STRING Options us-east-1 , us-east-2 , us-west-1 , us-west-2 , ca-central-1 , ap-east-1 , ap-south-1 , ap-south-2 , ap-northeast-3 , ap-northeast-2 , ap-southeast-1 , ap-southeast-2 , ap-southeast-3 , ap-southeast-4 , ap-northeast-1 , me-south-1 , me-central-1 , eu-central-1 , eu-central-2 , eu-west-1 , eu-west-2 , eu-south-1 , eu-south-2 , eu-west-3 , eu-north-1 , af-south-1 , sa-east-1 , cn-north-1 , cn-northwest-1 | | true |
| bucketName | Bucket | STRING | | true |
## Actions [#actions]
### Get Object [#get-object]
Name: getObject
`Get the AWS S3 object.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :--------------------------------------: | :------: |
| filename | Filename | STRING | Filename to set for binary data. | true |
| key | Key | STRING | Key is most likely the name of the file. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Object",
"name" : "getObject",
"parameters" : {
"filename" : "",
"key" : ""
},
"type" : "awsS3/v1/getObject"
}
```
#### Output [#output]
Type: FILE\_ENTRY
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Get URL [#get-url]
Name: getUrl
`Get the url of an AWS S3 object.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :----------------------: | :----: | :--------------------------------------: | :------: |
| key | Key or Entity Tag (Etag) | STRING | Key is most likely the name of the file. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get URL",
"name" : "getUrl",
"parameters" : {
"key" : ""
},
"type" : "awsS3/v1/getUrl"
}
```
#### Output [#output-1]
***Sample Output:***
`https://s3.amazonaws.com/bucket-name/key`
Type: STRING
### List Objects [#list-objects]
Name: listObjects
`Get the list AWS S3 objects. Every object needs to have read permission in order to be seen.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----: | :--------: | :----: | :---------------------------------: | :------: |
| prefix | Key Prefix | STRING | The prefix of an AWS S3 object key. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "List Objects",
"name" : "listObjects",
"parameters" : {
"prefix" : ""
},
"type" : "awsS3/v1/listObjects"
}
```
#### Output [#output-2]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :--: | :----: | :---------: |
| key | STRING | |
| name | STRING | |
| uri | STRING | |
#### Output Example [#output-example-1]
```json
[ {
"key" : "",
"name" : "",
"uri" : ""
} ]
```
### Get Pre-signed Object [#get-pre-signed-object]
Name: presignGetObject
`You can share an object with a pre-signed URL for up to 12 hours or until your session expires.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :----: | :--------------------------------------------: | :------: |
| key | Key | STRING | Key is most likely the name of the file. | true |
| signatureDuration | Signature Duration | STRING | Time interval until the pre-signed URL expires | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Get Pre-signed Object",
"name" : "presignGetObject",
"parameters" : {
"key" : "",
"signatureDuration" : ""
},
"type" : "awsS3/v1/presignGetObject"
}
```
#### Output [#output-3]
Type: STRING
### Put Object [#put-object]
Name: putObject
`Store an object to AWS S3.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The object property which contains a reference to the file that needs to be written to AWS S3. | true |
| key | Key | STRING | Key is most likely the name of the file. | true |
| acl | ACL | STRING Options authenticated-read , aws-exec-read , bucket-owner-read , bucket-owner-full-control , private , public-read , public-read-write | The canned ACL to apply to the object. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Put Object",
"name" : "putObject",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"key" : "",
"acl" : ""
},
"type" : "awsS3/v1/putObject"
}
```
#### Output [#output-4]
This action does not produce any output.
# ByteChef Reference: AWS S3 Session Repository
URL: /reference/components/aws-session-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/aws-session-chat-memory_v1.mdx
Stores agent session events as JSON objects in an Amazon S3 bucket.
Categories: Artificial Intelligence
Type: awsSessionChatMemory/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :----: | :----------------------------------------------------: | :------: |
| accessKeyId | Access Key ID | STRING | | true |
| secretAccessKey | Secret Access Key | STRING | | true |
| region | Region | STRING | | true |
| bucket | Bucket | STRING | | true |
| keyPrefix | Key Prefix | STRING | Optional prefix prepended to every session object key. | false |
# ByteChef Reference: Azure OpenAI
URL: /reference/components/azure-open-ai_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/azure-open-ai_v1.mdx
Azure OpenAI is a research organization that aims to develop and direct artificial intelligence (AI) in ways that benefit humanity as a whole.
Categories: Artificial Intelligence
Type: azureOpenAi/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :---------: | :------: |
| endpoint | Endpoint | STRING | | true |
| token | Token | STRING | | true |
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | Deployment name, written in string. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| n | Number of Chat Completion Choices | INTEGER | How many chat completion choices to generate for each input message. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| logitBias | Logit Bias | OBJECT Properties \{} | Modify the likelihood of specified tokens appearing in the completion. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"n" : 1,
"temperature" : 0.0,
"frequencyPenalty" : 0.0,
"presencePenalty" : 0.0,
"logitBias" : { },
"topP" : 0.0,
"stop" : [ "" ],
"user" : ""
},
"type" : "azureOpenAi/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Create Image [#create-image]
Name: createImage
`Create an image using text-to-image models`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-----------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options dall-e-2 , dall-e-3 | The model to use for image generation. | true |
| imageMessages | Messages | ARRAY Items \[\{STRING(content), NUMBER(weight)}] | A list of messages comprising the conversation so far. | true |
| size | Size | STRING Options DALL\_E\_2\_256x256 , DALL\_E\_2\_512x512 , \_1024x1024 , DALL\_E\_3\_1792x1024 , DALL\_E\_3\_1024x1792 | The size of the generated images. | true |
| n | Number of Responses | INTEGER | The number of images to generate. Must be between 1 and 10. For dall-e-3, only n=1 is supported.. | false |
| responseFormat | Response format | STRING Options URL , B64\_JSON | The format in which the generated images are returned. | false |
| style | Style | STRING Options VIVID , NATURAL | The style of the generated images. Must be one of vivid or natural. Vivid causes the model to lean towards generating hyper-real and dramatic images. Natural causes the model to produce more natural, less hyper-real looking images. This parameter is only supported for dall-e-3. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Image",
"name" : "createImage",
"parameters" : {
"model" : "",
"imageMessages" : [ {
"content" : "",
"weight" : 0.0
} ],
"size" : "",
"n" : 1,
"responseFormat" : "",
"style" : "",
"user" : ""
},
"type" : "azureOpenAi/v1/createImage"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :-----: | :----: | :-----------------------------------------: |
| url | STRING | URL of the generated image. |
| b64Json | STRING | Base64 encoded JSON of the generated image. |
#### Output Example [#output-example]
```json
{
"url" : "",
"b64Json" : ""
}
```
### Create Transcriptions [#create-transcriptions]
Name: createTranscription
`Transcribes audio into the input language.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| file | File Entry | FILE\_ENTRY | The audio file object to transcribe, in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. | true |
| model | Model | STRING | Whisper deployment name. | true |
| language | Language | STRING Options AF , AR , HY , AZ , BE , BS , BG , CA , ZH , HR , CS , DA , NL , EL , ET , EN , FI , FR , GL , DE , HE , HI , HU , IS , ID , IT , JA , KK , KN , KO , LT , LV , MA , MK , MR , MS , NE , NO , FA , PL , PT , RO , RU , SK , SL , SR , ES , SV , SW , TA , TL , TH , TR , UK , UR , VI , CY | The language of the input audio. | false |
| prompt | Prompt | STRING | An optional text to guide the model's style or continue a previous audio segment. The prompt should match the audio language. | false |
| responseFormat | Response Format | STRING Options json , text , srt , verbose\_json , vtt | The format of the transcript output | true |
| temperature | Temperature | NUMBER | The sampling temperature, between 0 and 1. Higher values like will make the output more random, while lower values will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Transcriptions",
"name" : "createTranscription",
"parameters" : {
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"model" : "",
"language" : "",
"prompt" : "",
"responseFormat" : "",
"temperature" : 0.0
},
"type" : "azureOpenAi/v1/createTranscription"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: BambooHR
URL: /reference/components/bamboohr_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/bamboohr_v1.mdx
BambooHR is a human resources software that helps HR teams manage employee data, hiring, onboarding, time tracking, payroll, performance management, and more in one platform.
Categories: Human Resources Information System
Type: bambooHr/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :----: | :---------------------------------------------------: | :------: |
| companyDomain | Company Domain | STRING | Text before .bamboohr.com when logged in to BambooHR. | true |
| username | API Key | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to the dashboard at [https://app.bamboohr.com/login/](https://app.bamboohr.com/login/).
2. Click on My Account.
3. Click on API Keys.
4. Click Add New Key.
5. Name new API key and click Generate Key.
6. Copy the API key and click Done. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Create Employee [#create-employee]
Name: createEmployee
`Add a new employee.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------------------: | :-------------: | :----: | :------------------------------------: | :------: |
| firstName | First Name | STRING | The first name of the employee. | true |
| lastName | Last Name | STRING | The last name of the employee. | true |
| employeeNumber | Employee Number | STRING | The employee number of the employee. | false |
| jobTitle | Job Title | STRING | The job title of the employee. | false |
| location | Location | STRING | The employee's current location. | false |
| employmentHistoryStatus | Employee Status | STRING | The employment status of the employee. | false |
| hireDate | Hire Date | DATE | The date the employee was hired. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Employee",
"name" : "createEmployee",
"parameters" : {
"firstName" : "",
"lastName" : "",
"employeeNumber" : "",
"jobTitle" : "",
"location" : "",
"employmentHistoryStatus" : "",
"hireDate" : "2021-01-01"
},
"type" : "bambooHr/v1/createEmployee"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :----: | :------------------------------------------: |
| url | STRING | The URL to view the employee in the web app. |
| id | STRING | The ID of the employee. |
#### Output Example [#output-example]
```json
{
"url" : "",
"id" : ""
}
```
### Update Employee [#update-employee]
Name: updateEmployee
`Update an employee, based on employee ID.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------------------: | :---------------------: | :----: | :--------------------------------------------: | :------: |
| id | Employee ID | STRING | The ID of the employee. | true |
| firstName | Updated First Name | STRING | The updated first name of the employee. | false |
| lastName | Updated Last Name | STRING | The updated last name of the employee. | false |
| jobTitle | Updated Job Title | STRING | The updated job title of the employee. | false |
| location | Updated Location | STRING | The updated employee's current location. | false |
| employmentHistoryStatus | Updated Employee Status | STRING | The updated employment status of the employee. | false |
| hireDate | Updated Hire Date | DATE | The updated date the employee was hired. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Update Employee",
"name" : "updateEmployee",
"parameters" : {
"id" : "",
"firstName" : "",
"lastName" : "",
"jobTitle" : "",
"location" : "",
"employmentHistoryStatus" : "",
"hireDate" : "2021-01-01"
},
"type" : "bambooHr/v1/updateEmployee"
}
```
#### Output [#output-1]
This action does not produce any output.
#### Find Employee ID [#find-employee-id]
To find the Employee ID, click [here](/reference/components/bamboohr_v1#how-to-find-employee-id).
### Get Employee [#get-employee]
Name: getEmployee
`Get employee data, based on employee ID.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----: | :---------: | :-------------------------------------------------------------: | :---------------------------------------------------------------------------: | :------: |
| id | Employee ID | STRING | The ID of the employee. | true |
| fields | null | ARRAY Items \[STRING] | Fields you want to get from employee. See documentation for available fields. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Employee",
"name" : "getEmployee",
"parameters" : {
"id" : "",
"fields" : [ "" ]
},
"type" : "bambooHr/v1/getEmployee"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Employee ID [#find-employee-id-1]
To find the Employee ID, click [here](/reference/components/bamboohr_v1#how-to-find-employee-id).
#### Find Fields [#find-fields]
To find the Fields, click [here](/reference/components/bamboohr_v1#how-to-find-fields).
### Update Employee File [#update-employee-file]
Name: updateEmployeeFile
`Update an employee file.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------------: | :---------------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------: | :------: |
| id | Employee ID | STRING | The ID of the employee. | true |
| fileId | File ID | STRING Depends On id | The ID of the employee file being updated. | true |
| name | Updated File Name | STRING | Use if you want to rename the file. | false |
| categoryId | Updated Category ID | STRING | Use if you want to move the file to a different category. | false |
| shareWithEmployee | Update Sharing The File | BOOLEAN Options true , false | Use if you want to update whether this file is shared or not. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Employee File",
"name" : "updateEmployeeFile",
"parameters" : {
"id" : "",
"fileId" : "",
"name" : "",
"categoryId" : "",
"shareWithEmployee" : false
},
"type" : "bambooHr/v1/updateEmployeeFile"
}
```
#### Output [#output-3]
This action does not produce any output.
#### Find Employee ID [#find-employee-id-2]
To find the Employee ID, click [here](/reference/components/bamboohr_v1#how-to-find-employee-id).
#### Find File ID [#find-file-id]
To find the File ID, click [here](/reference/components/bamboohr_v1#how-to-find-file-id).
## Triggers [#triggers]
### Updated Employee [#updated-employee]
Name: updatedEmployee
`Triggers when specific employee fields are updated.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :-----------: | :-----------------------------: | :-------------------------------------------------------------: | :----------------------------------: | :------: |
| monitorFields | Fields to Monitor | ARRAY Items \[STRING] | The fields to monitor for changes. | true |
| postFields | Fields to include in the Output | ARRAY Items \[STRING] | The fields to include in the output. | true |
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "Updated Employee",
"name" : "updatedEmployee",
"parameters" : {
"monitorFields" : [ "" ],
"postFields" : [ "" ]
},
"type" : "bambooHr/v1/updatedEmployee"
}
```
#### Find Fields [#find-fields-1]
To find the Fields, click [here](/reference/components/bamboohr_v1#how-to-find-fields).
### New Employee [#new-employee]
Name: newEmployee
`Triggers when a new employee is created.`
Type: POLLING
#### Output [#output-5]
Type: STRING
#### JSON Example [#json-example-1]
```json
{
"label" : "New Employee",
"name" : "newEmployee",
"type" : "bambooHr/v1/newEmployee"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Employee ID [#how-to-find-employee-id]
Use the `GET /employees/directory` endpoint to retrieve a list of all employees and their IDs.
The Employee ID can also be found in the output of the following actions and triggers:
* **Create Employee**
* **New Employee** trigger
* **Updated Employee** trigger
### How to find Fields [#how-to-find-fields]
Use the `GET /meta/fields` endpoint to retrieve a list of all fields or visit [https://documentation.bamboohr.com/docs/list-of-field-names](https://documentation.bamboohr.com/docs/list-of-field-names) where you can find field names.
### How to find File ID [#how-to-find-file-id]
Use the `GET /employees/EMPLOYEE_ID/files/view` endpoint to retrieve a list of all files from specific employee and their IDs.
# ByteChef Reference: Baserow
URL: /reference/components/baserow_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/baserow_v1.mdx
Baserow is an open-source, no-code database platform that enables users to create, manage, and collaborate on databases through a user-friendly interface.
Categories: Productivity and Collaboration
Type: baserow/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :------------: | :----: | :---------: | :------: |
| token | Database Token | STRING | | true |
## Connection Setup [#connection-setup]
Connect Baserow to ByteChef using a Database Token.
### Create a Database Token in Baserow [#create-a-database-token-in-baserow]
1. Log in to Baserow.
2. Open your avatar menu and go to **My settings**.
3. In the left sidebar, select **Database tokens**.
4. Click **Create token +**.
5. Enter a clear name (for example, `ByteChef integration`).
6. Choose the workspace this token should access and set the required permissions (read/create/update/delete) for the tables you plan to use.
7. Click **Create token** and copy the generated token value.
## Actions [#actions]
### Create Row [#create-row]
Name: createRow
`Creates a new row.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------------: | :--------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: | :------: |
| tableId | Table ID | INTEGER | ID of the table where the row must be created in. | true |
| user\_field\_names | User Field Names | BOOLEAN Options true , false | The field names returned by this endpoint will be the actual names of the fields. | false |
| fields | | DYNAMIC\_PROPERTIES Depends On tableId | | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Row",
"name" : "createRow",
"parameters" : {
"tableId" : 1,
"user_field_names" : false,
"fields" : { }
},
"type" : "baserow/v1/createRow"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find table ID [#find-table-id]
To find the Table ID, click [here](/reference/components/baserow_v1#how-to-find-your-table-id).
### Delete Row [#delete-row]
Name: deleteRow
`Deletes the specified row.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :-----: | :-----------------------------------------------: | :------: |
| tableId | Table ID | INTEGER | ID of the table containing the row to be deleted. | true |
| rowId | Row ID | INTEGER | ID of the row to be deleted. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Row",
"name" : "deleteRow",
"parameters" : {
"tableId" : 1,
"rowId" : 1
},
"type" : "baserow/v1/deleteRow"
}
```
#### Output [#output-1]
This action does not produce any output.
#### Find table ID and record ID [#find-table-id-and-record-id]
To find the Table ID, click [here](/reference/components/baserow_v1#how-to-find-your-table-id).
To find the Record ID, click [here](/reference/components/baserow_v1#how-to-find-your-record-id).
### Get Row [#get-row]
Name: getRow
`Fetches a single table row.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------------: | :--------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: | :------: |
| tableId | Table ID | INTEGER | ID of the table where you want to get the row from. | true |
| rowId | Row ID | INTEGER | ID of the row to get. | true |
| user\_field\_names | User Field Names | BOOLEAN Options true , false | The field names returned by this endpoint will be the actual names of the fields. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Row",
"name" : "getRow",
"parameters" : {
"tableId" : 1,
"rowId" : 1,
"user_field_names" : false
},
"type" : "baserow/v1/getRow"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find table ID and record ID [#find-table-id-and-record-id-1]
To find the Table ID, click [here](/reference/components/baserow_v1#how-to-find-your-table-id).
To find the Record ID, click [here](/reference/components/baserow_v1#how-to-find-your-record-id).
### List Rows [#list-rows]
Name: listRows
`Lists table rows.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----------------: | :--------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :------: |
| tableId | Table ID | INTEGER | ID of the table where you want to get the rows from. | true |
| size | Size | INTEGER | The maximum number of rows to retrieve. | false |
| order\_by | Order By | STRING | If provided rows will be order by specific field. Use - sign for descending ordering. | false |
| user\_field\_names | User Field Names | BOOLEAN Options true , false | The field names returned by this endpoint will be the actual names of the fields. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Rows",
"name" : "listRows",
"parameters" : {
"tableId" : 1,
"size" : 1,
"order_by" : "",
"user_field_names" : false
},
"type" : "baserow/v1/listRows"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find table ID [#find-table-id-1]
To find the Table ID, click [here](/reference/components/baserow_v1#how-to-find-your-table-id).
### Update Row [#update-row]
Name: updateRow
`Updates the specified row.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------------: | :--------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: | :------: |
| tableId | Table ID | INTEGER | ID of the table containing the row to be updated. | true |
| rowId | Row ID | INTEGER | ID of the row to be updated. | true |
| user\_field\_names | User Field Names | BOOLEAN Options true , false | The field names returned by this endpoint will be the actual names of the fields. | false |
| fields | | DYNAMIC\_PROPERTIES Depends On tableId | | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Update Row",
"name" : "updateRow",
"parameters" : {
"tableId" : 1,
"rowId" : 1,
"user_field_names" : false,
"fields" : { }
},
"type" : "baserow/v1/updateRow"
}
```
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find table ID and record ID [#find-table-id-and-record-id-2]
To find the Table ID, click [here](/reference/components/baserow_v1#how-to-find-your-table-id).
To find the Record ID, click [here](/reference/components/baserow_v1#how-to-find-your-record-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find your table ID [#how-to-find-your-table-id]
You have various methods to find your Baserow table ID:
* **Method 1: Through database tokens**
1. Click on your workspace in the top left corner.
2. Select **Settings** -> **Database tokens**.
3. Click on your token.
4. Select **Show databases**.
5. Your table IDs will be listed alongside table names.
* **Method 2: Check the database API documentation**
Similar to finding your database ID, the API documentation displays all table IDs within your database.
1. Go to your database settings.
2. Look for the **View API docs** link.
3. Baserow auto-generates documentation showing all table IDs and field structures.
* Example URL: `https://api.baserow.io/api/database/tables/database/DATABASE_ID/`
* Authorization: `Token YOUR_API_TOKEN`
* Response includes all tables with their IDs.
* **Method 3: Table options menu**
1. Click the three dots next to any table name.
2. The table ID appears in brackets next to the table name.
* Example: `Customer Data (12345)` where `12345` is your table ID.
* **Method 4: Browser URL**
1. Open the table you want to connect in Baserow.
2. Look at the browser address bar.
3. The URL structure is: `https://baserow.io/database/DATABASE_ID/table/TABLE_ID/...`
4. Extract the number after `/table/`.
### How to find your record ID [#how-to-find-your-record-id]
Baserow row IDs are permanent identifiers for each record. Unlike row counts, they don't change when you sort or delete other rows.
* **Method 1: Grid view**
The row ID is typically visible in the grid view. Note that if you switch to other views like Kanban or Form, the row ID column might not be visible by default.
* **Method 2: Browser URL**
1. Open the table in Baserow.
2. Expand the row you want to identify to its full view.
3. Look at your browser’s address bar.
4. The URL structure will be: `https://baserow.io/database/DATABASE_ID/table/TABLE_ID/ROW_ID/row/RECORD_ID`
5. The last part of the URL is your record ID.
# ByteChef Reference: Bash
URL: /reference/components/bash_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/bash_v1.mdx
Allows you to run arbitrary Bash scripts.
Categories:
Type: bash/v1
## Actions [#actions]
### Execute [#execute]
Name: execute
`Creates a temporary script that executes bash commands. The script is afterwards deleted.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----: | :----------------------------------------------------------------------------: | :------: |
| script | Script | STRING | Script written in bash. Multiple commands are possible with the ';' separator. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Execute",
"name" : "execute",
"parameters" : {
"script" : ""
},
"type" : "bash/v1/execute"
}
```
#### Output [#output]
***Sample Output:***
`Sample result`
Type: STRING
# ByteChef Reference: Beamer
URL: /reference/components/beamer_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/beamer_v1.mdx
Beamer is a customer engagement platform that helps businesses communicate updates, collect feedback, and boost user engagement through in-app notifications, changelogs, and announcements.
Categories: Productivity and Collaboration
Type: beamer/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--: | :-----: | :----: | :---------: | :------: |
| key | API key | STRING | | true |
## Connection Setup [#connection-setup]
### Find API Key [#find-api-key]
1. Navigate to your Beamer dashboard.
2. Click on **Settings**.
3. Click on **API**.
4. Click on **Create new API key**.
5. Enter name of your new API key.
6. Enable everything and **Copy** your API key.
## Actions [#actions]
### Create Feature Request [#create-feature-request]
Name: createFeatureRequest
`Creates a new feature request.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :---------------------: | :----: | :-------------------------------------------------------------: | :------: |
| title | Feature Request Title | STRING | The name of the new feature request. | true |
| content | Feature Request Content | STRING | The content of the new feature request. | false |
| userEmail | User Email | STRING | The email of the user that is creating the new feature request. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Feature Request",
"name" : "createFeatureRequest",
"parameters" : {
"title" : "",
"content" : "",
"userEmail" : ""
},
"type" : "beamer/v1/createFeatureRequest"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------: |
| id | STRING | The ID of the new feature request. |
| date | STRING | Publish date of the new feature request. |
| visible | STRING | Whether this feature required is visible or not. |
| category | STRING | The category of the new feature request. |
| status | STRING | The status of the new feature request. |
| translations | ARRAY Items \[\{STRING(title), STRING(content), STRING(contentHtml), STRING(language), STRING(permalink), \[STRING]\(images)}] | |
| votesCount | INTEGER | The number of votes for the new feature request. |
| commentsCount | STRING | The number of comments for the new feature request. |
| notes | STRING | The notes for the new feature request. |
| filters | STRING | Segment filters for the new feature request. |
| internalUserEmail | STRING | Email of the user in your account who created this feature request (if created by a team member). |
| internalUserFirstname | STRING | First name of the user in your account who created this feature request (if created by a team member). |
| internalUserLastname | STRING | Last name of the user in your account who created this feature request (if created by a team member). |
| userId | STRING | ID of the end user who created this feature request (if created by an end user). |
| userEmail | STRING | Email of the end user who created this feature request (if created by an end user). |
| userFirstname | STRING | First name of the end user who created this feature request (if created by an end user). |
| userLastname | STRING | Last name of the end user who created this feature request (if created by an end user). |
#### Output Example [#output-example]
```json
{
"id" : "",
"date" : "",
"visible" : "",
"category" : "",
"status" : "",
"translations" : [ {
"title" : "",
"content" : "",
"contentHtml" : "",
"language" : "",
"permalink" : "",
"images" : [ "" ]
} ],
"votesCount" : 1,
"commentsCount" : "",
"notes" : "",
"filters" : "",
"internalUserEmail" : "",
"internalUserFirstname" : "",
"internalUserLastname" : "",
"userId" : "",
"userEmail" : "",
"userFirstname" : "",
"userLastname" : ""
}
```
### Create Post [#create-post]
Name: createPost
`Creates a new post.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------: | :------: |
| title | Title | STRING | Title of the new post. | true |
| content | Content | STRING | Content of the new post. | true |
| category | Category | STRING Options new , improvement , fix , comingsoon , announcement , other | Category of the new post. | true |
| userEmail | User Email | STRING | Email of the user that is creating the new post. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Post",
"name" : "createPost",
"parameters" : {
"title" : "",
"content" : "",
"category" : "",
"userEmail" : ""
},
"type" : "beamer/v1/createPost"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| id | STRING | The ID of the new post. |
| date | STRING | Publication date of the new post. |
| dueDate | STRING | Expiration date of the new post. |
| published | STRING | Whether the new post is published or a draft. |
| category | STRING | Category of the new post. |
| feedbackEnabled | STRING | Whether this user feedback is enabled for this post. |
| reactionsEnabled | STRING | Whether reactions are enabled for this post. |
| translations | ARRAY Items \[\{STRING(title), STRING(content), STRING(contentHtml), STRING(language), STRING(category), STRING(linkUrl), STRING(linkText), \[STRING]\(images)}] | |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"date" : "",
"dueDate" : "",
"published" : "",
"category" : "",
"feedbackEnabled" : "",
"reactionsEnabled" : "",
"translations" : [ {
"title" : "",
"content" : "",
"contentHtml" : "",
"language" : "",
"category" : "",
"linkUrl" : "",
"linkText" : "",
"images" : [ "" ]
} ]
}
```
### Get Feed [#get-feed]
Name: getFeed
`Get the URL for your feed.`
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Feed",
"name" : "getFeed",
"type" : "beamer/v1/getFeed"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :--: | :----: | :---------------------------: |
| url | STRING | URL for your standalone feed. |
#### Output Example [#output-example-2]
```json
{
"url" : ""
}
```
### New Comment [#new-comment]
Name: newComment
`Creates a new comment on selected post.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :-----------: | :-------------: | :----: | :------------------------------------------------------: | :------: |
| postId | Post | STRING | ID of the post that will have the new comment. | true |
| text | Text | STRING | Text of the comment. | false |
| userId | User ID | STRING | ID of the user that is creating the new comment. | false |
| userEmail | User Email | STRING | Email of the user that is creating the new comment. | false |
| userFirstname | User First Name | STRING | First name of the user that is creating the new comment. | false |
| userLastname | User Last Name | STRING | Last name of the user that is creating the new comment. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "New Comment",
"name" : "newComment",
"parameters" : {
"postId" : "",
"text" : "",
"userId" : "",
"userEmail" : "",
"userFirstname" : "",
"userLastname" : ""
},
"type" : "beamer/v1/newComment"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :-----------: | :----: | :--------------------------------------------------: |
| id | STRING | ID of the new comment. |
| date | STRING | Publication date of the new comment. |
| text | STRING | Content of the new comment. |
| postTitle | STRING | Title of the post this comment was created on. |
| userId | STRING | ID of the user that created the new comment. |
| userEmail | STRING | Email of the user that created the new comment. |
| userFirstname | STRING | First name of the user that created the new comment. |
| userLastname | STRING | Last name of the user that created the new comment. |
| url | STRING | URL of the new comment in your dashboard. |
#### Output Example [#output-example-3]
```json
{
"id" : "",
"date" : "",
"text" : "",
"postTitle" : "",
"userId" : "",
"userEmail" : "",
"userFirstname" : "",
"userLastname" : "",
"url" : ""
}
```
### New Vote [#new-vote]
Name: newVote
`Creates a new vote on selected feature request.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :-----------: | :----------------: | :----: | :----------------------------------------------------: | :------: |
| requestId | Feature Request ID | STRING | ID of the feature request that will have the new vote. | true |
| userId | User ID | STRING | ID of the user that is creating the new vote. | false |
| userEmail | User Email | STRING | Email of the user that is creating the new vote. | false |
| userFirstname | User First Name | STRING | First name of the user that is creating the new vote. | false |
| userLastname | User Last Name | STRING | Last name of the user that is creating the new vote. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "New Vote",
"name" : "newVote",
"parameters" : {
"requestId" : "",
"userId" : "",
"userEmail" : "",
"userFirstname" : "",
"userLastname" : ""
},
"type" : "beamer/v1/newVote"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :-----------------: | :----: | :---------------------------------------------------: |
| id | STRING | The ID of the new vote. |
| date | STRING | Creation date of the new vote. |
| featureRequestTitle | STRING | Title of the feature request this vote is created on. |
| userId | STRING | ID of the user that created the new vote. |
| userEmail | STRING | Email of the user that created the new vote. |
| userFirstname | STRING | First name of the user that created the new vote. |
| userLastname | STRING | Last name of the user that created the new vote. |
| url | STRING | URL of the new vote in your dashboard. |
#### Output Example [#output-example-4]
```json
{
"id" : "",
"date" : "",
"featureRequestTitle" : "",
"userId" : "",
"userEmail" : "",
"userFirstname" : "",
"userLastname" : "",
"url" : ""
}
```
## Triggers [#triggers]
### New Post [#new-post]
Name: newPost
`Triggers when a new post is added.`
Type: POLLING
#### Output [#output-5]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :---------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------: |
| autoOpen | BOOLEAN Options true , false | Whether the post is auto opened. |
| category | STRING | Category of the post. |
| clicks | INTEGER | How many clicks does the post have. |
| date | DATE | Date when the post was created. |
| feedbackEnabled | BOOLEAN Options true , false | Whether the users can give feedback on the post. |
| feedbacks | INTEGER | How many feedbacks does the post have. |
| negativeReactions | INTEGER | How many negative reactions does the post have |
| neutralReactions | INTEGER | How many neutral reactions does the post have |
| positiveReactions | INTEGER | How many positive reactions does the post have |
| published | BOOLEAN Options true , false | Whether the post is published. |
| reactionsEnabled | BOOLEAN Options true , false | Whether the reactions are enabled. |
| translations | ARRAY Items \[\{STRING(category), STRING(content), STRING(contentHtml), STRING(language), STRING(postUrl), STRING(title)}, INTEGER($uniqueViews), INTEGER\($views)] | |
#### JSON Example [#json-example]
```json
{
"label" : "New Post",
"name" : "newPost",
"type" : "beamer/v1/newPost"
}
```
# ByteChef Reference: Binance
URL: /reference/components/binance_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/binance_v1.mdx
Binance is an online exchange where users can trade cryptocurrencies.
Categories: Payment Processing
Type: binance/v1
## Actions [#actions]
### Fetch Pair Price [#fetch-pair-price]
Name: fetchPairPrice
`Fetch the price of a crypto pair from Binance.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----: | :----------------------------: | :------: |
| symbol | Symbol | STRING | The symbol of the crypto pair. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Fetch Pair Price",
"name" : "fetchPairPrice",
"parameters" : {
"symbol" : ""
},
"type" : "binance/v1/fetchPairPrice"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :----: | :----: | :----------------------------: |
| symbol | STRING | The symbol of the crypto pair. |
| price | STRING | The price of the crypto pair. |
#### Output Example [#output-example]
```json
{
"symbol" : "",
"price" : ""
}
```
#### Find Symbol ID [#find-symbol-id]
The Symbol ID is a unique value that can be found in the Binance UI or via the API.
* **Method 1: In the Binance UI**
1. Go to [https://www.binance.com/en/futures/multi-symbols](https://www.binance.com/en/futures/multi-symbols).
2. On the left bar you can find symbols.
* **Method 2: Via API**
Use the `GET /exchangeInfo` endpoint to retrieve a list of all symbols and their IDs.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Bitbucket
URL: /reference/components/bitbucket_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/bitbucket_v1.mdx
Elevate your software delivery from planning to production and beyond, with built-in AI, CI/CD, and a best-in-class Jira integration.
Categories: Project Management
Type: bitbucket/v1
## Connections [#connections]
Version: 1
### API Key Authorization [#api-key-authorization]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-----------: | :----: | :--------------------------------------: | :------: |
| username | Email Address | STRING | Email address of your Bitbucket account. | true |
| password | API Key | STRING | API key creation steps in documentation. | true |
## Connection Setup [#connection-setup]
### Bitbucket API Token Creation [#bitbucket-api-token-creation]
1. Go to the [Bitbucket website](https://bitbucket.org).
2. Click **Settings**.
3. Click **Atlassian account settings**.
4. Click **Security**.
5. Click **Create and manage API tokens**.
6. Click **Create API token with scopes**.
7. Enter name of your API token.
8. Choose expiry date of your API token.
9. Click **Next**.
10. Select **Bitbucket**.
11. Click **Next**.
12. Find and select these scopes:
* admin:project:bitbucket
* admin:repository:bitbucket
* delete:webhook:bitbucket
* read:project:bitbucket
* read:repository:bitbucket
* read:user:bitbucket
* read:webhook:bitbucket
* read:workspace:bitbucket
* write:webhook:bitbucket
13. After you have selected scopes click **Next**.
14. Click **Create token**.
15. Click on **Copy**. Make sure to save your newly created API token because after this step you won’t be able to view it again.
16. Click **Close**.
## Actions [#actions]
### Create Project [#create-project]
Name: createProject
`Creates a project in selected workspace.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| workspace | Workspace | STRING | Workspace where the project will be added. | true |
| name | Name | STRING | The name of the project. | true |
| key | Key | STRING | Key of the project (eg. AT, for a project named Atlassian). Project keys must start with a letter and may only consist of ASCII letters, numbers and underscores (A-Z, a-z, 0-9, \_). | true |
| description | Description | STRING | The description of project. | false |
| is\_private | Is Private | BOOLEAN Options true , false | Whether the project is private or not. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Project",
"name" : "createProject",
"parameters" : {
"workspace" : "",
"name" : "",
"key" : "",
"description" : "",
"is_private" : false
},
"type" : "bitbucket/v1/createProject"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :-----------------------------------------------------------------------------------: | :---------: |
| metrics | OBJECT Properties \{INTEGER(org\_keywords)} | |
#### Output Example [#output-example]
```json
{
"metrics" : {
"org_keywords" : 1
}
}
```
### Create Repository [#create-repository]
Name: createRepository
`Creates a repository in a selected workspace.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------: | :------: |
| workspace | Workspace | STRING | Workspace in which repository will be created. | true |
| repo\_slug | Repository Slug | STRING | Repository slug that is used as identifier for the repository. | true |
| name | Name | STRING | The name of the repository. | true |
| scm | Source Control Management. | STRING Options git | Specifies the version control system that your repository will use. | true |
| project | Project | OBJECT Properties \{STRING(key)} | Parent project of the repository. | true |
| is\_private | Is Private | BOOLEAN Options true , false | Whether the repository is private or not. | false |
| description | Description | STRING | The description of repository. | false |
| fork\_policy | Fork Policy | STRING Options allow\_forks , no\_public\_forks , no\_forks | Specifies the fork policy for the repository. | false |
| language | Language | STRING | Main programming language of the repository | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Repository",
"name" : "createRepository",
"parameters" : {
"workspace" : "",
"repo_slug" : "",
"name" : "",
"scm" : "",
"project" : {
"key" : ""
},
"is_private" : false,
"description" : "",
"fork_policy" : "",
"language" : ""
},
"type" : "bitbucket/v1/createRepository"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------: |
| type | STRING | The type of the object (usually "repository"). |
| links | OBJECT Properties \{\{STRING(href), STRING(name)}(self), \{STRING(href), STRING(name)}(html), \{STRING(href), STRING(name)}(avatar), \{STRING(href), STRING(name)}(pullrequests), \{STRING(href), STRING(name)}(commits), \{STRING(href), STRING(name)}(forks), \{STRING(href), STRING(name)}(watchers), \{STRING(href), STRING(name)}(downloads), \[\{STRING(href), STRING(name)}]\(clone), \{STRING(href), STRING(name)}(hooks)} | A collection of relevant resource links. |
| uuid | STRING | The globally unique identifier for the repository. |
| full\_name | STRING | The full name of the repository (workspace/repo\_slug). |
| is\_private | BOOLEAN Options true , false | Indicates whether the repository is private. |
| scm | STRING | The source control system (only "git" is supported). |
| owner | OBJECT Properties \{STRING(type)} | The user or team that owns the repository. |
| name | STRING | The display name of the repository. |
| description | STRING | A short description of the repository. |
| created\_on | STRING | Timestamp of when the repository was created. |
| updated\_on | STRING | Timestamp of the last repository update. |
| size | INTEGER | Total size of the repository in bytes. |
| language | STRING | The primary programming language of the repository. |
| has\_issues | BOOLEAN Options true , false | Indicates whether the issue tracker is enabled. |
| has\_wiki | BOOLEAN Options true , false | Indicates whether the wiki is enabled. |
| fork\_policy | STRING | Repository fork policy. |
| project | OBJECT Properties \{STRING(type)} | Project that the repository belongs to. |
| mainbranch | OBJECT Properties \{STRING(type)} | The default branch of the repository. |
#### Output Example [#output-example-1]
```json
{
"type" : "",
"links" : {
"self" : {
"href" : "",
"name" : ""
},
"html" : {
"href" : "",
"name" : ""
},
"avatar" : {
"href" : "",
"name" : ""
},
"pullrequests" : {
"href" : "",
"name" : ""
},
"commits" : {
"href" : "",
"name" : ""
},
"forks" : {
"href" : "",
"name" : ""
},
"watchers" : {
"href" : "",
"name" : ""
},
"downloads" : {
"href" : "",
"name" : ""
},
"clone" : [ {
"href" : "",
"name" : ""
} ],
"hooks" : {
"href" : "",
"name" : ""
}
},
"uuid" : "",
"full_name" : "",
"is_private" : false,
"scm" : "",
"owner" : {
"type" : ""
},
"name" : "",
"description" : "",
"created_on" : "",
"updated_on" : "",
"size" : 1,
"language" : "",
"has_issues" : false,
"has_wiki" : false,
"fork_policy" : "",
"project" : {
"type" : ""
},
"mainbranch" : {
"type" : ""
}
}
```
### List Projects [#list-projects]
Name: listProjects
`Returns list of projects from workspace.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----: | :---------------------------------------------: | :------: |
| workspace | Workspace | STRING | Workspace from which projects are to be listed. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "List Projects",
"name" : "listProjects",
"parameters" : {
"workspace" : ""
},
"type" : "bitbucket/v1/listProjects"
}
```
#### Output [#output-2]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------: |
| type | STRING | The type of the object (typically 'project'). |
| links | OBJECT Properties \{\{STRING(href), STRING(name)}(html), \{STRING(href), STRING(name)}(avatar)} | Relevant links for the project. |
| uuid | STRING | Globally unique identifier for the project. |
| key | STRING | Unique key identifying the project within the workspace. |
| owner | OBJECT Properties \{STRING(type)} | The workspace or user who owns the project. |
| name | STRING | Human-readable name of the project. |
| description | STRING | Description of the project. |
| is\_private | BOOLEAN Options true , false | Indicates whether the project is private. |
| created\_on | DATE\_TIME | Timestamp of when the project was created. |
| updated\_on | DATE\_TIME | Timestamp of the last update to the project. |
| has\_publicly\_visible\_repos | BOOLEAN Options true , false | Indicates if the project contains any public repositories. |
#### Output Example [#output-example-2]
```json
[ {
"type" : "",
"links" : {
"html" : {
"href" : "",
"name" : ""
},
"avatar" : {
"href" : "",
"name" : ""
}
},
"uuid" : "",
"key" : "",
"owner" : {
"type" : ""
},
"name" : "",
"description" : "",
"is_private" : false,
"created_on" : "2021-01-01T00:00:00",
"updated_on" : "2021-01-01T00:00:00",
"has_publicly_visible_repos" : false
} ]
```
### List Repositories [#list-repositories]
Name: listRepositories
`Returns list of repositories from workspace.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----: | :-------------------------------------------------: | :------: |
| workspace | Workspace | STRING | Workspace from which repositories are to be listed. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Repositories",
"name" : "listRepositories",
"parameters" : {
"workspace" : ""
},
"type" : "bitbucket/v1/listRepositories"
}
```
#### Output [#output-3]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------: |
| type | STRING | The type of the object (usually "repository"). |
| links | OBJECT Properties \{\{STRING(href), STRING(name)}(self), \{STRING(href), STRING(name)}(html), \{STRING(href), STRING(name)}(avatar), \{STRING(href), STRING(name)}(pullrequests), \{STRING(href), STRING(name)}(commits), \{STRING(href), STRING(name)}(forks), \{STRING(href), STRING(name)}(watchers), \{STRING(href), STRING(name)}(downloads), \[\{STRING(href), STRING(name)}]\(clone), \{STRING(href), STRING(name)}(hooks)} | A collection of relevant resource links. |
| uuid | STRING | The globally unique identifier for the repository. |
| full\_name | STRING | The full name of the repository (workspace/repo\_slug). |
| is\_private | BOOLEAN Options true , false | Indicates whether the repository is private. |
| scm | STRING | The source control system (only "git" is supported). |
| owner | OBJECT Properties \{STRING(type)} | The user or team that owns the repository. |
| name | STRING | The display name of the repository. |
| description | STRING | A short description of the repository. |
| created\_on | STRING | Timestamp of when the repository was created. |
| updated\_on | STRING | Timestamp of the last repository update. |
| size | INTEGER | Total size of the repository in bytes. |
| language | STRING | The primary programming language of the repository. |
| has\_issues | BOOLEAN Options true , false | Indicates whether the issue tracker is enabled. |
| has\_wiki | BOOLEAN Options true , false | Indicates whether the wiki is enabled. |
| fork\_policy | STRING | Repository fork policy. |
| project | OBJECT Properties \{STRING(type)} | Project that the repository belongs to. |
| mainbranch | OBJECT Properties \{STRING(type)} | The default branch of the repository. |
#### Output Example [#output-example-3]
```json
[ {
"type" : "",
"links" : {
"self" : {
"href" : "",
"name" : ""
},
"html" : {
"href" : "",
"name" : ""
},
"avatar" : {
"href" : "",
"name" : ""
},
"pullrequests" : {
"href" : "",
"name" : ""
},
"commits" : {
"href" : "",
"name" : ""
},
"forks" : {
"href" : "",
"name" : ""
},
"watchers" : {
"href" : "",
"name" : ""
},
"downloads" : {
"href" : "",
"name" : ""
},
"clone" : [ {
"href" : "",
"name" : ""
} ],
"hooks" : {
"href" : "",
"name" : ""
}
},
"uuid" : "",
"full_name" : "",
"is_private" : false,
"scm" : "",
"owner" : {
"type" : ""
},
"name" : "",
"description" : "",
"created_on" : "",
"updated_on" : "",
"size" : 1,
"language" : "",
"has_issues" : false,
"has_wiki" : false,
"fork_policy" : "",
"project" : {
"type" : ""
},
"mainbranch" : {
"type" : ""
}
} ]
```
## Triggers [#triggers]
### Repository Push [#repository-push]
Name: repositoryPush
`Triggers whenever a repository push occurs.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-------------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| workspace | Workspace | STRING | Workspace where the repository is located. | true |
| repository | Repository | STRING Depends On workspace | Repository that will be connected to the trigger. | true |
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "Repository Push",
"name" : "repositoryPush",
"parameters" : {
"workspace" : "",
"repository" : ""
},
"type" : "bitbucket/v1/repositoryPush"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Bolna
URL: /reference/components/bolna_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/bolna_v1.mdx
Bolna AI is an open-source platform that enables businesses to create and deploy voice-driven conversational agents
Categories: Artificial Intelligence
Type: bolna/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| token | API Key | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to the dashboard at [https://platform.bolna.ai](https://platform.bolna.ai).
2. Navigate to Developers tab from the left menu bar after login.
3. Click the button Create a new API Key to generate a key.
4. Copy the API key. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Make Phone Call [#make-phone-call]
Name: makePhoneCall
`Make a phone call using voice AI agent.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------------------: | :--------------------: | :----: | :---------------------------------------------------------------------: | :------: |
| agent\_id | Agent ID | STRING | Agent id which will initiate the outbound call. | true |
| recipient\_phone\_number | Recipient Phone Number | STRING | Phone number of the recipient alongwith country code (in E.164 format). | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Make Phone Call",
"name" : "makePhoneCall",
"parameters" : {
"agent_id" : "",
"recipient_phone_number" : ""
},
"type" : "bolna/v1/makePhoneCall"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------: | :----: | :----------------------------------------------------: |
| message | STRING | Response message for the call initiated. |
| status | STRING | Status of the call. |
| execution\_id | STRING | Unique execution id or call id identifier of the call. |
#### Output Example [#output-example]
```json
{
"message" : "",
"status" : "",
"execution_id" : ""
}
```
## Triggers [#triggers]
### Call Completion Report [#call-completion-report]
Name: callCompletionReport
`Triggers when a call is completed.`
Type: STATIC\_WEBHOOK
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "Call Completion Report",
"name" : "callCompletionReport",
"type" : "bolna/v1/callCompletionReport"
}
```
# ByteChef Reference: Box
URL: /reference/components/box_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/box_v1.mdx
Box is a cloud content management and file sharing service that enables businesses to securely store, manage, and collaborate on documents.
Categories: File Storage
Type: box/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Follow these steps to connect Box to ByteChef using OAuth 2.0.
1. Login to your [Box account](https://app.box.com/).
2. Click on **Dev Console** in the bottom‑left corner.
3. Click on **Create Platform App**.
4. Select **Custom App** for an app type.
5. Enter the name and select a purpose for your app. Click **Next**.
6. Select **User Authentication Method**. Click **Create App**.
7. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://localhost:5173/callback`
8. Select scopes for your app.
9. Copy the Client ID and Client Secret.
## Actions [#actions]
### Create Folder [#create-folder]
Name: createFolder
`Creates a new empty folder within the specified parent folder.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :--------------: | :----: | :-------------------------------------------------------------------------------------------------------: | :------: |
| name | Folder Name | STRING | The name for the new folder. | true |
| id | Parent Folder ID | STRING | ID of the folder where the new folder will be created. The root folder is always represented by the ID 0. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Folder",
"name" : "createFolder",
"parameters" : {
"name" : "",
"id" : ""
},
"type" : "box/v1/createFolder"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----: | :---------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------: |
| type | STRING | This is always set to folder. |
| id | STRING | ID of the new folder. |
| name | STRING | Name of the new folder. |
| parent | OBJECT Properties \{STRING(type), STRING(id), STRING(name)} | Folder that new folder is located within. This value may be null for some folders such as the root folder or the trash folder. |
#### Output Example [#output-example]
```json
{
"type" : "",
"id" : "",
"name" : "",
"parent" : {
"type" : "",
"id" : "",
"name" : ""
}
}
```
#### Find Folder ID [#find-folder-id]
To find the Folder ID, click [here](/reference/components/box_v1#how-to-find-folder-id).
### Download File [#download-file]
Name: downloadFile
`Download a selected file.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :--------------: | :------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------: | :------: |
| id | Parent Folder ID | STRING | ID of the folder from which you want to download the file. The root folder is always represented by the ID 0. | false |
| fileId | File ID | STRING Depends On id | ID of the file to download. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Download File",
"name" : "downloadFile",
"parameters" : {
"id" : "",
"fileId" : ""
},
"type" : "box/v1/downloadFile"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-4]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Find File ID [#find-file-id]
To find the File ID, click [here](/reference/components/box_v1#how-to-find-file-id).
#### Find Folder ID [#find-folder-id-1]
To find the Folder ID, click [here](/reference/components/box_v1#how-to-find-folder-id).
### Upload File [#upload-file]
Name: uploadFile
`Uploads a small file to Box.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--: | :--------------: | :---------: | :----------------------------------------------------------------------------------------------------: | :------: |
| id | Parent Folder ID | STRING | ID of the folder where the file should be uploaded. The root folder is always represented by the ID 0. | true |
| file | File Entry | FILE\_ENTRY | | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Upload File",
"name" : "uploadFile",
"parameters" : {
"id" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "box/v1/uploadFile"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------: |
| entries | ARRAY Items \[\{STRING(type), STRING(id), STRING(name), \{STRING(type), STRING(id), STRING(name)}(parent)}] | A list of files that were uploaded. |
#### Output Example [#output-example-2]
```json
{
"entries" : [ {
"type" : "",
"id" : "",
"name" : "",
"parent" : {
"type" : "",
"id" : "",
"name" : ""
}
} ]
}
```
#### Find Folder ID [#find-folder-id-2]
To find the Folder ID, click [here](/reference/components/box_v1#how-to-find-folder-id).
## Triggers [#triggers]
### New File [#new-file]
Name: newFile
`Triggers when file is uploaded to folder.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :-------------------------------------------------------------------------------------------: | :------: |
| folderId | Folder ID | STRING | ID of the folder to monitor for new files. The root folder is always represented by the ID 0. | true |
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----: | :---------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: |
| type | STRING | This is always set to file. |
| id | STRING | ID of the uploaded file. |
| name | STRING | Name of the uploaded file. |
| parent | OBJECT Properties \{STRING(type), STRING(id), STRING(name)} | Folder that uploaded file is located within. This value may be null for some folders such as the root folder or the trash folder. |
#### JSON Example [#json-example]
```json
{
"label" : "New File",
"name" : "newFile",
"parameters" : {
"folderId" : ""
},
"type" : "box/v1/newFile"
}
```
### New Folder [#new-folder]
Name: newFolder
`Triggers when folder is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :---------------------------------------------------------------------------------------------: | :------: |
| folderId | Folder ID | STRING | ID of the folder to monitor for new folders. The root folder is always represented by the ID 0. | true |
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :----: | :---------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------: |
| type | STRING | This is always set to folder. |
| id | STRING | ID of the new folder. |
| name | STRING | Name of the new folder. |
| parent | OBJECT Properties \{STRING(type), STRING(id), STRING(name)} | Folder that new folder is located within. This value may be null for some folders such as the root folder or the trash folder. |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Folder",
"name" : "newFolder",
"parameters" : {
"folderId" : ""
},
"type" : "box/v1/newFolder"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find File ID [#how-to-find-file-id]
The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL https\://\*.app.box.com/files/123 the file\_id is 123 .
The File ID can also be found in the output of the following actions and triggers:
* **Upload File**
* **New File** trigger
### How to find Folder ID [#how-to-find-folder-id]
To find a Box folder ID, open the folder in your web browser and copy the numeric string at the end of the URL (e.g., in app.box.com/folder/12345, the ID is 12345).
The Folder ID can also be found in the output of the following actions and triggers:
* **Create Folder**
* **New Folder** trigger
# ByteChef Reference: Brave
URL: /reference/components/brave_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/brave_v1.mdx
Brave gives you access to the same powerful, independent search index that powers the privacy-first search engine trusted by millions.
Categories: Helpers
Type: brave/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------: | :-------: | :----: | :---------: | :------: |
| api\_token | API Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Go to [https://api-dashboard.search.brave.com/app/keys](https://api-dashboard.search.brave.com/app/keys)
2. Log in to your account.
3. Subscribe into a plan.
4. Click on Generate a new API key and name it.
5. Copy the API key. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Web Search [#web-search]
Name: webSearch
`Search the web for relevant content.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| q | Search Query | STRING | The user’s search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query. | true |
| count | Count | INTEGER | The number of search results returned in response. The maximum is 20. The actual number delivered may be less than requested. Combine this parameter with offset to paginate search results. | false |
| offset | Offset | INTEGER | The zero based offset that indicates number of search result pages (count) to skip before returning the result. The actual number delivered may be less than requested. | false |
| safesearch | Safe Search | STRING Options off , moderate , strict | The level of safe search filtering applied to the query. | false |
| freshness | Freshness | STRING Options pd , pw , pm , py | Filters search results by when they were discovered. | false |
| result\_filter | Result Filter | STRING | A comma delimited string of result types to include in the search response. | false |
| summary | Summary | BOOLEAN Options true , false | This parameter enables summary key generation in web search results. | false |
| operators | Operators | BOOLEAN Options true , false | Whether to apply search operators. | false |
| country | Country | STRING Options ALL , US , GB , AR , AT , BE , BR , CA , CL , DK , FI , FR , DE , GR , HK , IN , ID , IT , JP , KR , MY , MX , NL , NZ , NO , CN , PL , PT , PH , RU , SA , ZA , ES , SE , CH , TW , TR | The 2 character country code where the search results come from. | false |
| search\_lang | Search Language | STRING Options en , en-gb , eu , ar , bn , bg , ca , zh-hans , zh-hant , hr , cs , da , nl , et , fi , fr , gl , de , el , gu , ge , he , hi , hu , is , it , jp , kn , ko , lv , lt , ms , ml , mr , nb , pl , pt-br , pt-pt , pa , ro , ur , sr , sk , sl , es , sv , ta , te , th , tr , uk , vi | The 2 or more character language code for which the search results are provided. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Web Search",
"name" : "webSearch",
"parameters" : {
"q" : "",
"count" : 1,
"offset" : 1,
"safesearch" : "",
"freshness" : "",
"result_filter" : "",
"summary" : false,
"operators" : false,
"country" : "",
"search_lang" : ""
},
"type" : "brave/v1/webSearch"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------: | :-----------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| query | OBJECT Properties \{STRING(original)} | |
| discussions | OBJECT Properties \{\[\{STRING(title), STRING(url), STRING(description)}]\(results)} | |
| faq | OBJECT Properties \{\[\{STRING(question), STRING(answer), STRING(url), STRING(title)}]\(results)} | |
| infobox | OBJECT Properties \{\[\{STRING(title), STRING(url), STRING(description)}]\(results)} | |
| locations | OBJECT Properties \{\[\{STRING(title), STRING(url), STRING(description)}]\(results)} | |
| news | OBJECT Properties \{\[\{STRING(title), STRING(url), STRING(description)}]\(results)} | |
| videos | OBJECT Properties \{\[\{STRING(title), STRING(url), STRING(description)}]\(results)} | |
| web | OBJECT Properties \{\[\{STRING(title), STRING(url), STRING(description)}]\(results)} | |
| summarizer | OBJECT Properties \{STRING(key)} | |
#### Output Example [#output-example]
```json
{
"query" : {
"original" : ""
},
"discussions" : {
"results" : [ {
"title" : "",
"url" : "",
"description" : ""
} ]
},
"faq" : {
"results" : [ {
"question" : "",
"answer" : "",
"url" : "",
"title" : ""
} ]
},
"infobox" : {
"results" : [ {
"title" : "",
"url" : "",
"description" : ""
} ]
},
"locations" : {
"results" : [ {
"title" : "",
"url" : "",
"description" : ""
} ]
},
"news" : {
"results" : [ {
"title" : "",
"url" : "",
"description" : ""
} ]
},
"videos" : {
"results" : [ {
"title" : "",
"url" : "",
"description" : ""
} ]
},
"web" : {
"results" : [ {
"title" : "",
"url" : "",
"description" : ""
} ]
},
"summarizer" : {
"key" : ""
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Brevo
URL: /reference/components/brevo_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/brevo_v1.mdx
Brevo is an email marketing platform that offers a cloud-based marketing communication software suite with transactional email, marketing automation, customer-relationship management and more.
Categories: Marketing Automation
Type: brevo/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | API key | STRING | | true |
## Connection Setup [#connection-setup]
1. Go to [https://www.brevo.com/](https://www.brevo.com/).
2. Log in to your account.
3. Click on company/organization name dropdown menu.
4. Click on SMTP & API.
5. Click on API keys.
6. Click on Generate a new API key and name it.
7. Copy the API key. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Creates new contact.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :---------------------------: | :------: |
| email | Email | STRING | Email address of the contact. | true |
| FIRSTNAME | First Name | STRING | First name of the contact. | false |
| LASTNAME | Last Name | STRING | Last name of the contact. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"email" : "",
"FIRSTNAME" : "",
"LASTNAME" : ""
},
"type" : "brevo/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :-----: | :------------------------: |
| id | INTEGER | ID of the created contact. |
#### Output Example [#output-example]
```json
{
"id" : 1
}
```
### Update Contact [#update-contact]
Name: updateContact
`Updates an existing contact.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :-------------------------------------: | :------: |
| email | Email | STRING | Email address of the contact to update. | true |
| FIRSTNAME | First Name | STRING | New first name of the contact. | false |
| LASTNAME | Last Name | STRING | New last name of the contact. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Update Contact",
"name" : "updateContact",
"parameters" : {
"email" : "",
"FIRSTNAME" : "",
"LASTNAME" : ""
},
"type" : "brevo/v1/updateContact"
}
```
#### Output [#output-1]
This action does not produce any output.
### Send Transactional Email [#send-transactional-email]
Name: sendTransactionalEmail
`Sends an email from your Brevo account.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :---------: | :------------: | :-------------------------------------------------------------------------------------------: | :-----------------------------------------------------: | :------: |
| senderEmail | Sender Email | STRING | Email of the sender from which the emails will be sent. | true |
| to | To Recipients | ARRAY Items \[STRING] | The To: recipients for the message. | true |
| bcc | Bcc Recipients | ARRAY Items \[STRING] | The Bcc recipients for the message. | false |
| cc | Cc Recipients | ARRAY Items \[STRING] | The Cc recipients for the message. | false |
| subject | Subject | STRING | Subject of the email. | true |
| contentType | Content Type | STRING Options TEXT , HTML | Content type of the email. | true |
| content | Text Content | STRING | Plain text body of the message. | true |
| content | HTML Content | STRING | HTML body of the message. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Send Transactional Email",
"name" : "sendTransactionalEmail",
"parameters" : {
"senderEmail" : "",
"to" : [ "" ],
"bcc" : [ "" ],
"cc" : [ "" ],
"subject" : "",
"contentType" : "",
"content" : ""
},
"type" : "brevo/v1/sendTransactionalEmail"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :-------: | :----: | :-----------------------------------------: |
| messageId | STRING | Message ID of the transactional email sent. |
#### Output Example [#output-example-1]
```json
{
"messageId" : ""
}
```
## Triggers [#triggers]
### Transactional Email Opened [#transactional-email-opened]
Name: transactionalEmailOpened
`Triggers when transactional email is opened.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "Transactional Email Opened",
"name" : "transactionalEmailOpened",
"type" : "brevo/v1/transactionalEmailOpened"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Browser Use
URL: /reference/components/browser-use_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/browser-use_v1.mdx
AI-powered browser automation that enables agents to perform web tasks such as navigating websites and extracting data.
Categories: Artificial Intelligence
Type: browserUse/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | API Key | STRING | | true |
## Connection Setup [#connection-setup]
1. Go to your Browser Use Dashboard.
2. On the left bar, you will find **Settings** -> **API Keys**.
3. Click on **Create API Key**.
4. Add label if you want and click **Create**.
5. Copy your API Key and use it in ByteChef.
## Actions [#actions]
### Create Session [#create-session]
Name: createSession
`Create a session and/or dispatch a task.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------------: | :--------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------: | :------: |
| task | Task | STRING | The natural-language instruction for the agent to execute. | true |
| model | Model | STRING Options claude-sonnet-4.6 , claude-opus-4.6 , gpt-5.4-mini | The model to use. | true |
| outputSchema | Output | OBJECT Properties \{STRING(format), STRING(schema)} | Configure how the browser agent should return results. | true |
| sessionId | Session ID | STRING | ID of an existing idle session to dispatch the task to. | false |
| keepAlive | Keep Alive | BOOLEAN Options true , false | If true, the session stays alive in idle state after the task completes instead of automatically stopping. | false |
| enableScheduledTasks | Enable Scheduled Tasks | BOOLEAN Options true , false | If true, the agent can create scheduled tasks that run on a recurring basis. | false |
| skills | Skills | BOOLEAN Options true , false | If true, enables built-in agent skills. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Session",
"name" : "createSession",
"parameters" : {
"task" : "",
"model" : "",
"outputSchema" : {
"format" : "",
"schema" : ""
},
"sessionId" : "",
"keepAlive" : false,
"enableScheduledTasks" : false,
"skills" : false
},
"type" : "browserUse/v1/createSession"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------: |
| id | STRING | Unique session identifier. |
| status | STRING | Current session lifecycle status. |
| model | STRING | The model tier used for this session. |
| createdAt | DATE\_TIME | When the session was created. |
| updatedAt | DATE\_TIME | When the session was last updated. |
| title | STRING | Auto-generated short title summarizing the task. |
| output | OBJECT Properties \{} | The agent's final output. |
| outputSchema | OBJECT Properties \{} | The JSON Schema that was requested for structured output, if any. |
| stepCount | INTEGER | Number of steps the agent has executed so far. |
| lastStepSummary | STRING | Human-readable summary of the most recent agent step. |
| isTaskSuccessful | BOOLEAN Options true , false | Whether the task completed successfully. |
| liveUrl | STRING | URL to view the live browser session. |
| recordingUrls | ARRAY Items \[STRING] | URLs to download session recordings. |
| profileId | STRING | ID of the browser profile loaded in this session, if any. |
| workspaceId | STRING | ID of the workspace attached to this session, if any. |
| proxyCountryCode | STRING | Country code of the proxy used for this session, or null if no proxy. |
| maxCostUsd | STRING | Maximum cost limit in USD set for this session. |
| totalInputTokens | INTEGER | Total LLM input tokens consumed by this session. |
| totalOutputTokens | INTEGER | Total LLM output tokens consumed by this session. |
| proxyUsedMb | STRING | Proxy bandwidth used in megabytes. |
| llmCostUsd | STRING | Cost of LLM usage in USD. |
| proxyCostUsd | STRING | Cost of proxy bandwidth in USD. |
| browserCostUsd | STRING | Cost of browser compute time in USD. |
| totalCostUsd | STRING | Total session cost in USD (LLM + proxy + browser). |
| screenshotUrl | STRING | URL of the latest browser screenshot. |
| agentmailEmail | STRING | Temporary email address provisioned for this session (via AgentMail). |
#### Output Example [#output-example]
```json
{
"id" : "",
"status" : "",
"model" : "",
"createdAt" : "2021-01-01T00:00:00",
"updatedAt" : "2021-01-01T00:00:00",
"title" : "",
"output" : { },
"outputSchema" : { },
"stepCount" : 1,
"lastStepSummary" : "",
"isTaskSuccessful" : false,
"liveUrl" : "",
"recordingUrls" : [ "" ],
"profileId" : "",
"workspaceId" : "",
"proxyCountryCode" : "",
"maxCostUsd" : "",
"totalInputTokens" : 1,
"totalOutputTokens" : 1,
"proxyUsedMb" : "",
"llmCostUsd" : "",
"proxyCostUsd" : "",
"browserCostUsd" : "",
"totalCostUsd" : "",
"screenshotUrl" : "",
"agentmailEmail" : ""
}
```
#### Find Session ID [#find-session-id]
To find the Session ID, click [here](/reference/components/browser-use_v1#how-to-find-the-session-id).
### Get Session [#get-session]
Name: getSession
`Get session details.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :-----------------------------: | :------: |
| sessionId | Session ID | STRING | ID of an existing idle session. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Session",
"name" : "getSession",
"parameters" : {
"sessionId" : ""
},
"type" : "browserUse/v1/getSession"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------: |
| id | STRING | Unique session identifier. |
| status | STRING | Current session lifecycle status. |
| model | STRING | The model tier used for this session. |
| createdAt | DATE\_TIME | When the session was created. |
| updatedAt | DATE\_TIME | When the session was last updated. |
| title | STRING | Auto-generated short title summarizing the task. |
| output | OBJECT Properties \{} | The agent's final output. |
| outputSchema | OBJECT Properties \{} | The JSON Schema that was requested for structured output, if any. |
| stepCount | INTEGER | Number of steps the agent has executed so far. |
| lastStepSummary | STRING | Human-readable summary of the most recent agent step. |
| isTaskSuccessful | BOOLEAN Options true , false | Whether the task completed successfully. |
| liveUrl | STRING | URL to view the live browser session. |
| recordingUrls | ARRAY Items \[STRING] | URLs to download session recordings. |
| profileId | STRING | ID of the browser profile loaded in this session, if any. |
| workspaceId | STRING | ID of the workspace attached to this session, if any. |
| proxyCountryCode | STRING | Country code of the proxy used for this session, or null if no proxy. |
| maxCostUsd | STRING | Maximum cost limit in USD set for this session. |
| totalInputTokens | INTEGER | Total LLM input tokens consumed by this session. |
| totalOutputTokens | INTEGER | Total LLM output tokens consumed by this session. |
| proxyUsedMb | STRING | Proxy bandwidth used in megabytes. |
| llmCostUsd | STRING | Cost of LLM usage in USD. |
| proxyCostUsd | STRING | Cost of proxy bandwidth in USD. |
| browserCostUsd | STRING | Cost of browser compute time in USD. |
| totalCostUsd | STRING | Total session cost in USD (LLM + proxy + browser). |
| screenshotUrl | STRING | URL of the latest browser screenshot. |
| agentmailEmail | STRING | Temporary email address provisioned for this session (via AgentMail). |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"status" : "",
"model" : "",
"createdAt" : "2021-01-01T00:00:00",
"updatedAt" : "2021-01-01T00:00:00",
"title" : "",
"output" : { },
"outputSchema" : { },
"stepCount" : 1,
"lastStepSummary" : "",
"isTaskSuccessful" : false,
"liveUrl" : "",
"recordingUrls" : [ "" ],
"profileId" : "",
"workspaceId" : "",
"proxyCountryCode" : "",
"maxCostUsd" : "",
"totalInputTokens" : 1,
"totalOutputTokens" : 1,
"proxyUsedMb" : "",
"llmCostUsd" : "",
"proxyCostUsd" : "",
"browserCostUsd" : "",
"totalCostUsd" : "",
"screenshotUrl" : "",
"agentmailEmail" : ""
}
```
#### Find Session ID [#find-session-id-1]
To find the Session ID, click [here](/reference/components/browser-use_v1#how-to-find-the-session-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Session ID [#how-to-find-the-session-id]
* **Method 1: Via API**
Use the `GET /sessions` endpoint to retrieve a list of all sessions and their IDs.
* **Method 2: Via UI**
Open your Browser Use dashboard and on the left bar your will find Agent Sessions. Open Agent Sessions and there you will find a list of sessions. The second column in the table is Session ID.
The Session ID can also be found in the output of the following actions:
* **Create Session**
* **Get Session**
# ByteChef Reference: Built-in Session Repository
URL: /reference/components/built-in-session-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/built-in-session-chat-memory_v1.mdx
Built-in storage backend for Session Chat Memory.
Categories: Artificial Intelligence
Type: builtInSessionChatMemory/v1
# ByteChef Reference: Cal.com
URL: /reference/components/calcom_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/calcom_v1.mdx
A fully customizable scheduling software for individuals, businesses taking calls and developers building scheduling platforms where users meet users.
Categories: Communication
Type: calcom/v1
## Connections [#connections]
Version: 1
### API Key Authorization [#api-key-authorization]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :------------------------------------------------: | :------: |
| token | Api Key | STRING | Can be found in Settings -> Developer -> API keys. | true |
## Connection Setup [#connection-setup]
### Find API Key [#find-api-key]
1. Navigate to your dashboard.
2. Click on **My settings**.
3. Click on **API keys**.
4. Click on **Add**.
5. Enter name of your API Key.
6. Choose expiration date of your API key.
7. Click on **Save**.
8. Click on **Copy** to copy the API key, you will not be able to see it after this step.
9. Click on **Done**.
## Triggers [#triggers]
### Booking Canceled [#booking-canceled]
Name: bookingCanceled
`Triggers when a booking is canceled.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output]
Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| bookerUrl | STRING | Booker URL. |
| title | STRING | Title of the booking. |
| length | INTEGER | Length of the booking. |
| type | STRING | Type of the booking. |
| additionalNotes | STRING | Additional notes of the booking. |
| description | STRING | Description of the booking. |
| customInputs | OBJECT Properties \{} | Custom inputs of the booking. |
| eventTypeId | INTEGER | ID of the event type of the booking. |
| userFieldsResponses | OBJECT Properties \{} | User field responses of the booking. |
| responses | OBJECT Properties \{\{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(name), \{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(email), \{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(location), \{STRING(label), BOOLEAN(isHidden)}(title), \{STRING(label), BOOLEAN(isHidden)}(notes), \{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(guests), \{STRING(label), BOOLEAN(isHidden)}(rescheduleReason)} | Responses of the booking. |
| startTime | STRING | Start time of the booking. |
| endTime | STRING | End time of the booking. |
| organizer | OBJECT Properties \{\{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), \{STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
| attendees | ARRAY Items \[\{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), \{STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(\$personRecord)] | Attendees of the booking. |
| uid | STRING | UID of the booking. |
| bookingId | INTEGER | ID of the booking. |
| location | STRING | Location of the booking. |
| destinationCalendar | ARRAY Items \[\{INTEGER(id), STRING(integration), STRING(externalId), STRING(primaryEmail), INTEGER(userId), INTEGER(eventTypeId), INTEGER(credentialId), INTEGER(delegationCredentialId), INTEGER(domainWideDelegationCredentialId)}(\$calendar)] | Destination calendar of the booking. |
| cancellationReason | STRING | Cancellation reason of the booking cancellation. |
| seatsPerTimeSlot | INTEGER | How many seats are available in the booking timeslot. |
| seatsShowAttendees | BOOLEAN Options true , false | Whether the seats show attendees. |
| iCalUID | STRING | UID of the iCal. |
| iCalSequence | INTEGER | Sequence of the iCal. |
| hideOrganizerEmail | BOOLEAN Options true , false | Whether the organizer email is hidden. |
| customReplyToEmail | STRING | Custom reply to the email. |
| eventTitle | STRING | Event title of the booking. |
| eventDescription | STRING | Event description of the booking. |
| requiresConfirmation | BOOLEAN Options true , false | Whether booking requires confirmation. |
| price | INTEGER | Price of the booking. |
| currency | STRING | Currency of the price of the booking. |
| status | STRING | Status of the booking |
| cancelledBy | STRING | User that cancelled the booking. |
#### JSON Example [#json-example]
```json
{
"label" : "Booking Canceled",
"name" : "bookingCanceled",
"type" : "calcom/v1/bookingCanceled"
}
```
### Booking Created [#booking-created]
Name: bookingCreated
`Triggers when a booking is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| bookerUrl | STRING | Booker URL. |
| title | STRING | Title of the booking. |
| startTime | STRING | Start time of the booking. |
| endTime | STRING | End time of the booking. |
| additionalNotes | STRING | Additional notes of the booking. |
| type | STRING | Type of the booking. |
| description | STRING | Description of the booking. |
| eventTypeId | INTEGER | ID of the event type of the booking. |
| hideCalendarNotes | BOOLEAN Options true , false | Whether the calendar notes are hidden. |
| hideCalendarEventDetails | BOOLEAN Options true , false | Whether the calendar event details are hidden. |
| hideOrganizerEmail | BOOLEAN Options true , false | Whether the organizer email is hidden. |
| schedulingType | STRING | Scheduling type of the booking |
| seatsPerTimeSlot | INTEGER | How many seats are available in the booking timeslot. |
| seatsShowAttendees | BOOLEAN Options true , false | Whether the seats show attendees. |
| seatsShowAvailabilityCount | BOOLEAN Options true , false | Whether the seats show availability count. |
| customReplyToEmail | STRING | Custom reply to the email. |
| organizer | OBJECT Properties \{\{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), \{STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
| attendees | ARRAY Items \[\{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), \{STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(\$personRecord)] | Attendees of the booking. |
| customInputs | OBJECT Properties \{} | Custom inputs of the booking. |
| responses | OBJECT Properties \{\{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(name), \{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(email), \{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(location), \{STRING(label), BOOLEAN(isHidden)}(title), \{STRING(label), BOOLEAN(isHidden)}(notes), \{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(guests), \{STRING(label), BOOLEAN(isHidden)}(rescheduleReason)} | Responses of the booking. |
| userFieldsResponses | OBJECT Properties \{} | User field responses of the booking. |
| location | STRING | Location of the booking. |
| destinationCalendar | ARRAY Items \[\{INTEGER(id), STRING(integration), STRING(externalId), STRING(primaryEmail), INTEGER(userId), INTEGER(eventTypeId), INTEGER(credentialId), INTEGER(delegationCredentialId), INTEGER(domainWideDelegationCredentialId)}(\$calendar)] | Destination calendar of the booking. |
| iCalUID | STRING | UID of the iCal. |
| iCalSequence | INTEGER | Sequence of the iCal. |
| requiresConfirmation | BOOLEAN Options true , false | Whether booking requires confirmation. |
| oneTimePassword | STRING | One time password of the booking. |
| uid | STRING | UID of the booking. |
| conferenceData | OBJECT Properties \{\{STRING(requestId)}(createRequest)} | Conference data of the booking. |
| appsStatus | ARRAY Items \[\{STRING(appName), STRING(type), INTEGER(success), INTEGER(failures), \[STRING($error)]\(errors), [STRING\($warning)]\(warnings)}(\$app)] | Application status of the booking. |
| eventTitle | STRING | Event title of the booking. |
| eventDescription | STRING | Event description of the booking. |
| price | INTEGER | Price of the booking. |
| currency | STRING | Currency of the price of the booking. |
| length | INTEGER | Length of the booking. |
| bookingId | INTEGER | ID of the booking. |
| metadata | OBJECT Properties \{} | Metadata of the booking. |
| status | STRING | Status of the booking |
#### JSON Example [#json-example-1]
```json
{
"label" : "Booking Created",
"name" : "bookingCreated",
"type" : "calcom/v1/bookingCreated"
}
```
### Booking Ended [#booking-ended]
Name: bookingEnded
`Triggers when a booking ends.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :-------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------: |
| type | STRING | Type of the meeting that ended. |
| title | STRING | Title of the meeting that ended. |
| startTime | STRING | Start time of the booking. |
| endTime | STRING | End time of the booking. |
| attendees | ARRAY Items \[\{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), \{STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(\$personRecord)] | Attendees of the booking. |
| organizer | OBJECT Properties \{\{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), \{STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
#### JSON Example [#json-example-2]
```json
{
"label" : "Booking Ended",
"name" : "bookingEnded",
"type" : "calcom/v1/bookingEnded"
}
```
### Booking Rescheduled [#booking-rescheduled]
Name: bookingRescheduled
`Triggers when a booking is rescheduled.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| bookerUrl | STRING | Booker URL. |
| title | STRING | Title of the booking. |
| startTime | STRING | Start time of the booking. |
| endTime | STRING | End time of the booking. |
| additionalNotes | STRING | Additional notes of the booking. |
| type | STRING | Type of the booking. |
| description | STRING | Description of the booking. |
| eventTypeId | INTEGER | ID of the event type of the booking. |
| hideCalendarNotes | BOOLEAN Options true , false | Whether the calendar notes are hidden. |
| hideCalendarEventDetails | BOOLEAN Options true , false | Whether the calendar event details are hidden. |
| hideOrganizerEmail | BOOLEAN Options true , false | Whether the organizer email is hidden. |
| schedulingType | STRING | Scheduling type of the booking |
| seatsPerTimeSlot | INTEGER | How many seats are available in the booking timeslot. |
| seatsShowAttendees | BOOLEAN Options true , false | Whether the seats show attendees. |
| seatsShowAvailabilityCount | BOOLEAN Options true , false | Whether the seats show availability count. |
| customReplyToEmail | STRING | Custom reply to the email. |
| organizer | OBJECT Properties \{\{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), \{STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(personRecord)} | Organizer of the booking. |
| attendees | ARRAY Items \[\{INTEGER(id), STRING(name), STRING(email), STRING(username), STRING(timezone), \{STRING(locale)}(language), STRING(timeFormat), INTEGER(utcOffset)}(\$personRecord)] | Attendees of the booking. |
| customInputs | OBJECT Properties \{} | Custom inputs of the booking. |
| responses | OBJECT Properties \{\{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(name), \{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(email), \{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(location), \{STRING(label), BOOLEAN(isHidden)}(title), \{STRING(label), BOOLEAN(isHidden)}(notes), \{\{STRING(label), STRING(value), BOOLEAN(isHidden)}(responseValue)}(guests), \{STRING(label), BOOLEAN(isHidden)}(rescheduleReason)} | Responses of the booking. |
| userFieldsResponses | OBJECT Properties \{} | User field responses of the booking. |
| location | STRING | Location of the booking. |
| destinationCalendar | ARRAY Items \[\{INTEGER(id), STRING(integration), STRING(externalId), STRING(primaryEmail), INTEGER(userId), INTEGER(eventTypeId), INTEGER(credentialId), INTEGER(delegationCredentialId), INTEGER(domainWideDelegationCredentialId)}(\$calendar)] | Destination calendar of the booking. |
| iCalUID | STRING | UID of the iCal. |
| iCalSequence | INTEGER | Sequence of the iCal. |
| requiresConfirmation | BOOLEAN Options true , false | Whether booking requires confirmation. |
| oneTimePassword | STRING | One time password of the booking. |
| uid | STRING | UID of the booking. |
| videoCallData | OBJECT Properties \{STRING(type), INTEGER(id), STRING(password), STRING(uri)} | Video call data of the booking. |
| rescheduledBy | STRING | Booking rescheduled by user. |
| conferenceData | OBJECT Properties \{\{STRING(requestId)}(createRequest)} | Conference data of the booking. |
| appsStatus | ARRAY Items \[\{STRING(appName), STRING(type), INTEGER(success), INTEGER(failures), \[STRING($error)]\(errors), [STRING\($warning)]\(warnings)}(\$app)] | Application status of the booking. |
| eventTitle | STRING | Event title of the booking. |
| eventDescription | STRING | Event description of the booking. |
| price | INTEGER | Price of the booking. |
| currency | STRING | Currency of the price of the booking. |
| length | INTEGER | Length of the booking. |
| bookingId | INTEGER | ID of the booking. |
| rescheduleId | INTEGER | ID of the rescheduled booking. |
| rescheduleUid | STRING | UID of the rescheduled booking. |
| rescheduleStartTime | STRING | Rescheduled start time of the booking. |
| rescheduleEndTime | STRING | Rescheduled end time of the booking. |
| metadata | OBJECT Properties \{} | Metadata of the booking. |
| status | STRING | Status of the booking |
#### JSON Example [#json-example-3]
```json
{
"label" : "Booking Rescheduled",
"name" : "bookingRescheduled",
"type" : "calcom/v1/bookingRescheduled"
}
```
# ByteChef Reference: Calendly
URL: /reference/components/calendly_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/calendly_v1.mdx
Calendly is a scheduling tool that allows users to easily set up and manage appointments and meetings.
Categories: Productivity and Collaboration
Type: calendly/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Actions [#actions]
### Cancel Event [#cancel-event]
Name: cancelEvent
`Cancels specified event.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :----: | :----: | :----------------------: | :------: |
| eventId | Event | STRING | Event to be canceled. | true |
| reason | Reason | STRING | Reason for cancellation. | false |
| scope | Scope | STRING | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Cancel Event",
"name" : "cancelEvent",
"parameters" : {
"eventId" : "",
"reason" : "",
"scope" : ""
},
"type" : "calendly/v1/cancelEvent"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| body | OBJECT Properties \{STRING(canceled\_by), STRING(reason), STRING(canceler\_type), DATE\_TIME(created\_at)} | |
#### Output Example [#output-example]
```json
{
"body" : {
"canceled_by" : "",
"reason" : "",
"canceler_type" : "",
"created_at" : "2021-01-01T00:00:00"
}
}
```
## Triggers [#triggers]
### Invitee Canceled [#invitee-canceled]
Name: inviteeCanceled
`Triggers when an invitee cancels a scheduled event.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---: | :---: | :---------------------------------------------------------------------------------------------------: | :---------: | :------: |
| scope | Scope | STRING Options user , organization | | true |
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "Invitee Canceled",
"name" : "inviteeCanceled",
"parameters" : {
"scope" : ""
},
"type" : "calendly/v1/inviteeCanceled"
}
```
### Invitee Created [#invitee-created]
Name: inviteeCreated
`Triggers when an invitee schedules an event.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :---: | :---: | :---------------------------------------------------------------------------------------------------: | :---------: | :------: |
| scope | Scope | STRING Options user , organization | | true |
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-1]
```json
{
"label" : "Invitee Created",
"name" : "inviteeCreated",
"parameters" : {
"scope" : ""
},
"type" : "calendly/v1/inviteeCreated"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Canva
URL: /reference/components/canva_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/canva_v1.mdx
Canva is a web and mobile application designed to help users create, design, and collaborate on visual content.
Categories: Productivity and Collaboration
Type: canva/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client id | STRING | | true |
| clientSecret | Client secret | STRING | | true |
## Connection Setup [#connection-setup]
### Find Client ID and Secret [#find-client-id-and-secret]
1. Navigate to [Canva Developers page](https://www.canva.com/developers/integrations/connect-api).
2. Click on **Create an integration**.
3. Choose type of the integration and click on **Create Integration**.
4. Click on **Scopes**.
5. Select following scopes:
* asset:read
* asset:write
* design:content:read
* design:content:write
* design:meta:read
6. Click on **Authentication**.
7. Enter a redirect URI, e.g., `https://app.bytechef.io/callback`, `http://127.0.0.1:5173/callback`.
8. Click on **Configuration**.
9. Click on **Generate secret**.
10. Copy Client ID and Secret.
11. Save changes.
## Actions [#actions]
### Create Design [#create-design]
Name: createDesign
`Create a Canva design.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: | :------: |
| type | Type | STRING Options preset , custom | | true |
| name | Name | STRING Options doc , email , presentation , whiteboard | The name of the design type. | true |
| width | Width | INTEGER | The width of the design, in pixels. | true |
| height | Height | INTEGER | The height of the design, in pixels. | true |
| title | Title | STRING | The name of the design. | false |
| asset\_id | Asset Id | STRING | The ID of an asset to insert into the created design. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Design",
"name" : "createDesign",
"parameters" : {
"type" : "",
"name" : "",
"width" : 1,
"height" : 1,
"title" : "",
"asset_id" : ""
},
"type" : "canva/v1/createDesign"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------: | :---------------------------------------------------------------------------------------------------------: | :----------------------------------------: |
| id | STRING | The design ID. |
| owner | OBJECT Properties \{STRING(user\_id), STRING(team\_id)} | |
| URLs | ARRAY Items \[STRING($edit_url), STRING\($view\_url)] | |
| created\_at | DATE\_TIME | When the design was created in Canva. |
| updated\_at | DATE\_TIME | When the design was last updated in Canva. |
| title | STRING | The design title. |
| thumbnail | OBJECT Properties \{INTEGER(width), INTEGER(height), STRING(url)} | A thumbnail image representing the object. |
| page\_count | INTEGER | The total number of pages in the design. |
#### Output Example [#output-example]
```json
{
"id" : "",
"owner" : {
"user_id" : "",
"team_id" : ""
},
"URLs" : [ "", "" ],
"created_at" : "2021-01-01T00:00:00",
"updated_at" : "2021-01-01T00:00:00",
"title" : "",
"thumbnail" : {
"width" : 1,
"height" : 1,
"url" : ""
},
"page_count" : 1
}
```
#### Find Asset ID [#find-asset-id]
To find the Asset ID, click [here](/reference/components/canva_v1#how-to-find-your-canva-asset-id).
### Export Design [#export-design]
Name: exportDesign
`Get the status and results of an export job, including link(s) to the downloadable file(s).`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------------------: | :--------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: | :------: |
| design\_id | Design ID | STRING | The design ID. | true |
| type | Type | STRING Options pdf , jpg , png , pptx , gif , mp4 , html\_bundle , html\_standalone | | true |
| quality | Quality | INTEGER | The quality of the exported JPEG that determines how compressed the exported file should be. | true |
| video\_quality | Video quality | STRING Options horizontal\_480p , horizontal\_720p , horizontal\_1080p , horizontal\_4k , vertical\_480p , vertical\_720p , vertical\_1080p , vertical\_4k | The orientation and resolution of the exported video. | true |
| export\_quality | Export quality | STRING Options regular , pro | Specifies the export quality of the design. | false |
| width | Width | INTEGER | Specify the width in pixels of the exported image. | false |
| height | Height | INTEGER | Specify the height in pixels of the exported image. | false |
| size | Size | STRING Options a4 , a3 , letter , legal | The paper size of the export PDF file. | false |
| lossless | Lossless | BOOLEAN Options true , false | If set to true (default), the PNG is exported without compression. | false |
| transparent\_background | Transparent background | BOOLEAN Options true , false | If set to true, the PNG is exported with a transparent background. | false |
| as\_single\_image | As single image | BOOLEAN Options true , false | When true, multi-page designs are merged into a single image. | false |
| pages | Pages | ARRAY Items \[INTEGER] | To specify which pages to export in a multi-page design. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Export Design",
"name" : "exportDesign",
"parameters" : {
"design_id" : "",
"type" : "",
"quality" : 1,
"video_quality" : "",
"export_quality" : "",
"width" : 1,
"height" : 1,
"size" : "",
"lossless" : false,
"transparent_background" : false,
"as_single_image" : false,
"pages" : [ 1 ]
},
"type" : "canva/v1/exportDesign"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----: | :-------------------------------------------------------------: | :-------------------------------------------: |
| id | STRING | The export job ID. |
| status | STRING | The export status of the job. |
| URLs | ARRAY Items \[STRING] | Download URL(s) for the completed export job. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"status" : "",
"URLs" : [ "" ]
}
```
#### Find Design ID [#find-design-id]
To find the Design ID, click [here](/reference/components/canva_v1#how-to-find-your-canva-design-id).
### Upload Asset [#upload-asset]
Name: uploadAsset
`Get the status and results of an upload asset job.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :---------: | :---------------: | :------: |
| asset\_name | Asset name | STRING | The asset's name. | true |
| asset | Asset | FILE\_ENTRY | Asset to upload. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Upload Asset",
"name" : "uploadAsset",
"parameters" : {
"asset_name" : "",
"asset" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "canva/v1/uploadAsset"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| job | OBJECT Properties \{STRING(id), STRING(status), \{STRING(id), STRING(type), STRING(name), \[STRING]\(tags), \{STRING(user\_id), STRING(team\_id)}(owner), STRING(created\_at), STRING(updated\_at), \{STRING(width), STRING(height), STRING(url)}(thumbnail)}(asset)} | |
#### Output Example [#output-example-2]
```json
{
"job" : {
"id" : "",
"status" : "",
"asset" : {
"id" : "",
"type" : "",
"name" : "",
"tags" : [ "" ],
"owner" : {
"user_id" : "",
"team_id" : ""
},
"created_at" : "",
"updated_at" : "",
"thumbnail" : {
"width" : "",
"height" : "",
"url" : ""
}
}
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to Find Your Canva Design ID [#how-to-find-your-canva-design-id]
1. Open your design in Canva.
2. Look at the URL in your browser. It will look similar to:
[https://www.canva.com/design/DAF123abcXYZ/edit](https://www.canva.com/design/DAF123abcXYZ/edit)
The Design ID is a part after /design/ of the URL (DAF123abcXYZ in this example).
### How to Find Your Canva Asset ID [#how-to-find-your-canva-asset-id]
1. Navigate to the asset you uploaded (e.g., image, video, or file) from Projects, Uploads, or within a design in Canva.
2. Click on the asset to open its preview or use it inside a design.
3. Look at the URL in your browser. It will look similar to:
[https://www.canva.com/uploads/Msd59349ff](https://www.canva.com/uploads/Msd59349ff)
The Asset ID is the value at the end of the URL (Msd59349ff in this example).
# ByteChef Reference: Capsule CRM
URL: /reference/components/capsule-crm_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/capsule-crm_v1.mdx
Capsule CRM is a cloud-based customer relationship management platform designed to help businesses manage contacts, track sales opportunities, and collaborate with their teams efficiently.
Categories: CRM
Type: capsuleCRM/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
### Generate API Token [#generate-api-token]
1. Navigate to your Capsule CRM dashboard.
2. Click here to access your preferences.
3. Click on **My Preferences**.
4. Click on **API Authentication Tokens**.
5. Click on **Generate New API Token**.
6. Enter name of your token.
7. Enable every scope and click on **Generate Token**.
8. Copy your token.
9. Done 🚀.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Creates a new person or organization.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------: | :------: |
| type | Type | STRING Options person , organization | Represents if this party is a person or an organization. | true |
| firstName | First Name | STRING | The first name of the person. | true |
| lastName | Last Name | STRING | The last name of the person. | true |
| name | Name | STRING | The name of the organization. | true |
| about | About | STRING | A short description of the party. | false |
| emailAddresses | Email Addresses | ARRAY Items \[\{STRING(address), STRING(type)}] | An array of all the email addresses associated with this party. | false |
| addresses | Addresses | ARRAY Items \[\{STRING(type), STRING(street), STRING(city), STRING(state), STRING(country), STRING(zip)}] | An array of all the addresses associated with this party. | false |
| phoneNumbers | Phone Numbers | ARRAY Items \[\{STRING(type), STRING(number)}] | An array of all the phone numbers associated with this party. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"type" : "",
"firstName" : "",
"lastName" : "",
"name" : "",
"about" : "",
"emailAddresses" : [ {
"address" : "",
"type" : ""
} ],
"addresses" : [ {
"type" : "",
"street" : "",
"city" : "",
"state" : "",
"country" : "",
"zip" : ""
} ],
"phoneNumbers" : [ {
"type" : "",
"number" : ""
} ]
},
"type" : "capsuleCRM/v1/createContact"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Create Task [#create-task]
Name: createTask
`Creates a new task.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :-----------------------------------------------------------------------------------------: | :------------------------------: | :------: |
| description | Description | STRING | A short description of the task. | true |
| dueOn | Due Date | DATE | The date when this task is due. | true |
| detail | Detail | STRING | More details about the task. | false |
| category | Category | OBJECT Properties \{STRING(name), STRING(colour)} | The category of this task. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"description" : "",
"dueOn" : "2021-01-01",
"detail" : "",
"category" : {
"name" : "",
"colour" : ""
}
},
"type" : "capsuleCRM/v1/createTask"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :---------: | :-----------------------------------------------------------------------------------------------------: | :---------------------------: |
| id | INTEGER | The ID of the new task. |
| description | STRING | The description of the task. |
| dueOn | DATE | The due date of the task. |
| detail | STRING | Details of the new task. |
| category | OBJECT Properties \{STRING(id), STRING(name), STRING(colour)} | The category of the new task. |
#### Output Example [#output-example]
```json
{
"id" : 1,
"description" : "",
"dueOn" : "2021-01-01",
"detail" : "",
"category" : {
"id" : "",
"name" : "",
"colour" : ""
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Cassandra Chat Memory
URL: /reference/components/cassandra-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/cassandra-chat-memory_v1.mdx
Cassandra Chat Memory stores conversation history in Apache Cassandra for distributed, scalable persistent storage.
Categories: Artificial Intelligence
Type: cassandraChatMemory/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :--------------------------------: | :------: |
| username | Username | STRING | The Cassandra username (optional). | false |
| password | Password | STRING | The Cassandra password. | false |
## Actions [#actions]
### Add Messages [#add-messages]
Name: addMessages
`Adds messages to the chat memory for a conversation.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :---------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content)}] | The messages to add to the conversation. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Messages",
"name" : "addMessages",
"parameters" : {
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
},
"type" : "cassandraChatMemory/v1/addMessages"
}
```
#### Output [#output]
This action does not produce any output.
### Get Messages [#get-messages]
Name: getMessages
`Retrieves all messages from a conversation.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Messages",
"name" : "getMessages",
"parameters" : {
"conversationId" : ""
},
"type" : "cassandraChatMemory/v1/getMessages"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| messages | ARRAY Items \[\{STRING(role), STRING(content)}] | |
#### Output Example [#output-example]
```json
{
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
}
```
### Delete Conversation [#delete-conversation]
Name: deleteConversation
`Deletes all messages for a conversation.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :---------------------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Conversation",
"name" : "deleteConversation",
"parameters" : {
"conversationId" : ""
},
"type" : "cassandraChatMemory/v1/deleteConversation"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| deleted | BOOLEAN Options true , false | |
#### Output Example [#output-example-1]
```json
{
"conversationId" : "",
"deleted" : false
}
```
### List Conversations [#list-conversations]
Name: listConversations
`Lists all conversation IDs in the chat memory.`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Conversations",
"name" : "listConversations",
"type" : "cassandraChatMemory/v1/listConversations"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------: | :---------: |
| conversationIds | ARRAY Items \[STRING] | |
| count | INTEGER | |
#### Output Example [#output-example-2]
```json
{
"conversationIds" : [ "" ],
"count" : 1
}
```
# ByteChef Reference: Chat Memory
URL: /reference/components/chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/chat-memory_v1.mdx
Built-in chat memory.
Categories: Artificial Intelligence
Type: chatMemory/v1
## Actions [#actions]
### Add Messages [#add-messages]
Name: addMessages
`Adds messages to the chat memory for a conversation.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :---------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content)}] | The messages to add to the conversation. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Messages",
"name" : "addMessages",
"parameters" : {
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
},
"type" : "chatMemory/v1/addMessages"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :------------: | :-----: | :---------: |
| conversationId | STRING | |
| messageCount | INTEGER | |
#### Output Example [#output-example]
```json
{
"conversationId" : "",
"messageCount" : 1
}
```
### Get Messages [#get-messages]
Name: getMessages
`Retrieves all messages from a conversation.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Messages",
"name" : "getMessages",
"parameters" : {
"conversationId" : ""
},
"type" : "chatMemory/v1/getMessages"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| messages | ARRAY Items \[\{STRING(role), STRING(content)}] | |
#### Output Example [#output-example-1]
```json
{
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
}
```
### Delete Conversation [#delete-conversation]
Name: deleteConversation
`Deletes all messages for a conversation.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :---------------------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Conversation",
"name" : "deleteConversation",
"parameters" : {
"conversationId" : ""
},
"type" : "chatMemory/v1/deleteConversation"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| deleted | BOOLEAN Options true , false | |
#### Output Example [#output-example-2]
```json
{
"conversationId" : "",
"deleted" : false
}
```
### List Conversations [#list-conversations]
Name: listConversations
`Lists all conversation IDs in the chat memory.`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Conversations",
"name" : "listConversations",
"type" : "chatMemory/v1/listConversations"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------: | :---------: |
| conversationIds | ARRAY Items \[STRING] | |
| count | INTEGER | |
#### Output Example [#output-example-3]
```json
{
"conversationIds" : [ "" ],
"count" : 1
}
```
# ByteChef Reference: Chat
URL: /reference/components/chat_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/chat_v1.mdx
Actions and triggers for using with the chat widget.
Categories: Helpers
Type: chat/v1
## Actions [#actions]
### Response to Chat Request [#response-to-chat-request]
Name: responseToRequest
`Converts the response to chat request.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :------------------------------------------------------------------: | :------------------------------: | :------: |
| message | Message | STRING | The message of the response. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | The attachments of the response. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Response to Chat Request",
"name" : "responseToRequest",
"parameters" : {
"message" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "chat/v1/responseToRequest"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
## Triggers [#triggers]
### New Chat Request [#new-chat-request]
Name: newChatRequest
`A new chat request comes from the chat interface.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :---: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| mode | | INTEGER Options 1 , 2 | | true |
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :------------------------------------------------------------------: | :-------------------------------------------------------: |
| conversationId | STRING | Identifier of the conversation the message was posted to. |
| message | STRING | Text of the message. |
| attachments | ARRAY Items \[FILE\_ENTRY] | Files that arrived with the message. |
#### JSON Example [#json-example]
```json
{
"label" : "New Chat Request",
"name" : "newChatRequest",
"parameters" : {
"mode" : 1
},
"type" : "chat/v1/newChatRequest"
}
```
# ByteChef Reference: Check for Violations
URL: /reference/components/checkForViolations_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/checkForViolations_v1.mdx
Runs configured guardrail checks on the user prompt.
Categories: Artificial Intelligence
Type: checkForViolations/v1
# ByteChef Reference: Claude Code
URL: /reference/components/claude-code_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/claude-code_v1.mdx
Allows you to chat with Claude Code and added MCP tools
Categories:
Type: claudeCode/v1
## Actions [#actions]
### Initialize Claude Code [#initialize-claude-code]
Name: initializeClaude
`Performs a no-op probe against the Claude agent so connectivity issues surface early.`
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Initialize Claude Code",
"name" : "initializeClaude",
"type" : "claudeCode/v1/initializeClaude"
}
```
#### Output [#output]
***Sample Output:***
`Sample result`
Type: STRING
### Add MCP Server [#add-mcp-server]
Name: addMCP
`Builds an HTTP-transport MCP server descriptor that can be passed to the Chat action.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------: | :------: |
| label | Label | STRING | The name of the MCP server | true |
| url | URL | STRING | The URL of the MCP server | true |
| authenticationType | Authentication Type | INTEGER Options 0 , 1 , 2 | The type of authentication to use for connecting to the MCP server | true |
| Authentication | Authentication | STRING | The access token/API key to use for authentication | true |
| Authentication | Authentication | ARRAY Items \[\{STRING(name), STRING(value)}] | The custom headers to use for authentication | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Add MCP Server",
"name" : "addMCP",
"parameters" : {
"label" : "",
"url" : "",
"authenticationType" : 1,
"Authentication" : [ {
"name" : "",
"value" : ""
} ]
},
"type" : "claudeCode/v1/addMCP"
}
```
#### Output [#output-1]
***Sample Output:***
`Sample result`
Type: STRING
### Chat [#chat]
Name: chat
`Chat with Claude with registered tools`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :-------------------------------------------------------------: | :----------------------------------------------------------------------: | :------: |
| script | Message | STRING | Command to send to Claude | true |
| mcpServers | MCP Servers | ARRAY Items \[STRING] | MCP servers (HTTP transport) configured via the 'Add MCP Server' action. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Chat",
"name" : "chat",
"parameters" : {
"script" : "",
"mcpServers" : [ "" ]
},
"type" : "claudeCode/v1/chat"
}
```
#### Output [#output-2]
***Sample Output:***
`Sample result`
Type: STRING
# ByteChef Reference: ClickUp
URL: /reference/components/clickup_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/clickup_v1.mdx
ClickUp is a cloud-based collaboration tool that offers task management, document sharing, goal tracking, and other productivity features for teams.
Categories: Project Management
Type: clickup/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect ClickUp to ByteChef using OAuth 2.0 (Authorization Code).
### Create a ClickUp OAuth app [#create-a-clickup-oauth-app]
1. Log in to ClickUp.
2. In the upper-right corner, click your avatar and select **Settings**.
3. In the left sidebar, open **ClickUp API** and go to the **ClickUp API Settings** tab.
4. Click **Create an app**.
5. Enter a clear name (for example, `ByteChef Integration`).
6. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://127.0.0.1:5173/callback` or `http://localhost:5173/callback`
7. Save the app and copy the generated **Client ID** and **Client Secret**.
## Actions [#actions]
### Create Folder [#create-folder]
Name: createFolder
`Creates a new folder in a ClickUp workspace.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :---------------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| workspaceId | Workspace ID | STRING | | false |
| spaceId | Space ID | STRING Depends On workspaceId | ID of the space where new folder will be created. | true |
| name | Name | STRING | The name of the folder. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Folder",
"name" : "createFolder",
"parameters" : {
"workspaceId" : "",
"spaceId" : "",
"name" : ""
},
"type" : "clickup/v1/createFolder"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---: | :-------------------------------------------------------------------------------------: | :------------------------------------: |
| id | STRING | The ID of the folder. |
| name | STRING | The name of the folder. |
| space | OBJECT Properties \{STRING(id), STRING(name)} | The space where the folder is located. |
#### Output Example [#output-example]
```json
{
"id" : "",
"name" : "",
"space" : {
"id" : "",
"name" : ""
}
}
```
### Create List [#create-list]
Name: createList
`Creates a new List in specified Folder.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :------------------------------------------------------------------------------: | :----------------------------------------------: | :------: |
| workspaceId | Workspace ID | STRING | | false |
| spaceId | Space ID | STRING Depends On workspaceId | | false |
| folderId | Folder ID | STRING Depends On spaceId, workspaceId | ID of the folder where new list will be created. | true |
| name | Name | STRING | The name of the list. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create List",
"name" : "createList",
"parameters" : {
"workspaceId" : "",
"spaceId" : "",
"folderId" : "",
"name" : ""
},
"type" : "clickup/v1/createList"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----: | :-------------------------------------------------------------------------------------: | :------------------------------------: |
| id | STRING | The ID of the list. |
| name | STRING | The name of the list. |
| folder | OBJECT Properties \{STRING(id), STRING(name)} | The folder where the list is located. |
| space | OBJECT Properties \{STRING(id), STRING(name)} | The space where the folder is located. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"name" : "",
"folder" : {
"id" : "",
"name" : ""
},
"space" : {
"id" : "",
"name" : ""
}
}
```
### Create Task [#create-task]
Name: createTask
`Create a new task in a ClickUp workspace and list.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----------------------------------------------------------------------------------------: | :--------------------------------------------: | :------: |
| workspaceId | Workspace ID | STRING | | false |
| spaceId | Space ID | STRING Depends On workspaceId | | false |
| folderId | Folder ID | STRING Depends On spaceId, workspaceId | | false |
| listId | List ID | STRING Depends On folderId, spaceId, workspaceId | ID of the list where new task will be created. | true |
| name | Name | STRING | The name of the task. | true |
| description | Description | STRING | The description of task. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"workspaceId" : "",
"spaceId" : "",
"folderId" : "",
"listId" : "",
"name" : "",
"description" : ""
},
"type" : "clickup/v1/createTask"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------------------------------: | :------------------------------------: |
| id | STRING | The ID of the task. |
| name | STRING | The name of the task. |
| description | STRING | The description of the task. |
| url | STRING | The URL of the task. |
| list | OBJECT Properties \{STRING(id), STRING(name)} | The list where the task is located. |
| folder | OBJECT Properties \{STRING(id), STRING(name)} | The folder where the list is located. |
| space | OBJECT Properties \{STRING(id)} | The space where the folder is located. |
#### Output Example [#output-example-2]
```json
{
"id" : "",
"name" : "",
"description" : "",
"url" : "",
"list" : {
"id" : "",
"name" : ""
},
"folder" : {
"id" : "",
"name" : ""
},
"space" : {
"id" : ""
}
}
```
## Triggers [#triggers]
### New List [#new-list]
Name: newList
`Triggers when new list is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----: | :---------: | :------: |
| workspaceId | Workspace ID | STRING | | true |
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----: | :-------------------------------------------------------------------------------------: | :------------------------: |
| id | STRING | The ID of the list. |
| name | STRING | The name of the list. |
| folder | OBJECT Properties \{STRING(id), STRING(name)} | The folder the list is in. |
| space | OBJECT Properties \{STRING(id), STRING(name)} | The space the list is in. |
#### JSON Example [#json-example]
```json
{
"label" : "New List",
"name" : "newList",
"parameters" : {
"workspaceId" : ""
},
"type" : "clickup/v1/newList"
}
```
### New Task [#new-task]
Name: newTask
`Triggers when new task is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----: | :---------: | :------: |
| workspaceId | Workspace ID | STRING | | true |
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------------------------------: | :--------------------------: |
| id | STRING | The ID of the task. |
| name | STRING | The name of the task. |
| description | STRING | The description of the task. |
| url | STRING | The URL of the task. |
| list | OBJECT Properties \{STRING(id), STRING(name)} | The list the task is in. |
| folder | OBJECT Properties \{STRING(id), STRING(name)} | The folder the task is in. |
| space | OBJECT Properties \{STRING(id), STRING(name)} | The space the task is in. |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Task",
"name" : "newTask",
"parameters" : {
"workspaceId" : ""
},
"type" : "clickup/v1/newTask"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Coda
URL: /reference/components/coda_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/coda_v1.mdx
Coda is a collaborative all-in-one productivity tool that combines documents, spreadsheets, apps and databases into a single platform.
Categories: Productivity and Collaboration
Type: coda/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to the dashboard at [https://coda.io/signin](https://coda.io/signin).
2. Click on your account.
3. Click on Account Settings.
4. Scroll to API Settings and click Generate API token.
5. Give your token a name and click Generate API token.
6. Copy the API token. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Copy Doc [#copy-doc]
Name: copyDoc
`Copies an existing doc.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :-----------------------------------: | :------: |
| title | Title | STRING | Title of the new doc. | true |
| sourceDoc | Source Doc | STRING | A doc ID from which to create a copy. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Copy Doc",
"name" : "copyDoc",
"parameters" : {
"title" : "",
"sourceDoc" : ""
},
"type" : "coda/v1/copyDoc"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------: | :------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------: |
| id | STRING | ID of the Coda doc. |
| type | STRING | The type of this resource. |
| href | STRING | API link to the Coda doc. |
| browserLink | STRING | Browser-friendly link to the Coda doc. |
| name | STRING | Name of the doc. |
| owner | STRING | Email address of the doc owner. |
| ownerName | STRING | Name of the doc owner. |
| createdAt | STRING | Timestamp for when the doc was created. |
| updatedAt | STRING | Timestamp for when the doc was last modified. |
| icon | OBJECT Properties \{STRING(name), STRING(type), STRING(browserLink)} | Info about the icon. |
| sourceDoc | OBJECT Properties \{STRING(id), STRING(type), STRING(href), STRING(browserLink)} | Reference to a Coda doc from which this doc was copied, if any. |
| workspaceId | STRING | ID of the Coda workspace containing this doc. |
| folderId | STRING | ID of the Coda folder containing this doc. |
| workspace | OBJECT Properties \{STRING(id), STRING(type), STRING(browserLink), STRING(name)} | Reference to a Coda workspace. |
| folder | OBJECT Properties \{STRING(id), STRING(type), STRING(browserLink), STRING(name)} | Reference to a Coda folder. |
| requestId | STRING | An arbitrary unique identifier for this request. |
#### Output Example [#output-example]
```json
{
"id" : "",
"type" : "",
"href" : "",
"browserLink" : "",
"name" : "",
"owner" : "",
"ownerName" : "",
"createdAt" : "",
"updatedAt" : "",
"icon" : {
"name" : "",
"type" : "",
"browserLink" : ""
},
"sourceDoc" : {
"id" : "",
"type" : "",
"href" : "",
"browserLink" : ""
},
"workspaceId" : "",
"folderId" : "",
"workspace" : {
"id" : "",
"type" : "",
"browserLink" : "",
"name" : ""
},
"folder" : {
"id" : "",
"type" : "",
"browserLink" : "",
"name" : ""
},
"requestId" : ""
}
```
#### Find Source Doc ID [#find-source-doc-id]
To find the Source Doc ID, click [here](/reference/components/coda_v1#how-to-find-doc-id).
### List Docs [#list-docs]
Name: listDocs
`Returns a list of docs accessible by the user and which they have opened at least once.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| isOwner | Is Owner | BOOLEAN Options true , false | Show only docs owned by the user. | false |
| isPublished | Is Published | BOOLEAN Options true , false | Show only published docs. | false |
| limit | Limit | INTEGER | Maximum number of results to return in this query. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "List Docs",
"name" : "listDocs",
"parameters" : {
"isOwner" : false,
"isPublished" : false,
"limit" : 1
},
"type" : "coda/v1/listDocs"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------: |
| items | ARRAY Items \[\{STRING(id), STRING(type), STRING(href), STRING(browserLink), STRING(name), STRING(owner), STRING(ownerName), STRING(createdAt), STRING(updatedAt), \{STRING(name), STRING(type), STRING(browserLink)}(icon), \{NUMBER(totalRowCount), NUMBER(tableAndViewCount), NUMBER(pageCount), BOOLEAN(overApiSizeLimit)}(docSize), \{STRING(id), STRING(type), STRING(href), STRING(browserLink)}(sourceDoc), STRING(workspaceId), STRING(folderId), \{STRING(id), STRING(type), STRING(browserLink), STRING(name)}(workspace), \{STRING(id), STRING(type), STRING(browserLink), STRING(name)}(folder)}] | |
| href | STRING | API link to these results. |
#### Output Example [#output-example-1]
```json
{
"items" : [ {
"id" : "",
"type" : "",
"href" : "",
"browserLink" : "",
"name" : "",
"owner" : "",
"ownerName" : "",
"createdAt" : "",
"updatedAt" : "",
"icon" : {
"name" : "",
"type" : "",
"browserLink" : ""
},
"docSize" : {
"totalRowCount" : 0.0,
"tableAndViewCount" : 0.0,
"pageCount" : 0.0,
"overApiSizeLimit" : false
},
"sourceDoc" : {
"id" : "",
"type" : "",
"href" : "",
"browserLink" : ""
},
"workspaceId" : "",
"folderId" : "",
"workspace" : {
"id" : "",
"type" : "",
"browserLink" : "",
"name" : ""
},
"folder" : {
"id" : "",
"type" : "",
"browserLink" : "",
"name" : ""
}
} ],
"href" : ""
}
```
### Update Row [#update-row]
Name: updateRow
`Updates the specified row in the table.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :--------------------------------------------------------------------------------------------------------: | :-------------------------------: | :------: |
| docId | Doc ID | STRING | ID of the doc. | true |
| tableId | Table ID | STRING Depends On docId | ID or name of the table. | true |
| rowId | Row ID | STRING Depends On docId, tableId | ID or name of the row. | true |
| row | Row | OBJECT Properties \{\[\{STRING(column), STRING(value)}]\(cells)} | An edit made to a particular row. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update Row",
"name" : "updateRow",
"parameters" : {
"docId" : "",
"tableId" : "",
"rowId" : "",
"row" : {
"cells" : [ {
"column" : "",
"value" : ""
} ]
}
},
"type" : "coda/v1/updateRow"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------: | :----: | :----------------------------------------------: |
| requestId | STRING | An arbitrary unique identifier for this request. |
| id | STRING | ID of the updated row. |
#### Output Example [#output-example-2]
```json
{
"requestId" : "",
"id" : ""
}
```
#### Find Doc ID [#find-doc-id]
To find the Doc ID, click [here](/reference/components/coda_v1#how-to-find-doc-id).
#### Find Table ID [#find-table-id]
To find the Table ID, click [here](/reference/components/coda_v1#how-to-find-table-id).
#### Find Row ID [#find-row-id]
To find the Row ID, click [here](/reference/components/coda_v1#how-to-find-row-id).
#### Find Column ID [#find-column-id]
To find the Column ID, click [here](/reference/components/coda_v1#how-to-find-column-id).
### Insert Row [#insert-row]
Name: insertRow
`Inserts row into a table.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :------: | :-------------------------------------------------------------------------------------: | :--------------: | :------: |
| docId | Doc ID | STRING | ID of the doc. | true |
| tableId | Table ID | STRING Depends On docId | ID of the table. | true |
| rowValues | | DYNAMIC\_PROPERTIES Depends On docId, tableId | | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Insert Row",
"name" : "insertRow",
"parameters" : {
"docId" : "",
"tableId" : "",
"rowValues" : { }
},
"type" : "coda/v1/insertRow"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------: | :----------------------------------------------: |
| requestId | STRING | An arbitrary unique identifier for this request. |
| addedRowIds | ARRAY Items \[STRING] | Row IDs for rows that will be added. |
#### Output Example [#output-example-3]
```json
{
"requestId" : "",
"addedRowIds" : [ "" ]
}
```
#### Find Doc ID [#find-doc-id-1]
To find the Doc ID, click [here](/reference/components/coda_v1#how-to-find-doc-id).
#### Find Table ID [#find-table-id-1]
To find the Table ID, click [here](/reference/components/coda_v1#how-to-find-table-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Doc ID [#how-to-find-doc-id]
* **Method 1: Via API**
Use the `GET /docs` endpoint to retrieve a list of all docs and their IDs.
* **Method 2: Via UI**
To find a Doc ID, open the document in your browser. The ID is the long string of letters and numbers in the URL after `_d`.
For example, in the URL `https://coda.io/d/Bytechef-testing_d123abc`, the Doc ID is 123abc.
The Doc ID can also be found in the output of the following actions:
* **Copy Doc**
* **List Docs**
### How to find Table ID [#how-to-find-table-id]
* **Method 1: Via API**
Use the `GET /docs/DOC_ID/tables` endpoint to retrieve a list of all tables and their IDs.
### How to find Row ID [#how-to-find-row-id]
* **Method 1: Via API**
Use the `GET /docs/DOC_ID/tables/TABLE_ID/rows` endpoint to retrieve a list of all rows and their IDs.
The Row ID can also be found in the output of the following actions:
* **Insert Row**
* **Update Row**
### How to find Column ID [#how-to-find-column-id]
* **Method 1: Via API**
Use the `GET /docs/DOC_ID/tables/TABLE_ID/columns` endpoint to retrieve a list of all columns and their IDs.
# ByteChef Reference: Contiguity
URL: /reference/components/contiguity_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/contiguity_v1.mdx
Contiguity is an SMS service for your needs - quick and simple.
Categories: Productivity and Collaboration
Type: contiguity/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
### Create a Contiguity Token [#create-a-contiguity-token]
1. Navigate to [Contiguity Console](https://console.contiguity.com/dashboard).
2. Click on "API Keys".
3. Click on "Create New Token".
4. Enter name of your token.
5. Click on "Create".
## Actions [#actions]
### Send Email [#send-email]
Name: sendEmail
`Send email.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :-------------------------------------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| to | To | STRING | Recipient's email address. | true |
| from | From | STRING | Sender's name. | true |
| subject | Subject | STRING | Email subject. | true |
| body | Body | STRING | Email content. | true |
| contentType | Content Type | STRING Options html , text | Content type of the email. | true |
| cc | CC | STRING | CC email address (only 1 is supported as of now). | false |
| replyTo | Reply To | STRING | Reply-to email address. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send Email",
"name" : "sendEmail",
"parameters" : {
"to" : "",
"from" : "",
"subject" : "",
"body" : "",
"contentType" : "",
"cc" : "",
"replyTo" : ""
},
"type" : "contiguity/v1/sendEmail"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :--------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
| code | INTEGER | Status code of response. |
| message | STRING | Response message. |
| crumbs | OBJECT Properties \{STRING(plan), INTEGER(quota), STRING(type), BOOLEAN(ad)} | Crumbs of the message that was sent. |
#### Output Example [#output-example]
```json
{
"code" : 1,
"message" : "",
"crumbs" : {
"plan" : "",
"quota" : 1,
"type" : "",
"ad" : false
}
}
```
### Send SMS [#send-sms]
Name: sendSms
`Send SMS.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :----: | :----------------------------------------------------------: | :------: |
| to | To | STRING | Recipient's phone number in E.164 format (e.g. +1234567890). | true |
| message | Message | STRING | Content of the message. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send SMS",
"name" : "sendSms",
"parameters" : {
"to" : "",
"message" : ""
},
"type" : "contiguity/v1/sendSms"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :----------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
| code | INTEGER | Status code of response. |
| message | STRING | Response message. |
| crumbs | OBJECT Properties \{STRING(plan), INTEGER(quota), INTEGER(remaining), STRING(type), BOOLEAN(ad)} | Crumbs of the message that was sent. |
#### Output Example [#output-example-1]
```json
{
"code" : 1,
"message" : "",
"crumbs" : {
"plan" : "",
"quota" : 1,
"remaining" : 1,
"type" : "",
"ad" : false
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Copper
URL: /reference/components/copper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/copper_v1.mdx
Copper is a customer relationship management (CRM) software designed to streamline and optimize sales processes, providing tools for managing contact, leads, opportunities, and communications in one centralized platform.
Categories: CRM
Type: copper/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-----------: | :----: | :---------: | :------: |
| username | Email Address | STRING | | true |
| key | Key | STRING | | true |
## Connection Setup [#connection-setup]
### Create API Key [#create-api-key]
1. Navigate to [Copper](https://app.copper.com) dashboard.
2. Click on your account icon.
3. Click on **Integrations**.
4. Click on **API Keys**.
5. Click on **Generate API Key**.
6. Enter label for API Key, e.g. Bytechef Integration. Here you can see your API Key.
7. Done 🚀.
## Actions [#actions]
### Create Activity [#create-activity]
Name: createActivity
`Creates a new activity.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :---------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------: | :------: |
| activity\_type | Activity Type ID | STRING | Id of activity type for this activity. | true |
| details | Details | STRING | Text body of this activity. | true |
| type | Parent Type | STRING Options lead , person , company , opportunity | Parent type to associate this activity with. | true |
| id | Parent ID | STRING Depends On type | ID of the parent this activity will be associated with. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Activity",
"name" : "createActivity",
"parameters" : {
"activity_type" : "",
"details" : "",
"type" : "",
"id" : ""
},
"type" : "copper/v1/createActivity"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :-----------------------------------------------------------------------------------------: | :----------------------------------------------: |
| id | STRING | The ID of the new activity. |
| type | OBJECT Properties \{STRING(category), STRING(id)} | The type of the new activity. |
| details | STRING | Text body of the new activity. |
| parent | OBJECT Properties \{STRING(type), STRING(id)} | The resource to which this new activity belongs. |
#### Output Example [#output-example]
```json
{
"id" : "",
"type" : {
"category" : "",
"id" : ""
},
"details" : "",
"parent" : {
"type" : "",
"id" : ""
}
}
```
### Create Company [#create-company]
Name: createCompany
`Creates a new company.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------------: | :-------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------: | :------: |
| name | Name | STRING | The name of the company. | true |
| assignee\_id | Assignee ID | STRING | ID of the user that will be the owner of the company. | false |
| email\_domain | Email Domain | STRING | The domain to which email addresses for the company belong. | false |
| contact\_type\_id | Contact Type ID | STRING | ID of the Contact type for the company. | false |
| details | Details | STRING | Description of the company. | false |
| phone\_numbers | Phone Numbers | ARRAY Items \[\{STRING(number), STRING(category)}] | Phone numbers belonging to the company. | false |
| socials | Socials | ARRAY Items \[\{STRING(url), STRING(category)}] | Social profiles belonging to the company. | false |
| websites | Websites | ARRAY Items \[\{STRING(url), STRING(category)}] | Websites belonging to the company. | false |
| address | Address | OBJECT Properties \{STRING(street), STRING(city), STRING(state), STRING(postal\_code), STRING(country)} | Company's street, city, state, postal code, and country. | false |
| tags | Tags | ARRAY Items \[STRING] | Tags associated with the company | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Company",
"name" : "createCompany",
"parameters" : {
"name" : "",
"assignee_id" : "",
"email_domain" : "",
"contact_type_id" : "",
"details" : "",
"phone_numbers" : [ {
"number" : "",
"category" : ""
} ],
"socials" : [ {
"url" : "",
"category" : ""
} ],
"websites" : [ {
"url" : "",
"category" : ""
} ],
"address" : {
"street" : "",
"city" : "",
"state" : "",
"postal_code" : "",
"country" : ""
},
"tags" : [ "" ]
},
"type" : "copper/v1/createCompany"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------: |
| id | STRING | ID of the new company. |
| name | STRING | Name of the new company. |
| address | OBJECT Properties \{STRING(street), STRING(city), STRING(state), STRING(postal\_code), STRING(country)} | Address of the new company. |
| assignee\_id | STRING | ID of the user that is owner of the new company. |
| contact\_type\_id | STRING | ID of the contact type of the new company. |
| details | STRING | Description of the new company. |
| email\_domain | STRING | Domain to which email addresses of the new company belong. |
| phone\_numbers | ARRAY Items \[\{STRING(number), STRING(category)}] | Phone numbers belonging to the new company. |
| socials | ARRAY Items \[\{STRING(url), STRING(category)}] | Social profiles belonging to the company. |
| tags | ARRAY Items \[STRING] | Tags associated with the company. |
| websites | ARRAY Items \[\{STRING(url), STRING(category)}] | Websites belonging to the company. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"name" : "",
"address" : {
"street" : "",
"city" : "",
"state" : "",
"postal_code" : "",
"country" : ""
},
"assignee_id" : "",
"contact_type_id" : "",
"details" : "",
"email_domain" : "",
"phone_numbers" : [ {
"number" : "",
"category" : ""
} ],
"socials" : [ {
"url" : "",
"category" : ""
} ],
"tags" : [ "" ],
"websites" : [ {
"url" : "",
"category" : ""
} ]
}
```
### Create Person [#create-person]
Name: createPerson
`Creates a new person.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------------: | :-------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------: | :------: |
| name | Name | STRING | The first and last name of the person. | true |
| emails | Emails | ARRAY Items \[\{STRING(email), STRING(category)}(\$Email)] | Email addresses belonging to the person. | false |
| assignee\_id | Assignee ID | STRING | User ID that will be the owner of the person. | false |
| title | Title | STRING | The professional title of the person. | false |
| company\_id | Company ID | STRING | ID of the primary company with which the person is associated. | false |
| contact\_type\_id | Contact Type ID | STRING | The unique identifier of the contact type of the person. | false |
| details | Details | STRING | Description of the person. | false |
| phone\_numbers | Phone Numbers | ARRAY Items \[\{STRING(number), STRING(category)}] | Phone numbers belonging to the person. | false |
| socials | Socials | ARRAY Items \[\{STRING(url), STRING(category)}] | Social profiles belonging to the person. | false |
| websites | Websites | ARRAY Items \[\{STRING(url), STRING(category)}] | Websites belonging to the person. | false |
| address | Address | OBJECT Properties \{STRING(street), STRING(city), STRING(state), STRING(postal\_code), STRING(country)} | Person's street, city, state, postal code, and country. | false |
| tags | Tags | ARRAY Items \[STRING] | Tags associated with the person. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Person",
"name" : "createPerson",
"parameters" : {
"name" : "",
"emails" : [ {
"email" : "",
"category" : ""
} ],
"assignee_id" : "",
"title" : "",
"company_id" : "",
"contact_type_id" : "",
"details" : "",
"phone_numbers" : [ {
"number" : "",
"category" : ""
} ],
"socials" : [ {
"url" : "",
"category" : ""
} ],
"websites" : [ {
"url" : "",
"category" : ""
} ],
"address" : {
"street" : "",
"city" : "",
"state" : "",
"postal_code" : "",
"country" : ""
},
"tags" : [ "" ]
},
"type" : "copper/v1/createPerson"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------: |
| id | STRING | ID of the new person. |
| name | STRING | First and last name of the new person. |
| address | OBJECT Properties \{STRING(street), STRING(city), STRING(state), STRING(postal\_code), STRING(country)} | Address of the new person. |
| assignee\_id | STRING | ID of the user that is owner of the new person. |
| company\_id | STRING | ID of the primary company with which the new person is associated. |
| company\_name | STRING | The name of the primary company with which the new person is associated. |
| contact\_type\_id | STRING | ID of the contact type of the new person. |
| details | STRING | Description of the new person. |
| emails | ARRAY Items \[\{STRING(email), STRING(category)}] | Email addresses belonging to the new person. |
| phone\_numbers | ARRAY Items \[\{STRING(number), STRING(category)}] | Phone numbers belonging to the new person. |
| socials | ARRAY Items \[\{STRING(url), STRING(category)}] | Social profiles belonging to the person. |
| tags | ARRAY Items \[STRING] | Tags associated with the person. |
| title | STRING | |
| websites | ARRAY Items \[\{STRING(url), STRING(category)}] | Websites belonging to the person. |
#### Output Example [#output-example-2]
```json
{
"id" : "",
"name" : "",
"address" : {
"street" : "",
"city" : "",
"state" : "",
"postal_code" : "",
"country" : ""
},
"assignee_id" : "",
"company_id" : "",
"company_name" : "",
"contact_type_id" : "",
"details" : "",
"emails" : [ {
"email" : "",
"category" : ""
} ],
"phone_numbers" : [ {
"number" : "",
"category" : ""
} ],
"socials" : [ {
"url" : "",
"category" : ""
} ],
"tags" : [ "" ],
"title" : "",
"websites" : [ {
"url" : "",
"category" : ""
} ]
}
```
### Create Task [#create-task]
Name: createTask
`Creates a new task in Copper.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :------------: | :-----------: | :----------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------: | :------: |
| name | Name | STRING | The name of the task. | true |
| assignee\_id | Assignee ID | STRING | ID of the user to assign the task to. | false |
| due\_date | Due Date | DATE | The due date of the task. | false |
| reminder\_date | Reminder Date | DATE | The reminder date of the task. | false |
| details | Description | STRING | Description of the task. | false |
| priority | Priority | STRING Options None , Low , Medium , High | The priority of the task. | true |
| tags | Tags | ARRAY Items \[STRING] | | false |
| status | Status | STRING Options Open , Completed | The status of the task. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"name" : "",
"assignee_id" : "",
"due_date" : "2021-01-01",
"reminder_date" : "2021-01-01",
"details" : "",
"priority" : "",
"tags" : [ "" ],
"status" : ""
},
"type" : "copper/v1/createTask"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :---------------: | :-------------------------------------------------------------------------------------: | :-------------------------------------------: |
| id | STRING | ID of the new task. |
| name | STRING | Name of the new task. |
| related\_resource | OBJECT Properties \{STRING(id), STRING(type)} | Primary related resource for the new task. |
| assignee\_id | STRING | ID of the user that is owner of the new task. |
| due\_date | STRING | The due date of the new task. |
| reminder\_date | STRING | The reminder date of the new task. |
| completed\_date | STRING | The date the task was completed. |
| priority | STRING | The priority of the new task. |
| status | STRING | The status of the new task. |
| details | STRING | Description of the new task. |
| tags | ARRAY Items \[STRING] | Tags associated with the new task. |
#### Output Example [#output-example-3]
```json
{
"id" : "",
"name" : "",
"related_resource" : {
"id" : "",
"type" : ""
},
"assignee_id" : "",
"due_date" : "",
"reminder_date" : "",
"completed_date" : "",
"priority" : "",
"status" : "",
"details" : "",
"tags" : [ "" ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Couchbase
URL: /reference/components/couchbase_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/couchbase_v1.mdx
Couchbase is a distributed, JSON document database, with all the desired capabilities of a relational DBMS.
Categories: Artificial Intelligence
Type: couchbase/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :-------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: | :------: |
| connectionString | Connection String | STRING | A couchbase connection string | true |
| username | Username | STRING | Username for authentication with Couchbase. | true |
| password | Password | STRING | Password for authentication with Couchbase. | true |
| indexName | Index Name | STRING | The name of the index to store the vectors. | false |
| bucketName | Bucket Name | STRING | The name of the Couchbase Bucket, parent of the scope. | false |
| scopeName | Scope Name | STRING | The name of the Couchbase scope, parent of the collection. Search queries will be executed in the scope context. | false |
| collectionName | Collection Name | STRING | The name of the Couchbase collection to store the Documents. | false |
| dimensions | Dimensions | INTEGER | The number of dimensions in the vector. | false |
| similarity | Similarity | STRING Options l2\_norm , dot\_product | The similarity function to use. | true |
| optimization | Optimization | STRING Options latency , recall | The index optimization strategy to use. | false |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to initialize the schema. | false |
## Connection Setup [#connection-setup]
[Official documentation](https://docs.couchbase.com/cloud/get-started/connect.html)
Step-by-step guide:
1. Create a Cluster, click on it
2. Go to Buckets, Create a Bucket
3. Go to Settings → Networking → Allow IP Addresses, Allow your current IP address
4. Go to Settings → Security, Create Access (username and password)
5. Go to Data Tools → Search, Create a Search Index
6. Go to Connect, Copy Public Connection String
Now you have Public Connection String, Username, Password, Index Name and can create a connection
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "couchbase/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "couchbase/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "couchbase/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "couchbase/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Crypto Helper
URL: /reference/components/crypto-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/crypto-helper_v1.mdx
The Crypto Helper allows you to use cryptographic functions.
Categories: Helpers
Type: cryptoHelper/v1
## Actions [#actions]
### Hash [#hash]
Name: hash
`Computes and returns the hash of the input.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------: | :---------------------: | :-----------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------: | :------: |
| algorithm | Cryptographic Algorithm | STRING Options MD5 , SHA-1 , SHA-256 | The cryptographic algorithm that will be used to hash the input. | true |
| input | Input | STRING | Calculates the hash of the provided input. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Hash",
"name" : "hash",
"parameters" : {
"algorithm" : "",
"input" : ""
},
"type" : "cryptoHelper/v1/hash"
}
```
#### Output [#output]
Type: STRING
### Hmac [#hmac]
Name: hmac
`Computes and returns the HMAC of the input.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :---------------------: | :---------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------: | :------: |
| algorithm | Cryptographic Algorithm | STRING Options HmacMD5 , HmacSHA1 , HmacSHA256 | The cryptographic algorithm that will be used to hash the input. | true |
| input | Input | STRING | Generates a cryptographic HMAC for the provided input. | true |
| key | Key | STRING | Key that will be used for the encryption. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Hmac",
"name" : "hmac",
"parameters" : {
"algorithm" : "",
"input" : "",
"key" : ""
},
"type" : "cryptoHelper/v1/hmac"
}
```
#### Output [#output-1]
Type: STRING
### PGP Decrypt [#pgp-decrypt]
Name: pgpDecrypt
`Decrypts PGP encrypted file using private key and passphrase.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--------: | :-------------: | :---------: | :---------------------------------------------------------------------------------------------: | :------: |
| privateKey | Private PGP Key | STRING | Private PGP key that will decrypt the file. Make sure there is a new line after the PGP header. | true |
| file | File Entry | FILE\_ENTRY | File object with content that will be decrypted. | true |
| passphrase | Passphrase | STRING | Passphrase that was used for encryption. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "PGP Decrypt",
"name" : "pgpDecrypt",
"parameters" : {
"privateKey" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"passphrase" : ""
},
"type" : "cryptoHelper/v1/pgpDecrypt"
}
```
#### Output [#output-2]
Type: FILE\_ENTRY
#### Properties [#properties-3]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Generate PGP key pair [#generate-pgp-key-pair]
To generate PGP key pair, click [here](/reference/components/crypto-helper_v1#how-to-generate-pgp-key-pair)
### PGP Encrypt [#pgp-encrypt]
Name: pgpEncrypt
`Encrypts the file using PGP public key.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-------: | :------------: | :---------: | :--------------------------------------------------------------------------------------------------------: | :------: |
| publicKey | Public PGP Key | STRING | Public PGP key of the recipient of the encrypted file. Make sure there is a new line after the PGP header. | true |
| file | File Entry | FILE\_ENTRY | File object with content that will be encrypted. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "PGP Encrypt",
"name" : "pgpEncrypt",
"parameters" : {
"publicKey" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "cryptoHelper/v1/pgpEncrypt"
}
```
#### Output [#output-3]
Type: FILE\_ENTRY
#### Properties [#properties-5]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### RSA Decrypt [#rsa-decrypt]
Name: rsaDecrypt
`Decrypts RSA encrypted file using RSA private key.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :--------: | :-------------: | :---------: | :----------------------------------------------: | :------: |
| privateKey | Private RSA Key | STRING | Private RSA key that will decrypt the file. | true |
| file | File Entry | FILE\_ENTRY | File object with content that will be decrypted. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "RSA Decrypt",
"name" : "rsaDecrypt",
"parameters" : {
"privateKey" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "cryptoHelper/v1/rsaDecrypt"
}
```
#### Output [#output-4]
Type: FILE\_ENTRY
#### Properties [#properties-7]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-2]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Generate RSA key pair [#generate-rsa-key-pair]
To generate RSA key pair, click [here](/reference/components/crypto-helper_v1#how-to-generate-rsa-key-pair)
### RSA Encrypt [#rsa-encrypt]
Name: rsaEncrypt
`Encrypts the file using the RSA public key.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :-------: | :------------: | :---------: | :----------------------------------------------------: | :------: |
| publicKey | Public RSA Key | STRING | Public RSA key of the recipient of the encrypted file. | true |
| file | File Entry | FILE\_ENTRY | File object with content that will be encrypted. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "RSA Encrypt",
"name" : "rsaEncrypt",
"parameters" : {
"publicKey" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "cryptoHelper/v1/rsaEncrypt"
}
```
#### Output [#output-5]
Type: FILE\_ENTRY
#### Properties [#properties-9]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-3]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Sign [#sign]
Name: sign
`Cryptographically signs a file.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :--------: | :-------------: | :---------: | :-------------------------------------------------: | :------: |
| privateKey | Private RSA Key | STRING | Private RSA key that will be used to sign the file. | true |
| file | File Entry | FILE\_ENTRY | File object with content that will be signed | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Sign",
"name" : "sign",
"parameters" : {
"privateKey" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "cryptoHelper/v1/sign"
}
```
#### Output [#output-6]
Type: FILE\_ENTRY
#### Properties [#properties-11]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-4]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Generate RSA key pair [#generate-rsa-key-pair-1]
To generate RSA key pair, click [here](/reference/components/crypto-helper_v1#how-to-generate-rsa-key-pair)
### Verify [#verify]
Name: verify
`Verify the signature using public RSA key.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :-------: | :------------: | :---------: | :--------------------------------------------: | :------: |
| publicKey | Public RSA Key | STRING | Public RSA key that will verify the signature. | true |
| file | File Entry | FILE\_ENTRY | File object whose signature will be verified. | true |
| signature | Signature | FILE\_ENTRY | Signature that will be verified. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Verify",
"name" : "verify",
"parameters" : {
"publicKey" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"signature" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "cryptoHelper/v1/verify"
}
```
#### Output [#output-7]
Type: BOOLEAN
#### Generate RSA key pair [#generate-rsa-key-pair-2]
To generate RSA key pair, click [here](/reference/components/crypto-helper_v1#how-to-generate-rsa-key-pair)
# Additional Instructions [#additional-instructions]
### How to generate RSA key pair [#how-to-generate-rsa-key-pair]
1. Run this command in terminal to create private\_key.pem in the working directory:
`openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048`
2. Run this command in terminal to extract public key form the private key:
`openssl rsa -pubout -in private_key.pem -out public_key.pem`
3. To read the keys run this in terminal:
`cat public_key.pem or cat private_key.pem`
### How to generate PGP key pair [#how-to-generate-pgp-key-pair]
1. Run these commands in terminal.
2. `sudo apt install gnupg`
3. `gpg --full-generate-key`
4. When prompted write your name, email address, comment and passphrase
5. To get public key run:
`gpg --armor --export <our_email_address> > public_key.asc`
6. To get private key run:
`gpg --armor --export-secret-key <our_email_address> > private_key.asc`
# ByteChef Reference: CSV File
URL: /reference/components/csv-file_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/csv-file_v1.mdx
Reads and writes data from a csv file.
Categories: Helpers
Type: csvFile/v1
## Actions [#actions]
### Read from File [#read-from-file]
Name: read
`Reads data from a csv file.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The object property which contains a reference to the csv file to read from. | true |
| delimiter | Delimiter | STRING | Character used to separate values within the line red from the CSV file. | false |
| enclosingCharacter | Enclosing Character | STRING | Character used to wrap/enclose values. It is usually applied to complex CSV files where values may include delimiter characters. | false |
| headerRow | Header Row | BOOLEAN Options true , false | The first row of the file contains the header names. | false |
| includeEmptyCells | Include Empty Cells | BOOLEAN Options true , false | When reading from file the empty cells will be filled with an empty string. | false |
| pageSize | Page Size | INTEGER | The amount of child elements to return in a page. | false |
| pageNumber | Page Number | INTEGER | The page number to get. | false |
| readAsString | Read as String | BOOLEAN Options true , false | In some cases and file formats, it is necessary to read data specifically as string, otherwise some special characters are interpreted the wrong way. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Read from File",
"name" : "read",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"delimiter" : "",
"enclosingCharacter" : "",
"headerRow" : false,
"includeEmptyCells" : false,
"pageSize" : 1,
"pageNumber" : 1,
"readAsString" : false
},
"type" : "csvFile/v1/read"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Write to CSV File [#write-to-csv-file]
Name: write
`Writes the data records into a CSV file. Record values are assembled into line and separated with arbitrary character, mostly comma. CSV may or may not define header line.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----------------------------------------------------------: | :-------------------------------------------------------------------: | :------: |
| rows | Rows | ARRAY Items \[\{}] | The array of rows to append to the file. | true |
| filename | Filename | STRING | Filename to set for binary data. By default, "file.csv" will be used. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Write to CSV File",
"name" : "write",
"parameters" : {
"rows" : [ { } ],
"filename" : ""
},
"type" : "csvFile/v1/write"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Append to CSV File [#append-to-csv-file]
Name: append
`Appends the data records into an existing CSV file. Record values are assembled into a line and separated with a delimiter (comma by default). The existing header (if any) is preserved.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----------------------------------------------------------: | :--------------------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The object property which contains a reference to the csv file to append to. | true |
| rows | Rows | ARRAY Items \[\{}] | The array of rows to append to the file. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Append to CSV File",
"name" : "append",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"rows" : [ { } ]
},
"type" : "csvFile/v1/append"
}
```
#### Output [#output-2]
Type: FILE\_ENTRY
#### Properties [#properties-4]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
# ByteChef Reference: Custom Regex
URL: /reference/components/customRegex_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/customRegex_v1.mdx
User-defined regex guardrail - flags or masks matches of a custom pattern.
Categories: Artificial Intelligence
Type: customRegex/v1
# ByteChef Reference: Custom
URL: /reference/components/custom_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/custom_v1.mdx
User-defined LLM-based guardrail.
Categories: Artificial Intelligence
Type: custom/v1
# ByteChef Reference: Data Mapper
URL: /reference/components/data-mapper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/data-mapper_v1.mdx
The Data Mapper enables you to configure data mappings.
Categories: Helpers
Type: dataMapper/v1
## Actions [#actions]
### Map Objects to Array [#map-objects-to-array]
Name: mapObjectsToArray
`Transform an object or array of objects into an array of key-value pairs.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------: | :------: |
| inputType | Input Type | STRING Options OBJECT , ARRAY | Type of the input. Cam be an object or an array of objects. | true |
| input | Input | OBJECT Properties \{} | An input object containing one or more properties. | true |
| input | Input | ARRAY Items \[\{}] | An input array containing one or more objects. | true |
| fieldKey | Field Key | STRING | Property key of each newly created object in the array. Its property value will be a property key from the input. | true |
| valueKey | Value Key | STRING | Property key of each newly created object in the array. Its property value will be a property value from the input. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Map Objects to Array",
"name" : "mapObjectsToArray",
"parameters" : {
"inputType" : "",
"input" : [ { } ],
"fieldKey" : "",
"valueKey" : ""
},
"type" : "dataMapper/v1/mapObjectsToArray"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Map Objects to Object [#map-objects-to-object]
Name: mapObjectsToObject
`Creates a new object with the chosen input properties. You can also rename the property keys.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------------: | :-------------------: | :----------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| inputType | Input Type | STRING Options OBJECT , ARRAY | The input type. | true |
| input | Input | OBJECT Properties \{} | An object containing one or more properties. | true |
| input | Input | ARRAY Items \[\{}] | An array containing one or more objects. | true |
| mappings | Mapping | ARRAY Items \[\{STRING(from), STRING(to), BOOLEAN(requiredField)}] | An array of objects that contains properties 'from', 'to' and 'requiredField'. For nested keys, it supports dot notation, where the new mapped path can be used for nested mapping. | true |
| includeUnmapped | Include Unmapped | BOOLEAN Options true , false | Should fields from the original object that do not have mappings be included in the new object? | false |
| includeNulls | Include Nulls | BOOLEAN Options true , false | Should fields that have null values be included in the new object? | false |
| includeEmptyStrings | Include Empty strings | BOOLEAN Options true , false | Should fields with empty string values be included in the new object? | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Map Objects to Object",
"name" : "mapObjectsToObject",
"parameters" : {
"inputType" : "",
"input" : [ { } ],
"mappings" : [ {
"from" : "",
"to" : "",
"requiredField" : false
} ],
"includeUnmapped" : false,
"includeNulls" : false,
"includeEmptyStrings" : false
},
"type" : "dataMapper/v1/mapObjectsToObject"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Merge and Pivot Properties by Key [#merge-and-pivot-properties-by-key]
Name: mergeAndPivotPropertiesByKey
`Creates a new object out of all objects that have the same key as the specified field key and an object as value. That value of the new object contains values of all properties that share the specified field key as keys and the they all have the specified field value as a value.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----------------------------------------------------------: | :------------------------------------------------------------------------------: | :------: |
| input | Input | ARRAY Items \[\{}] | An array that contains objects with key-value properties that need do be merged. | true |
| fieldKey | Field Key | STRING | The key of the newly created object. | true |
| fieldValue | Field Value | STRING | The value of each property in the newly created objects value. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Merge and Pivot Properties by Key",
"name" : "mergeAndPivotPropertiesByKey",
"parameters" : {
"input" : [ { } ],
"fieldKey" : "",
"fieldValue" : ""
},
"type" : "dataMapper/v1/mergeAndPivotPropertiesByKey"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Rename Keys [#rename-keys]
Name: renameKeys
`The action renames keys of an input object defined by mappings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----------------------------------------------------------------------------------: | :----------------------------------------------------------------: | :------: |
| input | Input | OBJECT Properties \{} | The input object that contains property keys and values. | true |
| mappings | Mappings | ARRAY Items \[\{STRING(from), STRING(to)}] | An array of objects that contains properties 'From Path' and 'To'. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Rename Keys",
"name" : "renameKeys",
"parameters" : {
"input" : { },
"mappings" : [ {
"from" : "",
"to" : ""
} ]
},
"type" : "dataMapper/v1/renameKeys"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Replace All Specified Values [#replace-all-specified-values]
Name: replaceAllSpecifiedValues
`Goes through all object parameters and replaces all specified input parameter values.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------: | :------: |
| inputType | Input Type | STRING Options OBJECT , ARRAY | The input type. | true |
| input | Input | OBJECT Properties \{} | An object containing one or more properties. | true |
| input | Input | ARRAY Items \[\{}] | An array containing one or more objects. | true |
| type | Value Type | STRING Options ARRAY , BOOLEAN , DATE , DATE\_TIME , INTEGER , NUMBER , OBJECT , STRING , TIME | The value type of 'from' and 'to' property values. | true |
| mappings | Mappings | ARRAY Items \[\{\[]\(from), \[]\(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{BOOLEAN(from), BOOLEAN(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{DATE(from), DATE(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{DATE\_TIME(from), DATE\_TIME(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{INTEGER(from), INTEGER(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{NUMBER(from), NUMBER(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{\{}(from), \{}(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{STRING(from), STRING(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{TIME(from), TIME(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Replace All Specified Values",
"name" : "replaceAllSpecifiedValues",
"parameters" : {
"inputType" : "",
"input" : [ { } ],
"type" : "",
"mappings" : [ {
"from" : "00:00:00",
"to" : "00:00:00"
} ]
},
"type" : "dataMapper/v1/replaceAllSpecifiedValues"
}
```
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Replace Multiple Values by Key [#replace-multiple-values-by-key]
Name: replaceMultipleValuesByKey
`Replaces all values specified by the keys in the input object with the values specified by keys in the output object.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----------------------------------------------------------------------------------: | :----------------------------------------------: | :------: |
| input | Input | OBJECT Properties \{} | An object containing one or more properties. | true |
| output | Output | OBJECT Properties \{} | An object containing one or more properties. | true |
| mappings | Mappings | ARRAY Items \[\{STRING(from), STRING(to)}] | Object that contains properties 'from' and 'to'. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Replace Multiple Values by Key",
"name" : "replaceMultipleValuesByKey",
"parameters" : {
"input" : { },
"output" : { },
"mappings" : [ {
"from" : "",
"to" : ""
} ]
},
"type" : "dataMapper/v1/replaceMultipleValuesByKey"
}
```
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Replace Value [#replace-value]
Name: replaceValue
`Replaces a given value with the specified value defined in mappings. In case there is no mapping specified for the value, it returns the default value, and if there is no default defined, it returns null. You can also change a string value with regex.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------: | :------: |
| type | Value Type | STRING Options ARRAY , BOOLEAN , DATE , DATE\_TIME , INTEGER , NUMBER , OBJECT , STRING , TIME | The value type. | true |
| value | Value | ARRAY Items \[] | The value you want to replace. | true |
| value | Value | BOOLEAN Options true , false | The value you want to replace. | true |
| value | Value | DATE | The value you want to replace. | true |
| value | Value | DATE\_TIME | The value you want to replace. | true |
| value | Value | INTEGER | The value you want to replace. | true |
| value | Value | NUMBER | The value you want to replace. | true |
| value | Value | OBJECT Properties \{} | The value you want to replace. | true |
| value | Value | STRING | The value you want to replace. | true |
| value | Value | TIME | The value you want to replace. | true |
| defaultValue | Default Value | ARRAY Items \[] | If there is no existing mapping, assign this value as default. | true |
| defaultValue | Default Value | BOOLEAN Options true , false | If there is no existing mapping, assign this value as default. | true |
| defaultValue | Default Value | DATE | If there is no existing mapping, assign this value as default. | true |
| defaultValue | Default Value | DATE\_TIME | If there is no existing mapping, assign this value as default. | true |
| defaultValue | Default Value | INTEGER | If there is no existing mapping, assign this value as default. | true |
| defaultValue | Default Value | NULL | If there is no existing mapping, assign this value as default. | true |
| defaultValue | Default Value | NUMBER | If there is no existing mapping, assign this value as default. | true |
| defaultValue | Default Value | OBJECT Properties \{} | If there is no existing mapping, assign this value as default. | true |
| defaultValue | Default Value | STRING | If there is no existing mapping, assign this value as default. | true |
| defaultValue | Default Value | TIME | If there is no existing mapping, assign this value as default. | true |
| mappings | Mappings | ARRAY Items \[\{\[]\(from), \[]\(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{BOOLEAN(from), BOOLEAN(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{DATE(from), DATE(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{DATE\_TIME(from), DATE\_TIME(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{INTEGER(from), INTEGER(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{NUMBER(from), NUMBER(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{\{}(from), \{}(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{STRING(from), STRING(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
| mappings | Mappings | ARRAY Items \[\{TIME(from), TIME(to)}] | An array of objects that contains properties 'from' and 'to'. | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Replace Value",
"name" : "replaceValue",
"parameters" : {
"type" : "",
"value" : "00:00:00",
"defaultValue" : "00:00:00",
"mappings" : [ {
"from" : "00:00:00",
"to" : "00:00:00"
} ]
},
"type" : "dataMapper/v1/replaceValue"
}
```
#### Output [#output-6]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# Additional Instructions [#additional-instructions]
# Overview [#overview]
Data Mapper is a component or a tool designed to facilitate and configure the transformation of data from one format to another. Data Mapper typically allows you to map fields from the source data (typically a JSON output from another component) to the fields of the target data format or structure (e.g., the data model of another application). This component is particularly useful when dealing with diverse data sources and targets, or when data structures do not align directly and require transformation, such as renaming fields, renaming keys or reformatting values.
## Rename Keys [#rename-keys-1]
### Overview [#overview-1]
This action allows you to specify mappings that direct the renaming of keys in an input object to new names according to defined rules.
### Property Description [#property-description]
The process involves two main components:
1. **Input**: This defines your input value. It can be inputted manually or using data pills, which is its intended use case.
2. **Mappings**: Each mapping requires two parameters:
* **From Path**: This specifies the location of the key within the structured data that needs to be renamed.
* Dot Notation: The path is defined in a dot notation (for JSON), which allows the action to precisely identify and access the key in a nested or hierarchical data structure.
* **To**: This specifies the name that the original key should be changed to. This renaming can be necessary for several reasons such as making key names more descriptive, aligning data from different sources with a common schema, or complying with the naming conventions of a target system.
### Use Cases: [#use-cases]
By defining these mappings, the Rename Keys action effectively helps in normalizing data, making it easier to integrate and process across various systems and applications. This capability is particularly valuable in data integration, migration projects, or when interfacing with external systems that require a specific data schema.
### Example [#example]
## Replace Value [#replace-value-1]
### Overview: [#overview-2]
This action enables the substitution of specified values, based on predefined mappings. This action strictly adheres to type consistency, meaning that the values being replaced and their replacements must be of the same data type.
### Property Description [#property-description-1]
1. **Value Type**: Initially, you must define the data type of the values you intend to replace. This ensures type consistency, preventing errors that could arise from type mismatches (e.g., replacing a string with an integer).
2. **Value**: This defines your input value. It can be inputted manually or using data pills, which is its intended use case.
3. **Default Value**: If the replacement action encounters a value for which no explicit mapping is defined, it refers to a predefined default value. If no default value is specified either, the action will return null or a similar placeholder to denote the absence of a replacement.
4. **Mappings**: You need to establish a set of mappings that dictate how each value should be replaced. A mapping consists of a pair - the original value (From) and its intended replacement (To).
* Regex Support for Strings: In special cases where the values to be replaced are strings, you have the flexibility to define replacements using regular expressions (regex). This allows for more dynamic and complex matching and replacing scenarios, such as pattern-based text substitutions.
### Use Cases: [#use-cases-1]
This action is particularly useful in data cleansing and transformation tasks where consistency and correctness of data types are crucial. It is useful when you need to transform a single data pill output or a value in the output in a multiple iteration process.
[//]: # "### Example"
[//]: #
[//]: # "[Guidejar](https://guidejar.com/guides/b644bd49-59e5-4b1f-b47b-004f7e99cc12) tutorial."
## Replace All Specified Values [#replace-all-specified-values-1]
### Overview: [#overview-3]
This action automates the batch replacement of specified data within objects or arrays of objects, based on predefined mappings of values. Once initiated, the action iterates through each parameter of the input objects. If a parameter’s value matches a key in the mappings, it is replaced by the mapped value. Parameters not specified in the mappings remain unchanged. Additionally, the action provides the capability to modify string values through the use of regular expressions.
### Property Description [#property-description-2]
1. **Input Type**: This action accepts either a single object or an array of objects.
2. **Input**: Depends on Input Type. Each object is treated individually, undergoing a comprehensive scan through all of its parameters for potential replacements.
3. **Value Type**: Before performing replacements, it's crucial to ensure that all mappings maintain type consistency. This means that both the original value (From) and the new value (To) within each mapping pair must share the same data type.
4. **Mappings**: You need to establish a set of mappings that dictate how each value should be replaced. A mapping consists of a pair - the original value (From) and its intended replacement (To).
* Regex Support for Strings: In special cases where the values to be replaced are strings, you have the flexibility to define replacements using regular expressions (regex). This allows for more dynamic and complex matching and replacing scenarios, such as pattern-based text substitutions.
### Use Cases: [#use-cases-2]
This action can be used when you want to replace multiple values, but don't know where they are located or don't have the time to locate all of them. For example:
* Data Sanitization: Replacing or anonymizing sensitive information from objects within a dataset.
* Data Standardization: Ensuring that all data entries adhere to a uniform format or set of terminologies.
### Example [#example-1]
## Replace Multiple Values by Key [#replace-multiple-values-by-key-1]
### Overview: [#overview-4]
This action facilitates targeted replacements within an object based on a set of predefined mappings between keys. These mappings dictate which values from specified keys ('From Path') should be replaced by values from other keys ('To Path').
### Property Description [#property-description-3]
1. **Input**: This defines your input value. It can be inputted manually or using data pills, which is its intended use case.
2. **Output**: This defines your output value.
3. **Mappings**: Each mapping requires two parameters:
* **From Path**: Indicates the key path in the Input object where the current value is located.
* **To Path**: Points to the key path in the Output object whose value will replace the 'From Path' value.
* Dot Notation: Paths to both keys within are specified in dot notation. This allows for precise targeting and modification of entries, even within deeply nested structures.
### Use Cases: [#use-cases-3]
This method is especially useful for restructuring or transforming the structure of complex data objects without altering their inherent data format. For example:
* Data Integration: Useful in integrating systems where data from one system needs to be mapped to the schema of another system, hence facilitating smoother data interoperability.
* Configuration Overrides: Allows dynamic adjustments of configurations within software systems where properties from one part of a configuration object need to be replaced with those from another based on varying operational conditions or business rules.
### Example [#example-2]
## Map Objects to Object [#map-objects-to-object-1]
### Overview: [#overview-5]
This action is a transformation technique designed to selectively project and potentially rename properties from input data, creating a new, simplified object. This action is highly configurable, allowing decisions on inclusion based on mappings, and handling of unmapped fields, nulls, and empty strings.
### Property Description [#property-description-4]
1. **Input Type**: Indicates whether the provided data is a single object or an array of objects.
2. **Input**: An object that contains various properties to be mapped and filtered based on specified conditions.
3. **Mapping**: An array of objects where each object includes properties 'From Path', 'To', and 'Required Field'. This directs how each property in the input is processed and renamed in the output.
* **From Path**: Specifies the current location of the property using dot notation, which is useful for locating nested values.
* **To**: The parameter allows users to rename properties in the output object, providing flexibility in structuring the output.
* **Required Field**: The parameter can indicate which fields are mandatory for the function to process. If the field doesn't have a value, an exception is thrown. Default value is false.
4. **Include Unmapped**: Specifies whether properties not included in mappings should nevertheless appear in the output object. Default value is false.
5. **Include Nulls**: Determines if properties with null values should be included in the output. Default value is true.
6. **Include Empty Strings**: Indicates whether to include properties that have empty strings as values in the output object. Default value is true.
### Use Cases: [#use-cases-4]
* Data Cleaning and Structuring: Perfect for restructuring incoming data streams to fit the schema expected by downstream systems or databases.
* API Data Preparation: Useful in preparing data received from external APIs, where only specific information is needed, or names need standardization.
* Configurations and Settings Management: Can be used to selectively extract and rename settings from complex nested configuration objects, making it easier to manage application settings.
[//]: # "### Example"
[//]: #
[//]: # "TODO"
## Map Objects to Array [#map-objects-to-array-1]
### Overview: [#overview-6]
This action is designed to convert a given single object or an array of objects into an array composed of key-value pairs. This transformation facilitates easier manipulation, aggregation, or visualization of nested or complex object data by flattening it into a more accessible, tabular format.
### Property Description [#property-description-5]
1. **Input Type**: Defines whether the input provided is a single object or an array of objects.
2. **Input**: An input object containing one or more properties that will be transformed into an array of key-value pairs.
3. **Field Key**: Specifies the property key in each newly created object within the output array. The value of this key in the new object will be the name (key) of a property from the input object.
4. **Value Key**: Specifies the property key in each newly created object within the output array that holds the property value from the input object.
### Use Cases: [#use-cases-5]
* Data Transformation: Useful for data processing tasks where object structures need to be simplified or normalized for further processing, such as in analytics or reporting tools that require flat data structures.
* API Response Transformation: Ideal for transforming complex JSON structures received from API calls into a format that is easier to manage or display in user interfaces.
* Database Loading: Assists in the preparation of data for loading into databases that are optimized for handling flat structures, such as relational databases or certain types of NoSQL databases.
### Example [#example-3]
## Merge and Pivot Properties by Key [#merge-and-pivot-properties-by-key-1]
### Overview: [#overview-7]
This action transforms an array of objects into a new, consolidated object based on a specified key. This action enables the aggregation and reorganization of data where each unique key becomes a single property in the resultant object, and the associated values are formed into sub-properties based on other shared properties in the input objects.
### Property Description [#property-description-6]
1. **Input**: This property takes an array of objects. Each object should have key-value pairs that need to be evaluated and merged based on shared keys.
2. **Field Key**: This is the key based on which the input objects are analyzed and merged. For each unique value of this key found across objects, a new property is created in the resultant object.
3. **Field Value**: This is the value that every property in each sub-object of the resultant main object will have. Essentially, it defines the static value assigned to each key derived during the merging process.
### Use Cases: [#use-cases-6]
* Data Aggregation: Useful in scenarios where there is a need to aggregate information that shares common identifiers across multiple records, such as combining different attributes of products listed by the same identifier across various datasets.
* Analytical Reporting: Facilitates the creation of pivoted data structures that are often required in analytical reporting and data visualization to summarize data effectively.
* Configuration Management: In systems configurations, merging different configuration objects based on a common identifier can simplify the management and deployment of configuration settings.
### Example [#example-4]
# ByteChef Reference: Data Storage
URL: /reference/components/data-storage_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/data-storage_v1.mdx
Using the Data Storage component, you can easily manage and operate on lists and objects by setting or retrieving any desired data. This process employs a key-value store mechanism, where the key represents the field's name and the value corresponds to the particular data's actual value.
Categories: Helpers
Type: dataStorage/v1
## Actions [#actions]
### Append Value to List [#append-value-to-list]
Name: appendValueToList
`Append value to the end of a list. If the list does not exist, it will be created.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------------: | :----------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------: | :------: |
| scope | Scope | STRING Options CURRENT\_EXECUTION , WORKFLOW , PRINCIPAL , ACCOUNT | The namespace for appending a value. | true |
| key | Key | STRING | The identifier of a list must be unique within the chosen scope, or a new value will overwrite the existing one. | true |
| type | Type | STRING Options ARRAY , BOOLEAN , DATE , DATE\_TIME , INTEGER , NULL , NUMBER , OBJECT , STRING , TIME | The value type. | true |
| value | Value | ARRAY Items \[] | The value to set under given key. | true |
| value | Value | BOOLEAN Options true , false | The value to set under given key. | true |
| value | Value | DATE | The value to set under given key. | true |
| value | Value | DATE\_TIME | The value to set under given key. | true |
| value | Value | INTEGER | The value to set under given key. | true |
| value | Value | NULL | The value to set under given key. | true |
| value | Value | NUMBER | The value to set under given key. | true |
| value | Value | OBJECT Properties \{} | The value to set under given key. | true |
| value | Value | STRING | The value to set under given key. | true |
| value | Value | TIME | The value to set under given key. | true |
| appendListAsSingleItem | Append a List as a Single Item | BOOLEAN Options true , false | When set to true, and the value is a list, it will be added as a single value rather than concatenating the lists. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Append Value to List",
"name" : "appendValueToList",
"parameters" : {
"scope" : "",
"key" : "",
"type" : "",
"value" : "00:00:00",
"appendListAsSingleItem" : false
},
"type" : "dataStorage/v1/appendValueToList"
}
```
#### Output [#output]
This action does not produce any output.
### Atomic Increment [#atomic-increment]
Name: atomicIncrement
`The numeric value can be incremented atomically, and the action can be used concurrently from multiple executions.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :------: |
| key | Key | STRING | The identifier of a value to increment. | true |
| scope | Scope | STRING Options CURRENT\_EXECUTION , WORKFLOW , PRINCIPAL , ACCOUNT | The namespace to obtain a value from. | true |
| valueToAdd | Value to Add | INTEGER | The value that can be added to the existing numeric value, which may have a negative value. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Atomic Increment",
"name" : "atomicIncrement",
"parameters" : {
"key" : "",
"scope" : "",
"valueToAdd" : 1
},
"type" : "dataStorage/v1/atomicIncrement"
}
```
#### Output [#output-1]
Type: INTEGER
### Await Get Value [#await-get-value]
Name: awaitGetValue
`Wait for a value under a specified key, until it's available.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| key | Key | STRING | The identifier of a value to wait for. | true |
| scope | Scope | STRING Options CURRENT\_EXECUTION , WORKFLOW , PRINCIPAL , ACCOUNT | The namespace to obtain a value from. | true |
| type | Type | STRING Options ARRAY , BOOLEAN , DATE , DATE\_TIME , INTEGER , NULL , NUMBER , OBJECT , STRING , TIME | The value type. | true |
| defaultValue | Default Value | ARRAY Items \[] | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | BOOLEAN Options true , false | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | DATE | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | DATE\_TIME | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | INTEGER | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | NULL | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | NUMBER | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | OBJECT Properties \{} | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | STRING | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | TIME | The default value to return if no value exists under the given key. | false |
| timeout | Timeout | INTEGER | If a value is not found within the specified time, the action returns a null value. Therefore, the maximum wait time should be set accordingly. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Await Get Value",
"name" : "awaitGetValue",
"parameters" : {
"key" : "",
"scope" : "",
"type" : "",
"defaultValue" : "00:00:00",
"timeout" : 1
},
"type" : "dataStorage/v1/awaitGetValue"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Delete Value [#delete-value]
Name: deleteValue
`Remove a value associated with a key in the specified scope.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| key | Key | STRING | The identifier of a value to delete, stored earlier in the selected scope. | true |
| scope | Scope | STRING Options CURRENT\_EXECUTION , WORKFLOW , PRINCIPAL , ACCOUNT | The namespace to delete a value from. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete Value",
"name" : "deleteValue",
"parameters" : {
"key" : "",
"scope" : ""
},
"type" : "dataStorage/v1/deleteValue"
}
```
#### Output [#output-3]
This action does not produce any output.
### Delete Value from List [#delete-value-from-list]
Name: deleteValueFromlist
`Delete a value from the given index in a list.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| key | Key | STRING | The identifier of a list to delete value from, stored earlier in the selected scope. | true |
| scope | Scope | STRING Options CURRENT\_EXECUTION , WORKFLOW , PRINCIPAL , ACCOUNT | The namespace to delete a value from. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has. | true |
| index | Index | INTEGER | The specified index in the list will be removed, and if it doesn't exist, the list will remain unaltered. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Delete Value from List",
"name" : "deleteValueFromlist",
"parameters" : {
"key" : "",
"scope" : "",
"index" : 1
},
"type" : "dataStorage/v1/deleteValueFromlist"
}
```
#### Output [#output-4]
This action does not produce any output.
### Get All Entries(Keys and Values) [#get-all-entrieskeys-and-values]
Name: getAllEntries
`Retrieve all the currently existing keys from storage, along with their values within the provided scope.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------: | :------: |
| scope | Scope | STRING Options CURRENT\_EXECUTION , WORKFLOW , PRINCIPAL , ACCOUNT | The namespace to get keys from. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get All Entries(Keys and Values)",
"name" : "getAllEntries",
"parameters" : {
"scope" : ""
},
"type" : "dataStorage/v1/getAllEntries"
}
```
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Get Value [#get-value]
Name: getValue
`Retrieve a previously assigned value within the specified scope using its corresponding key.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| key | Key | STRING | The identifier of a value to get, stored earlier in the selected scope. | true |
| scope | Scope | STRING Options CURRENT\_EXECUTION , WORKFLOW , PRINCIPAL , ACCOUNT | The namespace to get a value from. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has. | true |
| type | Type | STRING Options ARRAY , BOOLEAN , DATE , DATE\_TIME , INTEGER , NULL , NUMBER , OBJECT , STRING , TIME | The value type. | false |
| defaultValue | Default Value | ARRAY Items \[] | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | BOOLEAN Options true , false | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | DATE | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | DATE\_TIME | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | INTEGER | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | NULL | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | NUMBER | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | OBJECT Properties \{} | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | STRING | The default value to return if no value exists under the given key. | false |
| defaultValue | Default Value | TIME | The default value to return if no value exists under the given key. | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Get Value",
"name" : "getValue",
"parameters" : {
"key" : "",
"scope" : "",
"type" : "",
"defaultValue" : "00:00:00"
},
"type" : "dataStorage/v1/getValue"
}
```
#### Output [#output-6]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Set Value [#set-value]
Name: setValue
`Set a value under a key, in the specified scope.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| key | Key | STRING | The identifier of a value. Must be unique across all keys within the chosen scope to prevent overwriting the existing value with a new one. Also, it must be less than 1024 bytes in length. | true |
| scope | Scope | STRING Options CURRENT\_EXECUTION , WORKFLOW , PRINCIPAL , ACCOUNT | The namespace to set a value in. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has. | true |
| type | Type | STRING Options ARRAY , BOOLEAN , DATE , DATE\_TIME , INTEGER , NULL , NUMBER , OBJECT , STRING , TIME | The value type. | true |
| value | Value | ARRAY Items \[] | The value to set under the specified key. | true |
| value | Value | BOOLEAN Options true , false | The value to set under the specified key. | true |
| value | Value | DATE | The value to set under the specified key. | true |
| value | Value | DATE\_TIME | The value to set under the specified key. | true |
| value | Value | INTEGER | The value to set under the specified key. | true |
| value | Value | NULL | The value to set under the specified key. | true |
| value | Value | NUMBER | The value to set under the specified key. | true |
| value | Value | OBJECT Properties \{} | The value to set under the specified key. | true |
| value | Value | STRING | The value to set under the specified key. | true |
| value | Value | TIME | The value to set under the specified key. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Set Value",
"name" : "setValue",
"parameters" : {
"key" : "",
"scope" : "",
"type" : "",
"value" : "00:00:00"
},
"type" : "dataStorage/v1/setValue"
}
```
#### Output [#output-7]
This action does not produce any output.
### Set Value in List [#set-value-in-list]
Name: setValueInList
`Set value under a specified index in a list.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| key | Key | STRING | The identifier of a list. Must be unique across all keys within the chosen scope to prevent overwriting the existing value with a new one. Also, it must be less than 1024 bytes in length. | true |
| scope | Scope | STRING Options CURRENT\_EXECUTION , WORKFLOW , PRINCIPAL , ACCOUNT | The namespace to set a value in. The value should have been previously accessible, either in the present workflow execution, or the workflow itself for all the executions, or the user account for all the workflows the user has. | true |
| index | Index | INTEGER | The index in a list to set a value under. The previous value will be overridden. | true |
| type | Type | STRING Options ARRAY , BOOLEAN , DATE , DATE\_TIME , INTEGER , NULL , NUMBER , OBJECT , STRING , TIME | The value type. | true |
| value | Value | ARRAY Items \[] | The value to set under the specified list's key. | true |
| value | Value | BOOLEAN Options true , false | The value to set under the specified list's key. | true |
| value | Value | DATE | The value to set under the specified list's key. | true |
| value | Value | DATE\_TIME | The value to set under the specified list's key. | true |
| value | Value | INTEGER | The value to set under the specified key. | true |
| value | Value | NULL | The value to set under the specified key. | true |
| value | Value | NUMBER | The value to set under the specified list's key. | true |
| value | Value | OBJECT Properties \{} | The value to set under the specified list's key. | true |
| value | Value | STRING | The value to set under the specified list's key. | true |
| value | Value | TIME | The value to set under the specified list's key. | true |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Set Value in List",
"name" : "setValueInList",
"parameters" : {
"key" : "",
"scope" : "",
"index" : 1,
"type" : "",
"value" : "00:00:00"
},
"type" : "dataStorage/v1/setValueInList"
}
```
#### Output [#output-8]
This action does not produce any output.
# Additional Instructions [#additional-instructions]
### Data Storage: Scopes, getValue behavior, defaults, and examples [#data-storage-scopes-getvalue-behavior-defaults-and-examples]
This guide complements the component reference and answers common questions with concrete examples.
For the full property list of every action, see the reference page: `/docs/reference/components/data-storage_v1`.
***
### Scopes explained with examples [#scopes-explained-with-examples]
Data Storage actions accept a `scope` that defines how broadly the value is visible and how long it lives.
* CURRENT\_EXECUTION
* Visibility: Only within the currently running workflow execution (this single run).
* Lifetime: Disappears when this execution finishes.
* Example: Accumulate items in a loop and emit at the end of the run.
* WORKFLOW
* Visibility: All future and parallel executions of the same workflow (same workflow definition + same deployment) can read it.
* Lifetime: Persists until explicitly deleted or overwritten by the workflow.
* Example: Cache a per‑workflow token or “last processed timestamp”.
* PRINCIPAL
* Visibility: All workflows within the same deployment (principal) can share it.
* Lifetime: Persists across all workflows in that deployment until deleted/overwritten.
* Example: Share a rate‑limit counter across multiple workflows inside the same deployment/environment.
* ACCOUNT
* Visibility: Global for your ByteChef account across deployments and workflows.
* Lifetime: Persists until deleted/overwritten.
* Example: Organization‑wide configuration or shared lookup tables used by many workflows.
Notes
* Keys must be unique within a chosen scope; otherwise the new write overwrites the existing value.
* When you need safe concurrent numeric increments from multiple executions, use `Atomic Increment`.
* Keys must be smaller than 1024 bytes (see Set Value reference).
***
### Worked example: building and reading a list (heroes) [#worked-example-building-and-reading-a-list-heroes]
Imagine a loop where you append three objects to a list under key `heroes`:
```
Append Value to List (scope: CURRENT_EXECUTION, key: heroes, type: OBJECT, value: {"name":"Peter","secondName":"Pan"})
Append Value to List (scope: CURRENT_EXECUTION, key: heroes, type: OBJECT, value: {"name":"Donald","secondName":"Duck"})
Append Value to List (scope: CURRENT_EXECUTION, key: heroes, type: OBJECT, value: {"name":"Mickey","secondName":"Mouse"})
```
Next, add `Get Value` with `key: heroes`, `scope: CURRENT_EXECUTION`, `type: ARRAY`. Suppose the designer auto‑names this step `dataStorage_2`.
#### What does `{dataStorage_2}` contain? [#what-does-datastorage_2-contain]
It evaluates to the array of objects you stored. Using the example above:
```json
[
{ "name": "Peter", "secondName": "Pan" },
{ "name": "Donald", "secondName": "Duck" },
{ "name": "Mickey", "secondName": "Mouse" }
]
```
Common projections you can use in expressions:
* `{dataStorage_2[0].name}` → `Peter`
* `{dataStorage_2[1].secondName}` → `Duck`
* Iterate in a downstream loop over `{dataStorage_2}` to process each item.
#### Can I rename `dataStorage_2` to `heroesArray`? [#can-i-rename-datastorage_2-to-heroesarray]
Yes. In the workflow designer, rename the step to a meaningful handle (e.g., `heroesArray`). Thereafter `{heroesArray}` refers to the same output. The handle must be unique within the workflow.
Auto‑naming currently uses the component name with an index (e.g., `dataStorage_2`). It does not derive names from the `key`/`type`. We recommend manually renaming important steps using a clear convention such as:
* `heroesArray`
* `counterInteger`
* `yearString`
* `birthDate`
***
### getValue: type, validation and transformations [#getvalue-type-validation-and-transformations]
`Get Value` retrieves what was previously stored under the given `key` and `scope`.
* If you omit `type`:
* The step returns the stored JSON value “as is”.
* If you provide `type`:
* The runtime validates/deserializes the stored value as that type.
* For complex types (ARRAY/OBJECT), the structure must match.
* For numeric sub‑types, requesting `NUMBER` for an integer will yield a number; requesting `INTEGER` for a non‑integer number is invalid.
* If the stored value is incompatible with the requested `type`, the action fails validation rather than silently changing your data.
Important
* `Get Value` does not mutate what is stored. The `type` is about how the output is interpreted/validated at read time, not how it is persisted.
* To avoid surprises, store values using the intended type up front (via `Set Value` / `Append Value to List`).
***
### Default Value: when and how to use it [#default-value-when-and-how-to-use-it]
`defaultValue` on `Get Value` is returned when the key does not exist in the chosen scope. Examples:
* Return an empty list if `heroes` is missing:
* `type: ARRAY`, `defaultValue: []`
* Return `0` for a missing counter:
* `type: INTEGER`, `defaultValue: 0`
Behavior
* If the key is absent → you receive `defaultValue` (if provided) or `null`.
* If the key exists but the stored value is incompatible with the requested `type` → the step fails validation; `defaultValue` is not used to repair type mismatches.
Why does the “Default Value” input sometimes disappear when I choose an expression?
* Some property editors in the UI switch between “literal” and “expression” modes. When you supply an expression for a consuming field, the editor may hide literal defaults to avoid conflicts. Use one of these strategies:
1. Put the fallback directly on the `Get Value` step via its `defaultValue` property; or
2. Handle fallback at the consumption site (for example, ensure the downstream component can handle empty arrays or use a Script step to coalesce).
***
### Recipes [#recipes]
#### A) Export the list to CSV [#a-export-the-list-to-csv]
Goal: Save the `heroes` array as CSV text with two columns `name,secondName`.
One simple approach is to build rows and then send CSV text to a component that accepts file/content input (e.g., HTTP upload, drive/storage, email attachment). You can assemble a CSV string with a Script step:
```javascript
// Script (JavaScript) step
function perform(input, context) {
const rows = context.input.heroes; // pass {heroesArray} into the script's input mapping
const header = ['name','secondName'];
const lines = [header.join(',')];
for (const r of rows) {
const safe = [r.name, r.secondName].map(v => typeof v === 'string' ? '"' + v.replaceAll('"', '""') + '"' : '');
lines.push(safe.join(','));
}
return { csv: lines.join('\n') };
}
```
Then send `output.csv` to your destination using the corresponding component. Map the Script output field (e.g., `{script.csv}`) to the file content/body.
Tips
* If your workspace includes a dedicated CSV component, you can map the array of objects and headers directly instead of scripting.
#### B) Append rows to Google Sheets [#b-append-rows-to-google-sheets]
Goal: Append each hero as a new row in a Google Sheet with columns A: `name`, B: `secondName`.
High‑level steps:
1. Ensure your `Get Value` step returns the array (rename the step to `heroesArray` for readability).
2. Add Google Sheets → Append Values (or similar) action.
3. Provide a 2D array where each inner array is a row `[name, secondName]`.
If you need to reshape objects to rows, insert a tiny Script step:
```javascript
function perform(input, context) {
const rows = context.input.heroes.map(h => [h.name, h.secondName]);
return { rows };
}
```
Set the Google Sheets “values”/“rows” parameter to `{script.rows}` and configure the target spreadsheet, sheet/tab, and insertion mode.
***
### FAQ [#faq]
Can I append a list as a single item?
* Yes. In `Append Value to List`, set `appendListAsSingleItem: true` to push the entire list as one element instead of concatenating.
How do deletes work?
* Use `Delete Value` to remove any key, or `Delete Value from List` to remove by index within a stored list.
How do I see everything stored in a scope?
* Use `Get All Entries (Keys and Values)` with the desired `scope`.
Where can I find the full schema for each action?
* See the component reference: `/docs/reference/components/data-storage_v1`.
# ByteChef Reference: Processor
URL: /reference/components/data-stream-processor_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/data-stream-processor_v1.mdx
Processes and transforms data in data streams.
Categories: Helpers
Type: dataStreamProcessor/v1
# ByteChef Reference: Date Helper
URL: /reference/components/date-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/date-helper_v1.mdx
Helper component for date and time manipulation.
Categories: Helpers
Type: dateHelper/v1
## Actions [#actions]
### Add Time [#add-time]
Name: addTime
`Add time to the date.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | Date to which time will be added. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| dateFormat | Date Format | STRING Options EEE MMM dd yyyy HH:mm:ss , EEE MMM dd HH:mm:ss yyyy , MMMM dd yyyy HH:mm:ss , MMMM dd yyyy , MMM dd yyyy , yyyy-MM-dd'T'HH:mm:ss , yyyy-MM-dd HH:mm:ss , yyyy-MM-dd , MM-dd-yyyy , MM/dd/yyyy , MM/dd/yy , dd-MM-yyyy , dd/MM/yyyy , dd.MM.yyyy , dd/MM/yy , dd.MM.yy , UnixTimestamp | Here's what each part of the format (eg. YYYY) means: yyyy : Year (4 digits) yy : Year (2 digits) MMMM : Month (full name) MMM : Month (short name) MM : Month (2 digits) EEE : Day (short name) dd : Day (2 digits) HH : Hour (2 digits) mm : Minute (2 digits) ss : Second (2 digits). | true |
| year | Year | INTEGER | Years to add. | false |
| month | Month | INTEGER | Months to add. | false |
| day | Day | INTEGER | Days to add. | false |
| hour | Hour | INTEGER | Hours to add. | false |
| minute | Minute | INTEGER | Minutes to add. | false |
| second | Second | INTEGER | Seconds to add. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Time",
"name" : "addTime",
"parameters" : {
"date" : "2021-01-01T00:00:00",
"dateFormat" : "",
"year" : 1,
"month" : 1,
"day" : 1,
"hour" : 1,
"minute" : 1,
"second" : 1
},
"type" : "dateHelper/v1/addTime"
}
```
#### Output [#output]
Type: STRING
### Compare Dates [#compare-dates]
Name: compareDates
`Compares two dates.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------: | :------: |
| dateA | Date A | DATE\_TIME | First date that will be compared. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| dateB | Date B | DATE\_TIME | Second date that will be compared. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| resolution | Resolution | STRING Options year , month , day , hour , minute , second | The resolution at which the dates will be compared. Chosen resolution will be the smallest time unit that will be compared. | true |
| comparison | Comparison | STRING Options IS\_AFTER , IS\_AFTER\_OR\_EQUAL , IS\_BEFORE , IS\_BEFORE\_OR\_EQUAL , IS\_EQUAL | The type of comparison to be performed. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Compare Dates",
"name" : "compareDates",
"parameters" : {
"dateA" : "2021-01-01T00:00:00",
"dateB" : "2021-01-01T00:00:00",
"resolution" : "",
"comparison" : ""
},
"type" : "dateHelper/v1/compareDates"
}
```
#### Output [#output-1]
Type: BOOLEAN
### Compare Times [#compare-times]
Name: compareTimes
`Compare two time values, ignoring the dates/days.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------: | :------: |
| dateA | Date A | DATE\_TIME | First date that will be compared. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| dateB | Date B | DATE\_TIME | Second date that will be compared. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| comparison | Comparison | STRING Options IS\_AFTER , IS\_AFTER\_OR\_EQUAL , IS\_BEFORE , IS\_BEFORE\_OR\_EQUAL , IS\_EQUAL | The type of comparison to be performed. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Compare Times",
"name" : "compareTimes",
"parameters" : {
"dateA" : "2021-01-01T00:00:00",
"dateB" : "2021-01-01T00:00:00",
"comparison" : ""
},
"type" : "dateHelper/v1/compareTimes"
}
```
#### Output [#output-2]
Type: BOOLEAN
### Convert Date Timestamp [#convert-date-timestamp]
Name: convertUnixTimestampToIso8601
`Converts UNIX timestamp to ISO8601 format.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------: | :------: |
| dateTimestamp | UNIX Timestamp | NUMBER | UNIX Timestamp in seconds (10 digits) or milliseconds (13 digits) | true |
| dateFormat | Date Format | STRING Options yyyy-MM-dd'T'HH:mm:ss.SSSZ , yyyy-MM-dd | Formatting that should be applied the text representation of date. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Convert Date Timestamp",
"name" : "convertUnixTimestampToIso8601",
"parameters" : {
"dateTimestamp" : 0.0,
"dateFormat" : ""
},
"type" : "dateHelper/v1/convertUnixTimestampToIso8601"
}
```
#### Output [#output-3]
Type: STRING
### Convert to Date [#convert-to-date]
Name: convertToDate
`Converts a date string into a Date or DateTime value.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| dateString | Date String | STRING | The string to convert to a date. | true |
| dateFormatType | Date Format Type | STRING Options standard , custom | The type of date format to use. | true |
| dateFormat | Date Format | STRING Options EEE MMM dd yyyy HH:mm:ss , EEE MMM dd HH:mm:ss yyyy , MMMM dd yyyy HH:mm:ss , MMMM dd yyyy , MMM dd yyyy , yyyy-MM-dd'T'HH:mm:ss , yyyy-MM-dd HH:mm:ss , yyyy-MM-dd , MM-dd-yyyy , MM/dd/yyyy , MM/dd/yy , dd-MM-yyyy , dd/MM/yyyy , dd.MM.yyyy , dd/MM/yy , dd.MM.yy , UnixTimestamp | Here's what each part of the format (eg. YYYY) means: yyyy : Year (4 digits) yy : Year (2 digits) MMMM : Month (full name) MMM : Month (short name) MM : Month (2 digits) EEE : Day (short name) dd : Day (2 digits) HH : Hour (2 digits) mm : Minute (2 digits) ss : Second (2 digits). | true |
| dateFormat | Date Format | STRING | The format pattern of the input string (e.g. yyyy-MM-dd or yyyy-MM-dd'T'HH:mm:ss). If not provided, ISO format is assumed. | false |
| type | Output Type | STRING Options date , dateTime | The type of date value to produce. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Convert to Date",
"name" : "convertToDate",
"parameters" : {
"dateString" : "",
"dateFormatType" : "",
"dateFormat" : "",
"type" : ""
},
"type" : "dateHelper/v1/convertToDate"
}
```
#### Output [#output-4]
Type: DATE\_TIME
### Date Difference [#date-difference]
Name: dateDifference
`Get the difference between two dates.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------: | :------: |
| startDate | Start Date | DATE\_TIME | Start date of the interval. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| endDate | End Date | DATE\_TIME | End date of the interval. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| unit | Unit | STRING Options year , month , day , hour , minute , second | The unit of difference between the two dates. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Date Difference",
"name" : "dateDifference",
"parameters" : {
"startDate" : "2021-01-01T00:00:00",
"endDate" : "2021-01-01T00:00:00",
"unit" : ""
},
"type" : "dateHelper/v1/dateDifference"
}
```
#### Output [#output-5]
Type: NUMBER
### Date Is in the Last [#date-is-in-the-last]
Name: dateIsInLast
`Allows you to easily check if a given date has occurred in the last X number of seconds, minutes, hours, or days.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | Date for which you want to check is it in the last X number of selected time units. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| timeZone | Time Zone | STRING | Time zone to use when checking the date. | true |
| inLast | In Last | INTEGER | Number of how many time units. | true |
| unit | Unit | STRING Options year , month , day , hour , minute , second | The unit of difference between the two dates. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Date Is in the Last",
"name" : "dateIsInLast",
"parameters" : {
"date" : "2021-01-01T00:00:00",
"timeZone" : "",
"inLast" : 1,
"unit" : ""
},
"type" : "dateHelper/v1/dateIsInLast"
}
```
#### Output [#output-6]
Type: BOOLEAN
### Extract Date Units [#extract-date-units]
Name: extractDateUnits
`Extracts specific units (year, month, day, hour, minute, second, day of week, month name, date, or time) from a given date.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--: | :-------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | The date from which to extract the specified unit. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| unit | Unit to Extract | STRING Options year , month , day , hour , minute , second , dayOfWeek , monthName , date , time | Unit to extract from the input date. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Extract Date Units",
"name" : "extractDateUnits",
"parameters" : {
"date" : "2021-01-01T00:00:00",
"unit" : ""
},
"type" : "dateHelper/v1/extractDateUnits"
}
```
#### Output [#output-7]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Format Date [#format-date]
Name: formatDate
`Format date to a desired format.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | Date which you want to format. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| dateFormat | Date Format | STRING Options EEE MMM dd yyyy HH:mm:ss , EEE MMM dd HH:mm:ss yyyy , MMMM dd yyyy HH:mm:ss , MMMM dd yyyy , MMM dd yyyy , yyyy-MM-dd'T'HH:mm:ss , yyyy-MM-dd HH:mm:ss , yyyy-MM-dd , MM-dd-yyyy , MM/dd/yyyy , MM/dd/yy , dd-MM-yyyy , dd/MM/yyyy , dd.MM.yyyy , dd/MM/yy , dd.MM.yy , UnixTimestamp | Here's what each part of the format (eg. YYYY) means: yyyy : Year (4 digits) yy : Year (2 digits) MMMM : Month (full name) MMM : Month (short name) MM : Month (2 digits) EEE : Day (short name) dd : Day (2 digits) HH : Hour (2 digits) mm : Minute (2 digits) ss : Second (2 digits). | true |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Format Date",
"name" : "formatDate",
"parameters" : {
"date" : "2021-01-01T00:00:00",
"dateFormat" : ""
},
"type" : "dateHelper/v1/formatDate"
}
```
#### Output [#output-8]
Type: OBJECT
### Get Current Date [#get-current-date]
Name: getCurrentDate
`Get current date in the specified format.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| timeZone | Time Zone | STRING | Time zone to use when formatting date. | true |
| dateFormat | Date Format | STRING Options EEE MMM dd yyyy HH:mm:ss , EEE MMM dd HH:mm:ss yyyy , MMMM dd yyyy HH:mm:ss , MMMM dd yyyy , MMM dd yyyy , yyyy-MM-dd'T'HH:mm:ss , yyyy-MM-dd HH:mm:ss , yyyy-MM-dd , MM-dd-yyyy , MM/dd/yyyy , MM/dd/yy , dd-MM-yyyy , dd/MM/yyyy , dd.MM.yyyy , dd/MM/yy , dd.MM.yy , UnixTimestamp | Here's what each part of the format (eg. YYYY) means: yyyy : Year (4 digits) yy : Year (2 digits) MMMM : Month (full name) MMM : Month (short name) MM : Month (2 digits) EEE : Day (short name) dd : Day (2 digits) HH : Hour (2 digits) mm : Minute (2 digits) ss : Second (2 digits). | true |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Get Current Date",
"name" : "getCurrentDate",
"parameters" : {
"timeZone" : "",
"dateFormat" : ""
},
"type" : "dateHelper/v1/getCurrentDate"
}
```
#### Output [#output-9]
Type: STRING
### Get Days Between [#get-days-between]
Name: getDaysBetween
`Get the number of days between two dates, rounded to the nearest day. If the second date is before the first date, the result will be negative.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :---: | :--------: | :--------: | :---------------------------------------------------------------------------------------------------------------------: | :------: |
| dateA | Start Date | DATE\_TIME | Start date of the interval. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| dateB | End Date | DATE\_TIME | End date of the interval. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
#### Example JSON Structure [#example-json-structure-10]
```json
{
"label" : "Get Days Between",
"name" : "getDaysBetween",
"parameters" : {
"dateA" : "2021-01-01T00:00:00",
"dateB" : "2021-01-01T00:00:00"
},
"type" : "dateHelper/v1/getDaysBetween"
}
```
#### Output [#output-10]
Type: INTEGER
### Get Duration [#get-duration]
Name: getDuration
`Given a total number of seconds, minutes, etc. – return human readable text containing how long the duration was approximately, in the units of your choosing.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :------: | :------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| duration | Duration | INTEGER | The duration value. | true |
| unit | Unit | STRING Options year , month , day , hour , minute , second | The unit of difference between the two dates. | true |
#### Example JSON Structure [#example-json-structure-11]
```json
{
"label" : "Get Duration",
"name" : "getDuration",
"parameters" : {
"duration" : 1,
"unit" : ""
},
"type" : "dateHelper/v1/getDuration"
}
```
#### Output [#output-11]
Type: STRING
### Get Time Between [#get-time-between]
Name: getTimeBetween
`Get the time between two dates, as hh:mm:ss. If the second date is before the first date, the result will be negative.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :---: | :--------: | :--------: | :---------------------------------------------------------------------------------------------------------------------: | :------: |
| dateA | Start Date | DATE\_TIME | Start date of the interval. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| dateB | End Date | DATE\_TIME | End date of the interval. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
#### Example JSON Structure [#example-json-structure-12]
```json
{
"label" : "Get Time Between",
"name" : "getTimeBetween",
"parameters" : {
"dateA" : "2021-01-01T00:00:00",
"dateB" : "2021-01-01T00:00:00"
},
"type" : "dateHelper/v1/getTimeBetween"
}
```
#### Output [#output-12]
Type: OBJECT
#### Properties [#properties-13]
| Name | Type | Description |
| :----: | :-----: | :---------------------------------: |
| year | INTEGER | Number of years in between dates. |
| month | INTEGER | Number of months in between dates. |
| day | INTEGER | Number of days in between dates. |
| hour | INTEGER | Number of hours in between dates. |
| minute | INTEGER | Number of minutes in between dates. |
| second | INTEGER | Number of seconds in between dates. |
#### Output Example [#output-example]
```json
{
"year" : 1,
"month" : 1,
"day" : 1,
"hour" : 1,
"minute" : 1,
"second" : 1
}
```
### Get Time From Now [#get-time-from-now]
Name: getTimeFromNow
`Returns a human readable date relative to the current time, such as “in 2 months”, or “14 days ago”`
#### Properties [#properties-14]
| Name | Label | Type | Description | Required |
| :--: | :---: | :--------: | :--------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | Date to which time will be calculated. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
#### Example JSON Structure [#example-json-structure-13]
```json
{
"label" : "Get Time From Now",
"name" : "getTimeFromNow",
"parameters" : {
"date" : "2021-01-01T00:00:00"
},
"type" : "dateHelper/v1/getTimeFromNow"
}
```
#### Output [#output-13]
Type: STRING
### Is Between Dates? [#is-between-dates]
Name: IsBetweenDates
`Check to see whether a date falls within a date range.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | Date to check if it is in the range. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format. | true |
| dateA | Start Date | DATE\_TIME | Start date of the interval. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| dateB | End Date | DATE\_TIME | End date of the interval. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| resolution | Resolution | STRING Options year , month , day , hour , minute , second | The resolution at which the dates will be compared. Chosen resolution will be the smallest time unit that will be compared. | true |
| inclusive | Inclusive | BOOLEAN Options true , false | Whether the boundary is inclusive or not. | false |
#### Example JSON Structure [#example-json-structure-14]
```json
{
"label" : "Is Between Dates?",
"name" : "IsBetweenDates",
"parameters" : {
"date" : "2021-01-01T00:00:00",
"dateA" : "2021-01-01T00:00:00",
"dateB" : "2021-01-01T00:00:00",
"resolution" : "",
"inclusive" : false
},
"type" : "dateHelper/v1/IsBetweenDates"
}
```
#### Output [#output-14]
Type: BOOLEAN
### Is Between Times? [#is-between-times]
Name: IsBetweenTimes
`Check to see whether a date falls within a time range.`
#### Properties [#properties-16]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | Date to check if it is in the range. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| timeA | Start Time | TIME | Start time of the interval. | true |
| timeB | End Time | TIME | End time of the interval. | true |
| inclusive | Inclusive | BOOLEAN Options true , false | Whether the boundary is inclusive or not. | false |
| inclusiveSeconds | Inclusive Seconds | BOOLEAN Options true , false | Whether the seconds will be compared. | false |
#### Example JSON Structure [#example-json-structure-15]
```json
{
"label" : "Is Between Times?",
"name" : "IsBetweenTimes",
"parameters" : {
"date" : "2021-01-01T00:00:00",
"timeA" : "00:00:00",
"timeB" : "00:00:00",
"inclusive" : false,
"inclusiveSeconds" : false
},
"type" : "dateHelper/v1/IsBetweenTimes"
}
```
#### Output [#output-15]
Type: BOOLEAN
### Is Business Hours? [#is-business-hours]
Name: isBusinessHours
`Check to see if it's business hours or not.`
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :----------------: | :------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | Date to check to see if it is business hours. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| businessWeekStart | Business Week Start | INTEGER Options 1 , 2 , 3 , 4 , 5 , 6 , 7 | First day of the business week. | true |
| businessWeekEnd | Business Week End | INTEGER Options 1 , 2 , 3 , 4 , 5 , 6 , 7 | Last day of the business week. | true |
| businessHoursStart | Business Hours Start | TIME | Time of the day that business hours start. | true |
| businessHoursEnd | Business Hours End | TIME | Time of the day that business hours end. | true |
| timeZone | Time Zone | STRING | Time zone to check business hours for. | true |
#### Example JSON Structure [#example-json-structure-16]
```json
{
"label" : "Is Business Hours?",
"name" : "isBusinessHours",
"parameters" : {
"date" : "2021-01-01T00:00:00",
"businessWeekStart" : 1,
"businessWeekEnd" : 1,
"businessHoursStart" : "00:00:00",
"businessHoursEnd" : "00:00:00",
"timeZone" : ""
},
"type" : "dateHelper/v1/isBusinessHours"
}
```
#### Output [#output-16]
Type: BOOLEAN
### Is Weekend? [#is-weekend]
Name: isWeekend
`Check if the current date is a weekend.`
#### Properties [#properties-18]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :--------: | :----------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | Date to check to see if it is a weekend. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| timeZone | Time Zone | STRING | Time zone you are in. | true |
#### Example JSON Structure [#example-json-structure-17]
```json
{
"label" : "Is Weekend?",
"name" : "isWeekend",
"parameters" : {
"date" : "2021-01-01T00:00:00",
"timeZone" : ""
},
"type" : "dateHelper/v1/isWeekend"
}
```
#### Output [#output-17]
Type: BOOLEAN
### Subtract Time [#subtract-time]
Name: subtractTime
`Subtract time from date`
#### Properties [#properties-19]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| date | Date | DATE\_TIME | Date from which time will be subtracted. We only accept yyyy-MM-ddTHH:mm:ss, use our Format Date action to transform the date format | true |
| dateFormat | Date Format | STRING Options EEE MMM dd yyyy HH:mm:ss , EEE MMM dd HH:mm:ss yyyy , MMMM dd yyyy HH:mm:ss , MMMM dd yyyy , MMM dd yyyy , yyyy-MM-dd'T'HH:mm:ss , yyyy-MM-dd HH:mm:ss , yyyy-MM-dd , MM-dd-yyyy , MM/dd/yyyy , MM/dd/yy , dd-MM-yyyy , dd/MM/yyyy , dd.MM.yyyy , dd/MM/yy , dd.MM.yy , UnixTimestamp | Here's what each part of the format (eg. YYYY) means: yyyy : Year (4 digits) yy : Year (2 digits) MMMM : Month (full name) MMM : Month (short name) MM : Month (2 digits) EEE : Day (short name) dd : Day (2 digits) HH : Hour (2 digits) mm : Minute (2 digits) ss : Second (2 digits). | true |
| year | Year | INTEGER | Years to subtract. | false |
| month | Month | INTEGER | Months to subtract. | false |
| day | Day | INTEGER | Days to subtract. | false |
| hour | Hour | INTEGER | Hours to subtract. | false |
| minute | Minute | INTEGER | Minutes to subtract. | false |
| second | Second | INTEGER | Seconds to subtract. | false |
#### Example JSON Structure [#example-json-structure-18]
```json
{
"label" : "Subtract Time",
"name" : "subtractTime",
"parameters" : {
"date" : "2021-01-01T00:00:00",
"dateFormat" : "",
"year" : 1,
"month" : 1,
"day" : 1,
"hour" : 1,
"minute" : 1,
"second" : 1
},
"type" : "dateHelper/v1/subtractTime"
}
```
#### Output [#output-18]
Type: DATE\_TIME
# ByteChef Reference: Daytona
URL: /reference/components/daytona_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/daytona_v1.mdx
Daytona provides secure and elastic infrastructure for running AI-generated code in isolated sandboxes.
Categories: Developer Tools, Artificial Intelligence
Type: daytona/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :----------------------------------------------------------------: | :------: |
| token | API Key | STRING | Your Daytona API key. | true |
| baseUrl | Base URL | STRING | The Daytona API base URL. Change only for self-hosted deployments. | true |
## Actions [#actions]
### Execute Code [#execute-code]
Name: executeCode
`Generates and runs code in a secure, isolated Daytona sandbox and returns its output. Use this to execute AI-generated code (data analysis, calculations, scripts) safely and get the result back.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| language | Language | STRING Options python , typescript , javascript , bash | The programming language of the code to execute. | true |
| code | Code | STRING | The source code to execute in the sandbox. | true |
| sandboxId | Sandbox ID | STRING | Run in an existing sandbox to preserve state across turns. Leave empty to create a fresh, ephemeral sandbox for this run. A reused sandbox is never deleted by this action. | false |
| keepSandbox | Keep Sandbox | BOOLEAN Options true , false | When creating a new sandbox, keep it alive after the run (instead of deleting it) so it can be reused via its returned Sandbox ID. Ignored when a Sandbox ID is supplied. | false |
| timeout | Timeout | INTEGER | Maximum time in seconds to wait for the code to finish executing. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Execute Code",
"name" : "executeCode",
"parameters" : {
"language" : "",
"code" : "",
"sandboxId" : "",
"keepSandbox" : false,
"timeout" : 1
},
"type" : "daytona/v1/executeCode"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------: |
| exitCode | INTEGER | The exit code of the executed code (0 indicates success). |
| stdout | STRING | The standard output produced by the code. |
| success | BOOLEAN Options true , false | Whether the code finished with a zero exit code. |
| sandboxId | STRING | The sandbox the code ran in (reuse it to preserve state). |
| charts | ARRAY Items \[] | Chart artifacts (e.g. matplotlib) captured during execution, if any. |
#### Output Example [#output-example]
```json
{
"exitCode" : 1,
"stdout" : "",
"success" : false,
"sandboxId" : "",
"charts" : [ ]
}
```
### Create Sandbox [#create-sandbox]
Name: createSandbox
`Creates a persistent, isolated Daytona sandbox and returns its ID. Reuse the ID across executeCode and uploadFile calls to preserve state, then delete it with deleteSandbox when done.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------: | :------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| language | Language | STRING Options python , typescript , javascript , bash | The default language runtime for the sandbox. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Sandbox",
"name" : "createSandbox",
"parameters" : {
"language" : ""
},
"type" : "daytona/v1/createSandbox"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-------: | :----: | :----------------------------: |
| sandboxId | STRING | The ID of the created sandbox. |
#### Output Example [#output-example-1]
```json
{
"sandboxId" : ""
}
```
### Delete Sandbox [#delete-sandbox]
Name: deleteSandbox
`Deletes a Daytona sandbox and frees its resources.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :------------------------------: | :------: |
| sandboxId | Sandbox ID | STRING | The ID of the sandbox to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Sandbox",
"name" : "deleteSandbox",
"parameters" : {
"sandboxId" : ""
},
"type" : "daytona/v1/deleteSandbox"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :------------------------------: |
| deleted | BOOLEAN Options true , false | Whether the sandbox was deleted. |
#### Output Example [#output-example-2]
```json
{
"deleted" : false
}
```
### Upload File [#upload-file]
Name: uploadFile
`Uploads a file into a Daytona sandbox at the given path.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :---------: | :-----------------------------------------------------------------------------: | :------: |
| sandboxId | Sandbox ID | STRING | The ID of the sandbox to upload the file into. | true |
| path | Path | STRING | The absolute destination path inside the sandbox (e.g. /home/daytona/data.csv). | true |
| file | File | FILE\_ENTRY | The file to upload. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Upload File",
"name" : "uploadFile",
"parameters" : {
"sandboxId" : "",
"path" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "daytona/v1/uploadFile"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--: | :----: | :--------------------------------------------: |
| path | STRING | The destination path the file was uploaded to. |
#### Output Example [#output-example-3]
```json
{
"path" : ""
}
```
# ByteChef Reference: DeepSeek
URL: /reference/components/deepseek_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/deepseek_v1.mdx
DeepSeek AI provides the open-source DeepSeek V3 model, renowned for its cutting-edge reasoning and problem-solving capabilities.
Categories: Artificial Intelligence
Type: deepseek/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to [DeepSeek platform](https://platform.deepseek.com/usage).
2. Click on **API keys**.
3. Click on **Create new API key**.
4. Enter name of your API key and click on **Create API key**.
5. Click on **Copy**.
6. Click on **Done**.
7. Done 🚀.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"temperature" : 0.0,
"topP" : 0.0,
"frequencyPenalty" : 0.0,
"presencePenalty" : 0.0,
"stop" : [ "" ]
},
"type" : "deepseek/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Delay
URL: /reference/components/delay_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/delay_v1.mdx
Sets a value which can then be referenced in other tasks.
Categories: Helpers
Type: delay/v1
## Actions [#actions]
### Sleep [#sleep]
Name: sleep
`Delay action execution.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-----: | :-------------------: | :------: |
| millis | Millis | INTEGER | Time in milliseconds. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Sleep",
"name" : "sleep",
"parameters" : {
"millis" : 1
},
"type" : "delay/v1/sleep"
}
```
#### Output [#output]
This action does not produce any output.
# ByteChef Reference: Dev.to
URL: /reference/components/devto_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/devto_v1.mdx
Dev.to is an online community and platform where software developers share articles, tutorials, and discussions about programming and technology.
Categories: Productivity and Collaboration
Type: devto/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | API Key | STRING | | true |
## Connection Setup [#connection-setup]
Follow these steps to generate a Dev.to API Key and configure the ByteChef connection.
Prerequisites:
* You have an active account at [dev.to](https://dev.to/)
Steps to generate an API Key on Dev.to:
1. Log in to your [dev.to](https://dev.to/) account.
2. Open Settings: click your avatar (top‑right) → Settings, or go directly to [https://dev.to/settings](https://dev.to/settings).
3. In the left sidebar, select **Extensions**, or go directly to [https://dev.to/settings/extensions](https://dev.to/settings/extensions).
4. Scroll to the section **DEV Community API Keys**.
5. Enter a description/name for the key and click **Generate API Key**.
6. A dropdown will appear under the button. Expand it to reveal your new API key.
7. Copy the API key and store it securely. You can revoke it at any time from the same page.
Configure the ByteChef Dev.to connection:
1. In ByteChef, create a new Dev.to connection.
2. Paste the API key into the "API Key" field.
3. Save the connection. ByteChef will use this key by sending it in the `api-key` HTTP header to `https://dev.to/api`.
Notes and troubleshooting:
* Treat the API key like a password. Do not share it or commit it to source control.
* If you receive 401 Unauthorized errors, verify that the key is correct and has not been revoked.
* You can create multiple keys (e.g., for different environments) and revoke them individually.
* Dev.to API reference and authentication details: [https://developers.forem.com/api/#section/Authentication](https://developers.forem.com/api/#section/Authentication)
## Actions [#actions]
### Create Article [#create-article]
Name: createArticle
`Creates a new article.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :-------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| article | Article | OBJECT Properties \{STRING(title), STRING(body\_markdown), BOOLEAN(published), STRING(description)} | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Article",
"name" : "createArticle",
"parameters" : {
"article" : {
"title" : "",
"body_markdown" : "",
"published" : false,
"description" : ""
}
},
"type" : "devto/v1/createArticle"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| type\_of | STRING | |
| id | INTEGER | The unique identifier of the article. |
| title | STRING | The title of the article. |
| description | STRING | The description of the article. |
| slug | STRING | |
| path | STRING | The path of the article. |
| url | STRING | The URL of the article. |
| comments\_count | INTEGER | The number of comments on the article. |
| public\_reactions\_count | INTEGER | The number of public reactions on the article. |
| positive\_reactions\_count | INTEGER | The number of positive reactions on the article. |
| created\_at | DATE\_TIME | The date and time when the article was created. |
| edited\_at | DATE\_TIME | The date and time when the article was last edited. |
| crossposted\_at | DATE\_TIME | The date and time when the article was crossposted. |
| published\_at | DATE\_TIME | The date and time when the article was published. |
| last\_comment\_at | DATE\_TIME | The date and time of the last comment on the article. |
| reading\_time\_minutes | INTEGER | The estimated reading time of the article in minutes. |
| tag\_list | STRING | The tags of the article. |
| tags | ARRAY Items \[STRING] | The tags of the article. |
| body\_html | STRING | The body of the article in HTML format. |
| body\_markdown | STRING | The body of the article in markdown format. |
| user | OBJECT Properties \{STRING(name), STRING(username), STRING(twitter\_username), STRING(github\_username), INTEGER(user\_id)} | |
#### Output Example [#output-example]
```json
{
"type_of" : "",
"id" : 1,
"title" : "",
"description" : "",
"slug" : "",
"path" : "",
"url" : "",
"comments_count" : 1,
"public_reactions_count" : 1,
"positive_reactions_count" : 1,
"created_at" : "2021-01-01T00:00:00",
"edited_at" : "2021-01-01T00:00:00",
"crossposted_at" : "2021-01-01T00:00:00",
"published_at" : "2021-01-01T00:00:00",
"last_comment_at" : "2021-01-01T00:00:00",
"reading_time_minutes" : 1,
"tag_list" : "",
"tags" : [ "" ],
"body_html" : "",
"body_markdown" : "",
"user" : {
"name" : "",
"username" : "",
"twitter_username" : "",
"github_username" : "",
"user_id" : 1
}
}
```
### Get Article [#get-article]
Name: getArticle
`Get article by id.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :-----: | :------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| articleId | Article ID | INTEGER | The unique identifier of the article. Only your articles are listed in the options. See documentation for instructions on how to find ID of any article. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Article",
"name" : "getArticle",
"parameters" : {
"articleId" : 1
},
"type" : "devto/v1/getArticle"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| type\_of | STRING | |
| id | INTEGER | The unique identifier of the article. |
| title | STRING | The title of the article. |
| description | STRING | The description of the article. |
| slug | STRING | |
| path | STRING | The path of the article. |
| url | STRING | The URL of the article. |
| comments\_count | INTEGER | The number of comments on the article. |
| public\_reactions\_count | INTEGER | The number of public reactions on the article. |
| positive\_reactions\_count | INTEGER | The number of positive reactions on the article. |
| created\_at | DATE\_TIME | The date and time when the article was created. |
| edited\_at | DATE\_TIME | The date and time when the article was last edited. |
| crossposted\_at | DATE\_TIME | The date and time when the article was crossposted. |
| published\_at | DATE\_TIME | The date and time when the article was published. |
| last\_comment\_at | DATE\_TIME | The date and time of the last comment on the article. |
| reading\_time\_minutes | INTEGER | The estimated reading time of the article in minutes. |
| tag\_list | STRING | The tags of the article. |
| tags | ARRAY Items \[STRING] | The tags of the article. |
| body\_html | STRING | The body of the article in HTML format. |
| body\_markdown | STRING | The body of the article in markdown format. |
| user | OBJECT Properties \{STRING(name), STRING(username), STRING(twitter\_username), STRING(github\_username), INTEGER(user\_id)} | |
#### Output Example [#output-example-1]
```json
{
"type_of" : "",
"id" : 1,
"title" : "",
"description" : "",
"slug" : "",
"path" : "",
"url" : "",
"comments_count" : 1,
"public_reactions_count" : 1,
"positive_reactions_count" : 1,
"created_at" : "2021-01-01T00:00:00",
"edited_at" : "2021-01-01T00:00:00",
"crossposted_at" : "2021-01-01T00:00:00",
"published_at" : "2021-01-01T00:00:00",
"last_comment_at" : "2021-01-01T00:00:00",
"reading_time_minutes" : 1,
"tag_list" : "",
"tags" : [ "" ],
"body_html" : "",
"body_markdown" : "",
"user" : {
"name" : "",
"username" : "",
"twitter_username" : "",
"github_username" : "",
"user_id" : 1
}
}
```
#### Find article ID [#find-article-id]
To find article ID, click [here](/reference/components/devto_v1#how-to-find-article-id)
### Update Article [#update-article]
Name: updateArticle
`Updates an existing article.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :-------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------: | :------: |
| articleId | Article ID | INTEGER | The unique identifier of the article. You can update only your own articles. | true |
| article | Article | OBJECT Properties \{STRING(title), STRING(body\_markdown), BOOLEAN(published), STRING(description)} | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update Article",
"name" : "updateArticle",
"parameters" : {
"articleId" : 1,
"article" : {
"title" : "",
"body_markdown" : "",
"published" : false,
"description" : ""
}
},
"type" : "devto/v1/updateArticle"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| type\_of | STRING | |
| id | INTEGER | The unique identifier of the article. |
| title | STRING | The title of the article. |
| description | STRING | The description of the article. |
| slug | STRING | |
| path | STRING | The path of the article. |
| url | STRING | The URL of the article. |
| comments\_count | INTEGER | The number of comments on the article. |
| public\_reactions\_count | INTEGER | The number of public reactions on the article. |
| positive\_reactions\_count | INTEGER | The number of positive reactions on the article. |
| created\_at | DATE\_TIME | The date and time when the article was created. |
| edited\_at | DATE\_TIME | The date and time when the article was last edited. |
| crossposted\_at | DATE\_TIME | The date and time when the article was crossposted. |
| published\_at | DATE\_TIME | The date and time when the article was published. |
| last\_comment\_at | DATE\_TIME | The date and time of the last comment on the article. |
| reading\_time\_minutes | INTEGER | The estimated reading time of the article in minutes. |
| tag\_list | STRING | The tags of the article. |
| tags | ARRAY Items \[STRING] | The tags of the article. |
| body\_html | STRING | The body of the article in HTML format. |
| body\_markdown | STRING | The body of the article in markdown format. |
| user | OBJECT Properties \{STRING(name), STRING(username), STRING(twitter\_username), STRING(github\_username), INTEGER(user\_id)} | |
#### Output Example [#output-example-2]
```json
{
"type_of" : "",
"id" : 1,
"title" : "",
"description" : "",
"slug" : "",
"path" : "",
"url" : "",
"comments_count" : 1,
"public_reactions_count" : 1,
"positive_reactions_count" : 1,
"created_at" : "2021-01-01T00:00:00",
"edited_at" : "2021-01-01T00:00:00",
"crossposted_at" : "2021-01-01T00:00:00",
"published_at" : "2021-01-01T00:00:00",
"last_comment_at" : "2021-01-01T00:00:00",
"reading_time_minutes" : 1,
"tag_list" : "",
"tags" : [ "" ],
"body_html" : "",
"body_markdown" : "",
"user" : {
"name" : "",
"username" : "",
"twitter_username" : "",
"github_username" : "",
"user_id" : 1
}
}
```
#### Find article ID [#find-article-id-1]
To find article ID, click [here](/reference/components/devto_v1#how-to-find-article-id)
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find article ID [#how-to-find-article-id]
1. Open article for which you want to find the ID.
2. Right click on page and select **View page source**.
3. Search (Ctrl + F) for `article_id`.
4. Number after '=' is ID of the article.
# ByteChef Reference: DHL
URL: /reference/components/dhl_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/dhl_v1.mdx
DHL is the global leader in the logistics industry. Specializing in international shipping, courier services and transportation.
Categories: Customer Support
Type: dhl/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | API Key | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to [https://developer.dhl.com/](https://developer.dhl.com/).
2. Click on the profile icon.
3. Click on **Create App**.
4. Enter apps name.
5. Enter **Shipment Tracking - Unified** and select it.
When adding custom actions here you have to add additional APIs that your action will use.
6. Click on **+**.
7. Click on **Create App**.
8. Click on your new app.
9. Here you can see your API Key.
10. You will be able to use your API Key after your app is enabled by the DHL team.
## Actions [#actions]
### Track Shipment [#track-shipment]
Name: trackShipment
`Retrieves the tracking information for shipments.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :----------------------------------------------------------------------: | :------: |
| trackingNumber | Tracking Number | STRING | The tracking number of the shipment for which to return the information. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Track Shipment",
"name" : "trackShipment",
"parameters" : {
"trackingNumber" : ""
},
"type" : "dhl/v1/trackShipment"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----------------------------: | :-------------------------------------------------------------: | :------------------------------------------------------------------------: |
| url | STRING | A link to current page. |
| prevUrl | STRING | A link to the previous page. |
| nextUrl | STRING | A link to the next page. |
| firstUrl | STRING | A link to the first page. |
| lastUrl | STRING | A link to the last page. |
| shipments | ARRAY Items \[\{}] | An array of unified tracking shipments. |
| possibleAdditionalShipmentsUrl | ARRAY Items \[STRING] | An array of business services, where should be potentially shipment found. |
#### Output Example [#output-example]
```json
{
"url" : "",
"prevUrl" : "",
"nextUrl" : "",
"firstUrl" : "",
"lastUrl" : "",
"shipments" : [ { } ],
"possibleAdditionalShipmentsUrl" : [ "" ]
}
```
### How to find your tracking number [#how-to-find-your-tracking-number]
A tracking number or ID is a combination of numbers and possibly letters that uniquely identifies your shipment for national or international tracking.
Usually, the shipper or online shop is able to provide the tracking number or ID. If you have ordered a product in an online shop, the confirmation email or shipment tracking notification often contains the tracking number or ID.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Discord
URL: /reference/components/discord_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/discord_v1.mdx
Discord is a communication platform designed for creating communities, chatting with friends, and connecting with others through text, voice, and video channels.
Categories: Communication
Type: discord/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------: | :--------------------: | :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| token | Bot Token | STRING | | true |
| publicKey | Application Public Key | STRING | The Discord app's public key. When set, field-less approval requests use in-place Approve/Discard interaction buttons resolved through the app's Interactions Endpoint URL (\/discord/interactivity), verified by the Ed25519 request signature. Also set bytechef.webhook.discord.public-key to the same value. Leave empty to deliver approval links to the hosted form. | false |
## Connection Setup [#connection-setup]
[Setting up OAuth2](https://discordjs.guide/preparations/adding-your-bot-to-servers.html#bot-invite-links)
## Actions [#actions]
### Create Channel [#create-channel]
Name: createChannel
`Create a new channel`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------: | :------: |
| guildId | Guild ID | STRING | | true |
| name | Name | STRING | The name of the new channel | true |
| type | Type | INTEGER Options 0 , 2 , 4 | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Channel",
"name" : "createChannel",
"parameters" : {
"guildId" : "",
"name" : "",
"type" : 1
},
"type" : "discord/v1/createChannel"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--------------------: | :----------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------: |
| id | STRING | ID of the channel. |
| type | INTEGER | Type of the channel. |
| last\_message\_id | STRING | ID of the last message sent in this channel. |
| flags | INTEGER | Channel flags combined as a bitfield. |
| guild\_id | STRING | ID of the guild to which the channel belongs. |
| name | STRING | Name of the channel. |
| parent\_id | STRING | For guild channels: id of the parent category for a channel |
| rate\_limit\_per\_user | INTEGER | Amount of seconds a user has to wait before sending another message |
| topic | STRING | Topic of the channel. |
| position | INTEGER | Sorting position of the channel (channels with the same position are sorted by id) |
| permission\_overwrites | ARRAY Items \[\{STRING(id), INTEGER(type), STRING(allow), STRING(deny)}] | Explicit permission overwrites for members and roles. |
| nsfw | BOOLEAN Options true , false | Whether the channel is marked as NSFW (Not Safe For Work). |
#### Output Example [#output-example]
```json
{
"id" : "",
"type" : 1,
"last_message_id" : "",
"flags" : 1,
"guild_id" : "",
"name" : "",
"parent_id" : "",
"rate_limit_per_user" : 1,
"topic" : "",
"position" : 1,
"permission_overwrites" : [ {
"id" : "",
"type" : 1,
"allow" : "",
"deny" : ""
} ],
"nsfw" : false
}
```
### Send Channel Message [#send-channel-message]
Name: sendChannelMessage
`Post a new message to a specific #channel you choose.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------: | :------: |
| guildId | Guild ID | STRING | | false |
| channelId | Channel ID | STRING Depends On guildId | ID of the channel where to send the message. | true |
| content | Message Text | STRING | Message contents (up to 2000 characters) | true |
| tts | Text to Speech | BOOLEAN Options true , false | True if this is a TTS message | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send Channel Message",
"name" : "sendChannelMessage",
"parameters" : {
"guildId" : "",
"channelId" : "",
"content" : "",
"tts" : false
},
"type" : "discord/v1/sendChannelMessage"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: |
| type | INTEGER | Type of the message. |
| id | STRING | ID of the message. |
| content | STRING | Contents of the message. |
| tts | BOOLEAN Options true , false | Whether this was a TTS message. |
| mentions | ARRAY Items \[\{STRING(id), STRING(username)}] | Users specifically mentioned in the message. |
| mention\_roles | ARRAY Items \[\{STRING(id), STRING(name)}] | Roles specifically mentioned in this message. |
| attachments | ARRAY Items \[\{STRING(id), STRING(filename), STRING(title), STRING(description), STRING(content\_type), INTEGER(size), STRING(url), STRING(proxy\_url)}] | Any attached files. |
| timestamp | STRING | When this message was sent. |
| flags | INTEGER | message flags combined as a bitfield. |
| components | ARRAY Items \[\{}] | Sent if the message contains components like buttons, action rows, or other interactive components. |
| channel\_id | STRING | ID of the channel the message was sent in. |
| author | OBJECT Properties \{STRING(id), STRING(username)} | The author of this message. |
| pinned | BOOLEAN Options true , false | Whether this message is pinned. |
| mention\_everyone | BOOLEAN Options true , false | Whether this message mentions everyone. |
#### Output Example [#output-example-1]
```json
{
"type" : 1,
"id" : "",
"content" : "",
"tts" : false,
"mentions" : [ {
"id" : "",
"username" : ""
} ],
"mention_roles" : [ {
"id" : "",
"name" : ""
} ],
"attachments" : [ {
"id" : "",
"filename" : "",
"title" : "",
"description" : "",
"content_type" : "",
"size" : 1,
"url" : "",
"proxy_url" : ""
} ],
"timestamp" : "",
"flags" : 1,
"components" : [ { } ],
"channel_id" : "",
"author" : {
"id" : "",
"username" : ""
},
"pinned" : false,
"mention_everyone" : false
}
```
### Send Direct Message [#send-direct-message]
Name: sendDirectMessage
`Send direct message guild member.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------: | :------: |
| guildId | Guild ID | STRING | | false |
| recipient\_id | Recipient | STRING Depends On guildId | The recipient to open a DM channel with. | true |
| content | Message Text | STRING | Message contents (up to 2000 characters) | true |
| tts | Text to Speech | BOOLEAN Options true , false | True if this is a TTS message | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Send Direct Message",
"name" : "sendDirectMessage",
"parameters" : {
"guildId" : "",
"recipient_id" : "",
"content" : "",
"tts" : false
},
"type" : "discord/v1/sendDirectMessage"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: |
| type | INTEGER | Type of the message. |
| id | STRING | ID of the message. |
| content | STRING | Contents of the message. |
| tts | BOOLEAN Options true , false | Whether this was a TTS message. |
| mentions | ARRAY Items \[\{STRING(id), STRING(username)}] | Users specifically mentioned in the message. |
| mention\_roles | ARRAY Items \[\{STRING(id), STRING(name)}] | Roles specifically mentioned in this message. |
| attachments | ARRAY Items \[\{STRING(id), STRING(filename), STRING(title), STRING(description), STRING(content\_type), INTEGER(size), STRING(url), STRING(proxy\_url)}] | Any attached files. |
| timestamp | STRING | When this message was sent. |
| flags | INTEGER | message flags combined as a bitfield. |
| components | ARRAY Items \[\{}] | Sent if the message contains components like buttons, action rows, or other interactive components. |
| channel\_id | STRING | ID of the channel the message was sent in. |
| author | OBJECT Properties \{STRING(id), STRING(username)} | The author of this message. |
| pinned | BOOLEAN Options true , false | Whether this message is pinned. |
| mention\_everyone | BOOLEAN Options true , false | Whether this message mentions everyone. |
#### Output Example [#output-example-2]
```json
{
"type" : 1,
"id" : "",
"content" : "",
"tts" : false,
"mentions" : [ {
"id" : "",
"username" : ""
} ],
"mention_roles" : [ {
"id" : "",
"name" : ""
} ],
"attachments" : [ {
"id" : "",
"filename" : "",
"title" : "",
"description" : "",
"content_type" : "",
"size" : 1,
"url" : "",
"proxy_url" : ""
} ],
"timestamp" : "",
"flags" : 1,
"components" : [ { } ],
"channel_id" : "",
"author" : {
"id" : "",
"username" : ""
},
"pinned" : false,
"mention_everyone" : false
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Document Enricher
URL: /reference/components/document-enricher_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/document-enricher_v1.mdx
Document Enricher.
Categories: Artificial Intelligence
Type: documentEnricher/v1
# ByteChef Reference: Document Joiner
URL: /reference/components/document-joiner_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/document-joiner_v1.mdx
Document Joiner.
Categories: Artificial Intelligence
Type: documentJoiner/v1
# ByteChef Reference: Document Reader
URL: /reference/components/document-reader_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/document-reader_v1.mdx
Document Reader.
Categories: Artificial Intelligence
Type: documentReader/v1
# ByteChef Reference: Document Splitter
URL: /reference/components/document-splitter_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/document-splitter_v1.mdx
Document Splitter.
Categories: Artificial Intelligence
Type: documentSplitter/v1
# ByteChef Reference: DocuSign
URL: /reference/components/docusign_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/docusign_v1.mdx
DocuSign is a cloud-based e-signature platform that enables secure digital document signing and workflow automation.
Categories: Productivity and Collaboration
Type: docusign/v1
## Connections [#connections]
Version: 1
### oauth2\_authorization\_code [#oauth2_authorization_code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :--------------: | :-----------------------------------------------------------------------------------------------------------: | :----------------------------: | :------: |
| clientId | Integration Key | STRING | DocuSign app integration key. | true |
| clientSecret | Secret Key | STRING | DocuSign app secret key. | true |
| accountId | API Account ID | STRING | DocuSign API account ID. | true |
| environment | Environment | STRING Options demo , www , eu | Environment of the connection. | true |
| baseUri | Account Base URI | STRING | DocuSign account base URI. | true |
## Connection Setup [#connection-setup]
### Create DocuSign App [#create-docusign-app]
1. Navigate to [DocuSign Admin page](https://apps-d.docusign.com/admin/apps-and-keys).
2. Click on "Add App and Integration Key".
3. Enter app name and click on "Create App".
4. Here you can see your "Integration Key".
5. Select "Third-party integration key".
6. Click here.
7. Click on "Add Secret Key".
8. Copy your "Secret Key" because you will not be able to access it again.
9. Click on "Add URI".
10. Add [https://app.bytechef.io/callback](https://app.bytechef.io/callback) or [http://127.0.0.1:5173/callback](http://127.0.0.1:5173/callback).
11. Click this icon.
12. Check every HTTP method.
13. Click on "Save".
14. Here you can see "API Account ID" and "Account Base URI".
## Actions [#actions]
### Create Envelope [#create-envelope]
Name: createEnvelope
`Creates a new envelope.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :---------------: | :----------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------: | :------: |
| documents | Documents | ARRAY Items \[\{FILE\_ENTRY(documentFile), STRING(name), INTEGER(documentId)}(\$document)] | The documents to be signed. | true |
| status | Status | STRING Options sent , created | The status of the envelope. | true |
| emailSubject | Email Subject | STRING | The subject of the email used to send the envelope. | true |
| signers | Signer Recipients | ARRAY Items \[\{STRING(name), STRING(email), INTEGER(recipientId)}(\$recipient)] | The recipients of the envelope that have to sign the documents inside it. | true |
| carbonCopies | Cc Recipients | ARRAY Items \[\{STRING(name), STRING(email), INTEGER(recipientId)}(\$recipient)] | The recipients of the envelope that can only view the documents inside it. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Envelope",
"name" : "createEnvelope",
"parameters" : {
"documents" : [ {
"documentFile" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"name" : "",
"documentId" : 1
} ],
"status" : "",
"emailSubject" : "",
"signers" : [ {
"name" : "",
"email" : "",
"recipientId" : 1
} ],
"carbonCopies" : [ {
"name" : "",
"email" : "",
"recipientId" : 1
} ]
},
"type" : "docusign/v1/createEnvelope"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :----: | :-----------------------------------------------------------------------: |
| envelopeid | STRING | The id of the envelope. |
| uri | STRING | A URI containing the user ID. |
| statusDateTime | STRING | The DateTime that the envelope changed status (i.e. was created or sent.) |
| status | STRING | Indicates the envelope status. |
#### Output Example [#output-example]
```json
{
"envelopeid" : "",
"uri" : "",
"statusDateTime" : "",
"status" : ""
}
```
### Download Envelope Document [#download-envelope-document]
Name: downloadEnvelopeDocument
`Downloads a single document or all documents from an envelope.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :--------------------------------------------------------------------: | :-----------------------------------------------------------: | :------: |
| fromDate | From Date | DATE | Envelops that were created from this date will be fetched. | true |
| envelopeId | Envelope ID | STRING Depends On fromDate | The ID of the envelope. | true |
| documentId | Document ID | STRING Depends On envelopeId | ID of the document that will be downloaded from the envelope. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Download Envelope Document",
"name" : "downloadEnvelopeDocument",
"parameters" : {
"fromDate" : "2021-01-01",
"envelopeId" : "",
"documentId" : ""
},
"type" : "docusign/v1/downloadEnvelopeDocument"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-4]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Find Envelope and Document ID [#find-envelope-and-document-id]
To find the Envelope ID, click [here](/reference/components/docusign_v1#how-to-find-envelope-id).
To find the Document ID, click [here](/reference/components/docusign_v1#how-to-find-document-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Envelope ID [#how-to-find-envelope-id]
1. Login into your DocuSign account.
2. Click on **Agreements**.
3. Select the envelope you want to find ID of.
4. URL will be in the format `https://apps.docusign.com/send/documents/details/b8f79238-1164-4c24-9629-01ca78dc63cf`
5. Envelope ID will be `b8f79238-1164-4c24-9629-01ca78dc63cf` in this case.
\*. You will also be able to see **Copy Envelope ID to clipboard** button, when you click on it, you will have the envelope ID in your clipboard.
### How to find Document ID [#how-to-find-document-id]
1. Login into your DocuSign account.
2. Click on **Agreements**.
3. Select the envelope you want document ID from.
4. Open document you want to find ID of.
5. URL will be in the format `https://apps.docusign.com/api/send/api/accounts/f4a3a35c-e5c1-46c5-afa0-b9ad3b28efea/envelopes/b8f79238-1164-4c24-9629-01ca78dc63cf/documents/1/preview/name`
6. Document ID will be after `/documents/`, in this case document ID is `1`.
# ByteChef Reference: Dropbox
URL: /reference/components/dropbox_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/dropbox_v1.mdx
Dropbox is a file hosting service that offers cloud storage, file synchronization, personal cloud, and client software.
Categories: File Storage
Type: dropbox/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :--------: | :----: | :---------: | :------: |
| clientId | App Key | STRING | | true |
| clientSecret | App Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect Dropbox to ByteChef using OAuth 2.0 (Authorization Code).
### Create a Dropbox OAuth app [#create-a-dropbox-oauth-app]
1. Open the [App Console](https://www.dropbox.com/developers/apps). Click on **Create app**.
2. In Choose an API, select Scoped access. Choose the type of access you need and enter a name for your app. Click **Create app**.
3. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://localhost:5173/callback`
4. Click on **Show**.
5. Copy the **App key** and **Secret**.
6. Go to **Permissions** tab.
7. Select scopes: `files.metadata.write`, `files.content.write`, `files.content.read` and `openId`.
8. Click **Submit**.
## Actions [#actions]
### Copy File [#copy-file]
Name: copyFile
`Copy a file to a different location in the user's Dropbox.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :--------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------: | :------: |
| from\_path | Source Path | STRING | The source path of the file. | true |
| to\_path | Destination Path | STRING | The destination path for the copied file. | true |
| autorename | Auto Rename | BOOLEAN Options true , false | If there's a conflict, have the Dropbox server try to autorename the file to avoid the conflict. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Copy File",
"name" : "copyFile",
"parameters" : {
"from_path" : "",
"to_path" : "",
"autorename" : false
},
"type" : "dropbox/v1/copyFile"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| metadata | OBJECT Properties \{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)} | Metadata containing details about the copied file. |
#### Output Example [#output-example]
```json
{
"metadata" : {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
}
}
```
#### Find File Path [#find-file-path]
To find the file path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Copy Folder [#copy-folder]
Name: copyFolder
`Copy folder to a different location in the user's Dropbox. All content of the folder will be copied.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :--------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: | :------: |
| from\_path | From Path | STRING | The source path of the folder. | true |
| to\_path | Destination Path | STRING | The destination path for the copied folder. | true |
| autorename | Auto Rename | BOOLEAN Options true , false | If there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Copy Folder",
"name" : "copyFolder",
"parameters" : {
"from_path" : "",
"to_path" : "",
"autorename" : false
},
"type" : "dropbox/v1/copyFolder"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| metadata | OBJECT Properties \{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)} | Metadata containing details about the copied folder. |
#### Output Example [#output-example-1]
```json
{
"metadata" : {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
}
}
```
#### Find Folder Path [#find-folder-path]
To find the folder path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Create Folder [#create-folder]
Name: createFolder
`Creates an empty folder at a given path.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--: | :--------------: | :----: | :------------------------------------: | :------: |
| path | Folder Path/Name | STRING | The path of the new folder. Root is /. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Folder",
"name" : "createFolder",
"parameters" : {
"path" : ""
},
"type" : "dropbox/v1/createFolder"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------: |
| metadata | OBJECT Properties \{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)} | Metadata containing details about the newly created folder. |
#### Output Example [#output-example-2]
```json
{
"metadata" : {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
}
}
```
#### Find Folder Path [#find-folder-path-1]
To find the folder path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Create New Paper File [#create-new-paper-file]
Name: createTextFile
`Create a new .paper file on which you can write at a given path`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| path | Path | STRING | The path of the new paper file. Root is /. | true |
| filename | Filename | STRING | Name of the paper file | true |
| text | Text | STRING | The text to write into the file. | true |
| autorename | Auto Rename | BOOLEAN Options true , false | If there's a conflict, as determined by mode, have the Dropbox server try to autorename the file to avoid conflict. | false |
| mute | Mute | BOOLEAN Options true , false | Normally, users are made aware of any file modifications in their Dropbox account via notifications in the client software. If true, this tells the clients that this modification shouldn't result in a user notification. | false |
| strict\_conflict | Strict Conflict | BOOLEAN Options true , false | Be more strict about how each WriteMode detects conflict. For example, always return a conflict error when mode = WriteMode.update and the given "rev" doesn't match the existing file's "rev", even if the existing file has been deleted. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create New Paper File",
"name" : "createTextFile",
"parameters" : {
"path" : "",
"filename" : "",
"text" : "",
"autorename" : false,
"mute" : false,
"strict_conflict" : false
},
"type" : "dropbox/v1/createTextFile"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: |
| name | STRING | The name of the newly created file, including its extension. This is the last component of the path. |
| path\_lower | STRING | The full path to the file in lowercase, as stored in the user's Dropbox. |
| path\_display | STRING | The display-friendly version of the file's path, preserving original casing for readability. |
| id | STRING | ID of the file within Dropbox. |
| size | INTEGER | The size of the file in bytes, representing the total amount of data it contains. |
| is\_downloadable | BOOLEAN Options true , false | Indicates whether the file can be directly downloaded from Dropbox. |
| content\_hash | STRING | A hash value representing the content of the file, used for verifying data integrity. |
#### Output Example [#output-example-3]
```json
{
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : "",
"size" : 1,
"is_downloadable" : false,
"content_hash" : ""
}
```
#### Find Folder Path [#find-folder-path-2]
To find the folder path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Delete File [#delete-file]
Name: deleteFile
`Delete the file at a given path.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-----------------------------: | :------: |
| path | Path | STRING | Path of the file to be deleted. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Delete File",
"name" : "deleteFile",
"parameters" : {
"path" : ""
},
"type" : "dropbox/v1/deleteFile"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: |
| metadata | OBJECT Properties \{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)} | Metadata containing details about the deleted file. |
#### Output Example [#output-example-4]
```json
{
"metadata" : {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
}
}
```
#### Find File Path [#find-file-path-1]
To find the file path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Delete Folder [#delete-folder]
Name: deleteFolder
`Delete the folder at a given path. All its contents will be deleted too.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-------------------------------: | :------: |
| path | Path | STRING | Path of the folder to be deleted. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Delete Folder",
"name" : "deleteFolder",
"parameters" : {
"path" : ""
},
"type" : "dropbox/v1/deleteFolder"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| metadata | OBJECT Properties \{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)} | Metadata containing details about the deleted folder. |
#### Output Example [#output-example-5]
```json
{
"metadata" : {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
}
}
```
#### Find Folder Path [#find-folder-path-3]
To find the folder path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Download File [#download-file]
Name: downloadFile
`Download a file from Dropbox.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :--: | :-------: | :----: | :-------------------------------: | :------: |
| path | File Path | STRING | The path of the file to download. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Download File",
"name" : "downloadFile",
"parameters" : {
"path" : ""
},
"type" : "dropbox/v1/downloadFile"
}
```
#### Output [#output-6]
Type: FILE\_ENTRY
#### Properties [#properties-14]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-6]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Find File Path [#find-file-path-2]
To find the file path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Get File Link [#get-file-link]
Name: getFileLink
`Get a temporary link to stream content of a file. This link will expire in four hours and afterwards you will get 410 Gone. This URL should not be used to display content directly in the browser. The Content-Type of the link is determined automatically by the file's mime type.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :--: | :-------: | :----: | :------------------------------------------------: | :------: |
| path | File Path | STRING | The path to the file you want a temporary link to. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Get File Link",
"name" : "getFileLink",
"parameters" : {
"path" : ""
},
"type" : "dropbox/v1/getFileLink"
}
```
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-16]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: |
| metadata | OBJECT Properties \{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)} | |
| link | STRING | A temporary URL that can be used to stream the content of the file. This link expires after four hours. |
#### Output Example [#output-example-7]
```json
{
"metadata" : {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
},
"link" : ""
}
```
#### Find File Path [#find-file-path-3]
To find the file path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### List Folder [#list-folder]
Name: listFolder
`List the contents of a folder.`
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-------------------------------------------------------------------: | :------: |
| path | Path | STRING | The path of the folder to be listed. Inputting nothing searches root. | false |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "List Folder",
"name" : "listFolder",
"parameters" : {
"path" : ""
},
"type" : "dropbox/v1/listFolder"
}
```
#### Output [#output-8]
Type: OBJECT
#### Properties [#properties-18]
| Name | Type | Description |
| :-----: | :------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| entries | ARRAY Items \[\{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)}] | |
#### Output Example [#output-example-8]
```json
{
"entries" : [ {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
} ]
}
```
#### Find Folder Path [#find-folder-path-4]
To find the folder path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Move File [#move-file]
Name: moveFile
`Move a file to a different location in the user's Dropbox.`
#### Properties [#properties-19]
| Name | Label | Type | Description | Required |
| :--------: | :--------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------: | :------: |
| from\_path | Source Path | STRING | Path of the file in the user's Dropbox to be moved. | true |
| to\_path | Destination Path | STRING | Path in the user's Dropbox that is the destination. | true |
| autorename | Auto Rename | BOOLEAN Options true , false | If there's a conflict, have the Dropbox server try to autorename the file to avoid the conflict. | false |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Move File",
"name" : "moveFile",
"parameters" : {
"from_path" : "",
"to_path" : "",
"autorename" : false
},
"type" : "dropbox/v1/moveFile"
}
```
#### Output [#output-9]
Type: OBJECT
#### Properties [#properties-20]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------: |
| metadata | OBJECT Properties \{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)} | Metadata containing details about the moved file. |
#### Output Example [#output-example-9]
```json
{
"metadata" : {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
}
}
```
#### Find File Path [#find-file-path-4]
To find the file path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Move Folder [#move-folder]
Name: moveFolder
`Move a folder to a different location in the user's Dropbox. All content of the folder will be moved.`
#### Properties [#properties-21]
| Name | Label | Type | Description | Required |
| :--------: | :--------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: | :------: |
| from\_path | Source Path | STRING | Path in the user's Dropbox to be moved. | true |
| to\_path | Destination Path | STRING | Path in the user's Dropbox that is the destination. | true |
| autorename | Auto Rename | BOOLEAN Options true , false | If there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. | false |
#### Example JSON Structure [#example-json-structure-10]
```json
{
"label" : "Move Folder",
"name" : "moveFolder",
"parameters" : {
"from_path" : "",
"to_path" : "",
"autorename" : false
},
"type" : "dropbox/v1/moveFolder"
}
```
#### Output [#output-10]
Type: OBJECT
#### Properties [#properties-22]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: |
| metadata | OBJECT Properties \{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)} | Metadata containing details about the moved folder. |
#### Output Example [#output-example-10]
```json
{
"metadata" : {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
}
}
```
#### Find Folder Path [#find-folder-path-5]
To find the folder path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
### Search [#search]
Name: search
`Searches for files and folders. Can only be used to retrieve a maximum of 10,000 matches. Recent changes may not immediately be reflected in search results due to a short delay in indexing. Duplicate results may be returned across pages. Some results may not be returned.`
#### Properties [#properties-23]
| Name | Label | Type | Description | Required |
| :---: | :-----------: | :----: | :----------------------------------------------------------------------------------------: | :------: |
| query | Search String | STRING | The string to search for. May match across multiple fields based on the request arguments. | true |
#### Example JSON Structure [#example-json-structure-11]
```json
{
"label" : "Search",
"name" : "search",
"parameters" : {
"query" : ""
},
"type" : "dropbox/v1/search"
}
```
#### Output [#output-11]
Type: OBJECT
#### Properties [#properties-24]
| Name | Type | Description |
| :-----: | :-------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------: |
| matches | ARRAY Items \[\{\{STRING(name), STRING(path\_lower), STRING(path\_display), STRING(id)}(metadata)}] | A list (possibly empty) of matches for the query. |
#### Output Example [#output-example-11]
```json
{
"matches" : [ {
"metadata" : {
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : ""
}
} ]
}
```
### Upload File [#upload-file]
Name: uploadFile
`Create a new file up to a size of 150MB with the contents provided in the request.`
#### Properties [#properties-25]
| Name | Label | Type | Description | Required |
| :--------------: | :--------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The object property which contains a reference to the file to be written. | true |
| path | Destination Path | STRING | The path to which the file should be written. | true |
| filename | Filename | STRING | Name of the file. Needs to have the appropriate extension. | true |
| autorename | Auto Rename | BOOLEAN Options true , false | If there's a conflict, as determined by mode, have the Dropbox server try to autorename the file to avoid conflict. | false |
| mute | Mute | BOOLEAN Options true , false | Normally, users are made aware of any file modifications in their Dropbox account via notifications in the client software. If true, this tells the clients that this modification shouldn't result in a user notification. | false |
| strict\_conflict | Strict Conflict | BOOLEAN Options true , false | Be more strict about how each WriteMode detects conflict. For example, always return a conflict error when mode = WriteMode.update and the given "rev" doesn't match the existing file's "rev", even if the existing file has been deleted. | false |
#### Example JSON Structure [#example-json-structure-12]
```json
{
"label" : "Upload File",
"name" : "uploadFile",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"path" : "",
"filename" : "",
"autorename" : false,
"mute" : false,
"strict_conflict" : false
},
"type" : "dropbox/v1/uploadFile"
}
```
#### Output [#output-12]
Type: OBJECT
#### Properties [#properties-26]
| Name | Type | Description |
| :--------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: |
| name | STRING | Name of the file. The last component of the path (including extension). |
| path\_lower | STRING | The lowercased full path in the user's Dropbox. |
| path\_display | STRING | The cased path to be used for display purposes only. |
| id | STRING | ID of the folder. |
| size | INTEGER | The file size in bytes. |
| is\_downloadable | BOOLEAN Options true , false | If file can be downloaded directly. |
| content\_hash | STRING | A hash of the file content. |
#### Output Example [#output-example-12]
```json
{
"name" : "",
"path_lower" : "",
"path_display" : "",
"id" : "",
"size" : 1,
"is_downloadable" : false,
"content_hash" : ""
}
```
#### Find Folder Path [#find-folder-path-6]
To find the folder path, click [here](/reference/components/dropbox_v1#how-to-find-file-or-folder-path).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find File or Folder path [#how-to-find-file-or-folder-path]
Finding the source path of a file or folder in Dropbox depends on whether you are using the desktop application, the website, or the API.
The source path is generally the path relative to the root of your Dropbox folder (e.g., /Photos/vacation.jpg).
The path of the file or folder can be found in the output of the following actions. In the output, you will find a `path_lower` property, which represents the path of the file or folder in lowercase letters.
* **Copy File**
* **Copy Folder**
* **Create Folder**
* **Create New Paper File**
* **Delete File**
* **Delete Folder**
* **Get File Link**
* **List Folder**
* **Move File**
* **Move Folder**
* **Search**
* **Upload File**
# ByteChef Reference: ElevenLabs
URL: /reference/components/elevenlabs_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/elevenlabs_v1.mdx
ElevenLabs is an AI-powered voice synthesis company specializing in ultra-realistic text-to-speech and voice cloning technology.
Categories: Artificial Intelligence
Type: elevenLabs/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | API Key | STRING | | true |
## Connection Setup [#connection-setup]
### Find OAuth Client ID and Client Secret [#find-oauth-client-id-and-client-secret]
1. Navigate to your dashboard.
2. Click on **Developers**.
3. Click on **Create an API Key**.
4. Click on **Create Key**.
5. Enable desired endpoints.
6. Click on **Create Key**.
7. Click on **Copy to Clipboard**.
8. Click on **Close**
## Actions [#actions]
### Create Realtime Speech [#create-realtime-speech]
Name: createRealtimeSpeech
`Generate speech in real-time using ElevenLabs WebSocket-based text-to-speech API. Receives text via WebSocket, forwards to ElevenLabs for speech synthesis, and streams generated audio chunks back.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------------: | :--------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: | :------: |
| voiceId | Voice | STRING | Voice to use for converting the text into speech. | true |
| model\_id | Model | STRING Options eleven\_flash\_v2\_5 , eleven\_multilingual\_v2 , eleven\_turbo\_v2\_5 , eleven\_turbo\_v2 , eleven\_monolingual\_v1 , eleven\_multilingual\_v1 | The model to use for text-to-speech generation. | true |
| stability | Stability | NUMBER | Voice stability (0.0 to 1.0). Lower values produce more variation, higher values produce more consistent speech. | false |
| similarityBoost | Similarity Boost | NUMBER | Voice similarity boost (0.0 to 1.0). Higher values make the voice more closely match the original voice. | false |
| outputFormat | Output Format | STRING Options mp3\_44100\_128 , mp3\_44100\_64 , mp3\_44100\_32 , pcm\_16000 , pcm\_22050 , pcm\_24000 , pcm\_44100 , ulaw\_8000 | The output audio format. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Realtime Speech",
"name" : "createRealtimeSpeech",
"parameters" : {
"voiceId" : "",
"model_id" : "",
"stability" : 0.0,
"similarityBoost" : 0.0,
"outputFormat" : ""
},
"type" : "elevenLabs/v1/createRealtimeSpeech"
}
```
#### Output [#output]
This action does not produce any output.
### Create Realtime Transcript [#create-realtime-transcript]
Name: createRealtimeTranscript
`Transcribe audio in real-time using ElevenLabs WebSocket-based speech-to-text API. Receives audio via WebSocket, forwards to ElevenLabs for transcription, and streams transcription results back.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------: |
| model\_id | Model | STRING | The model to use for real-time transcription. | true |
| languageCode | Language Code | STRING | The language code for transcription (e.g., 'en' for English). If not specified, the language is auto-detected. | false |
| sampleRate | Sample Rate | INTEGER | The sample rate of the audio in Hz. | false |
| audioFormat | Audio Format | STRING Options pcm\_16000 , pcm\_22050 , pcm\_44100 , ulaw\_8000 | The format of the audio data. | false |
| includeTimestamps | Include Timestamps | BOOLEAN Options true , false | Whether to include word-level timestamps in the transcription. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Realtime Transcript",
"name" : "createRealtimeTranscript",
"parameters" : {
"model_id" : "",
"languageCode" : "",
"sampleRate" : 1,
"audioFormat" : "",
"includeTimestamps" : false
},
"type" : "elevenLabs/v1/createRealtimeTranscript"
}
```
#### Output [#output-1]
This action does not produce any output.
### Create Sound Effect [#create-sound-effect]
Name: createSoundEffect
`Turn text into sound effects for your videos, voice-overs or video games using the most advanced sound effects model in the world.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------------------------------------------------: | :------: |
| text | Text | STRING | The text that will get converted into a sound effect. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Sound Effect",
"name" : "createSoundEffect",
"parameters" : {
"text" : ""
},
"type" : "elevenLabs/v1/createSoundEffect"
}
```
#### Output [#output-2]
Type: FILE\_ENTRY
#### Properties [#properties-4]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Create Speech [#create-speech]
Name: createSpeech
`Converts text into speech using a voice of your choice and returns audio.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----: | :---: | :----: | :--------------------------------------------------------: | :------: |
| voiceId | Voice | STRING | Voice you want to use for converting the text into speech. | true |
| text | Text | STRING | Text you want to convert into speech. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Speech",
"name" : "createSpeech",
"parameters" : {
"voiceId" : "",
"text" : ""
},
"type" : "elevenLabs/v1/createSpeech"
}
```
#### Output [#output-3]
Type: FILE\_ENTRY
#### Properties [#properties-6]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Create Speech With Timing [#create-speech-with-timing]
Name: createSpeechWithTiming
`Generate speech from text with precise character-level timing information for audio-text synchronization.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-----: | :---: | :----: | :--------------------------------------------------------: | :------: |
| voiceId | Voice | STRING | Voice you want to use for converting the text into speech. | true |
| text | Text | STRING | Text you want to convert into speech. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Create Speech With Timing",
"name" : "createSpeechWithTiming",
"parameters" : {
"voiceId" : "",
"text" : ""
},
"type" : "elevenLabs/v1/createSpeechWithTiming"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------: |
| audio\_base64 | STRING | Base64 encoded audio data |
| alignment | OBJECT Properties \{\[STRING]\(characters), \[NUMBER]\(character\_start\_times\_seconds), \[NUMBER]\(character\_end\_times\_seconds)} | |
| normalized\_alignment | OBJECT Properties \{\[STRING]\(characters), \[NUMBER]\(character\_start\_times\_seconds), \[NUMBER]\(character\_end\_times\_seconds)} | |
#### Output Example [#output-example-2]
```json
{
"audio_base64" : "",
"alignment" : {
"characters" : [ "" ],
"character_start_times_seconds" : [ 0.0 ],
"character_end_times_seconds" : [ 0.0 ]
},
"normalized_alignment" : {
"characters" : [ "" ],
"character_start_times_seconds" : [ 0.0 ],
"character_end_times_seconds" : [ 0.0 ]
}
}
```
### Create Transcript [#create-transcript]
Name: createTranscript
`Transcribe an audio or video file.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :---------: | :-------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model\_id | Model | STRING | The ID of the model to use for transcription, currently only ‘scribe\_v1’ is available. | true |
| file | File Entry | FILE\_ENTRY | The file object with content to transcribe. All major audio and video formats are supported. The file size must be less than 1GB. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Create Transcript",
"name" : "createTranscript",
"parameters" : {
"model_id" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "elevenLabs/v1/createTranscript"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-------------------: | :----------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------: |
| language\_code | STRING | The detected language code (e.g. ‘eng’ for English). |
| language\_probability | NUMBER | The confidence score of the language detection (0 to 1). |
| text | STRING | The raw text of the transcription. |
| words | ARRAY Items \[\{STRING(text), NUMBER(start), NUMBER(end), STRING(type)}] | List of words with their timing information. |
#### Output Example [#output-example-3]
```json
{
"language_code" : "",
"language_probability" : 0.0,
"text" : "",
"words" : [ {
"text" : "",
"start" : 0.0,
"end" : 0.0,
"type" : ""
} ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Email
URL: /reference/components/email_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/email_v1.mdx
The Email connector sends emails using an SMTP email server.
Categories: Communication, Helpers
Type: email/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :---------: | :------: |
| username | Username | STRING | | true |
| password | Password | STRING | | true |
## Actions [#actions]
### Send [#send]
Name: send
`Send an email to any address.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :------------------------------------------------------------------: | :--------------------------------------------------------: | :------: |
| port | Port | INTEGER | Defines the port to connect to the email server. | true |
| from | From Email | STRING | From who to send the email. | true |
| to | To Email | ARRAY Items \[STRING] | Who to send the email to. | true |
| cc | CC Email | ARRAY Items \[STRING] | Who to CC on the email. | false |
| bcc | BCC Email | ARRAY Items \[STRING] | Who to BCC on the email. | false |
| replyTo | Reply To | ARRAY Items \[STRING] | When someone replies to this email, where should it go to? | false |
| subject | Subject | STRING | Your email subject. | true |
| content | Content | STRING | Your email content. Will be sent as a HTML email. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | A list of attachments to send with the email. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send",
"name" : "send",
"parameters" : {
"port" : 1,
"from" : "",
"to" : [ "" ],
"cc" : [ "" ],
"bcc" : [ "" ],
"replyTo" : [ "" ],
"subject" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "email/v1/send"
}
```
#### Output [#output]
This action does not produce any output.
### Get Mail [#get-mail]
Name: get
`Get emails from inbox.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------: | :------: |
| port | Port | INTEGER | Defines the port to connect to the email server. | true |
| protocol | Protocol | STRING Options imap , pop3 | Protocol defines communication procedure. IMAP allows receiving emails. POP3 is older protocol for receiving emails. | true |
| from | From Email | STRING | From who the email was sent. | true |
| subject | Subject contains | STRING | Filters email messages where subject contains this keyword. Character matching is case insensitive. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Mail",
"name" : "get",
"parameters" : {
"port" : 1,
"protocol" : "",
"from" : "",
"subject" : ""
},
"type" : "email/v1/get"
}
```
#### Output [#output-1]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :---------: |
| cc | STRING | |
| content | STRING | |
| contentType | STRING | |
| from | STRING | |
| hasAttachments | BOOLEAN Options true , false | |
| subject | STRING | |
#### Output Example [#output-example]
```json
[ {
"cc" : "",
"content" : "",
"contentType" : "",
"from" : "",
"hasAttachments" : false,
"subject" : ""
} ]
```
# ByteChef Reference: Encharge
URL: /reference/components/encharge_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/encharge_v1.mdx
Encharge is a marketing automation platform that helps businesses automate their customer communication and marketing campaigns.
Categories: Marketing Automation
Type: encharge/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | Value | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to your Encharge dashboard.
2. Click on your profile icon in the top right corner and select **Your Account**.
3. Copy **API Key** and use it in ByteChef.
## Actions [#actions]
### Add Tag [#add-tag]
Name: addTag
`Add tag(s) to an existing user.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :-----------------------------------------------------------------------------: | :------: |
| tag | Tag | STRING | Tag(s) to add. To add multiple tags, use a comma-separated list, e.g. tag1,tag2 | true |
| email | Email | STRING | Email of the person. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Tag",
"name" : "addTag",
"parameters" : {
"tag" : "",
"email" : ""
},
"type" : "encharge/v1/addTag"
}
```
#### Output [#output]
This action does not produce any output.
### Create Email Template [#create-email-template]
Name: createEmailTemplate
`Creates email template.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :----: | :-----------------------------------------------: | :------: |
| name | Name | STRING | Name of the email template. | true |
| subject | Subject | STRING | Subject of the email. | true |
| fromEmail | From Email | STRING | From address to send the email from. | true |
| replyEmail | Reply Email | STRING | Address that recipients will reply to by default. | false |
| html | HTML Content | STRING | HTML content of the email template. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Email Template",
"name" : "createEmailTemplate",
"parameters" : {
"name" : "",
"subject" : "",
"fromEmail" : "",
"replyEmail" : "",
"html" : ""
},
"type" : "encharge/v1/createEmailTemplate"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :---: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| email | OBJECT Properties \{INTEGER(id), BOOLEAN(isStandalone), INTEGER(accountId), STRING(name), STRING(subject), STRING(fromEmail), STRING(replyEmail), STRING(type), BOOLEAN(archived), BOOLEAN(canSpamCompliance), INTEGER(communicationCategoryId), BOOLEAN(isDefaultTemplate)} | |
#### Output Example [#output-example]
```json
{
"email" : {
"id" : 1,
"isStandalone" : false,
"accountId" : 1,
"name" : "",
"subject" : "",
"fromEmail" : "",
"replyEmail" : "",
"type" : "",
"archived" : false,
"canSpamCompliance" : false,
"communicationCategoryId" : 1,
"isDefaultTemplate" : false
}
}
```
### Create Person [#create-person]
Name: createPerson
`Creates a new person in Encharge.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-------: | :----: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| \_\_items | People | ARRAY Items \[\{STRING(email), STRING(firstName), STRING(lastName), STRING(website), STRING(title), STRING(phone)}] | | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Person",
"name" : "createPerson",
"parameters" : {
"__items" : [ {
"email" : "",
"firstName" : "",
"lastName" : "",
"website" : "",
"title" : "",
"phone" : ""
} ]
},
"type" : "encharge/v1/createPerson"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :---: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| users | ARRAY Items \[\{STRING(email), STRING(firstName), STRING(lastName), STRING(website), STRING(title), STRING(id), STRING(phone)}] | |
#### Output Example [#output-example-1]
```json
{
"users" : [ {
"email" : "",
"firstName" : "",
"lastName" : "",
"website" : "",
"title" : "",
"id" : "",
"phone" : ""
} ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Example
URL: /reference/components/example_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/example_v1.mdx
Component description.
Categories: Helpers
Type: example/v1
## Connections [#connections]
Version: 1
## Actions [#actions]
### Title [#title]
Name: dummyAction
`Description`
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Title",
"name" : "dummyAction",
"type" : "example/v1/dummyAction"
}
```
#### Output [#output]
Type: STRING
## Triggers [#triggers]
### Updated Issue [#updated-issue]
Name: dummyTrigger
`Triggers when an issue is updated.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-1]
Type: STRING
#### JSON Example [#json-example]
```json
{
"label" : "Updated Issue",
"name" : "dummyTrigger",
"type" : "example/v1/dummyTrigger"
}
```
# Additional Instructions [#additional-instructions]
## Example [#example]
This is an example of an example.
1. Step 1
2. Step 2
3.
# ByteChef Reference: Figma
URL: /reference/components/figma_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/figma_v1.mdx
Figma is a cloud-based design and prototyping tool that enables teams to collaborate in real-time on user interface and user experience projects.
Categories: Productivity and Collaboration
Type: figma/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create a Figma OAuth App [#create-a-figma-oauth-app]
1. Go to [https://www.figma.com/developers/apps](https://www.figma.com/developers/apps) (or click “My Apps” in the top toolbar).
2. Click **Create a new app** (top-right).
3. Enter a name for your OAuth app and select a Team/Organization. The app must be associated with a team or organization.
4. Click **Create**.
5. Copy the **Client ID** and **Client Secret** and store them securely.
* Figma shows the Client Secret only once. You’ll need it for token exchange and refreshing access tokens.
### Configure OAuth Scopes [#configure-oauth-scopes]
On the OAuth scopes page, select the scopes your app needs. For the ByteChef Figma connector, enable:
* `file_comments:read`
* `file_comments:write`
* `webhooks:write`
### Set the Redirect URI [#set-the-redirect-uri]
Add the ByteChef OAuth2 callback URL as a Redirect URI in your Figma app:
* Example cloud URL: `https://app.bytechef.io/callback`
* Example local URL: `http://127.0.0.1:5173/callback`
If you run ByteChef with a custom domain, the pattern is: `/callback`.
## Actions [#actions]
### Get Comments [#get-comments]
Name: getComments
`Gets a list of comments left on the file.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :-----------------------------------------------------------------: | :------: |
| fileKey | File Key | STRING | File to get comments from. Figma file key copy from Figma file URL. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Comments",
"name" : "getComments",
"parameters" : {
"fileKey" : ""
},
"type" : "figma/v1/getComments"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------: |
| comments | ARRAY Items \[\{STRING(id), STRING(file\_key), STRING(parent\_id), \{STRING(id), STRING(handle), STRING(img\_url), STRING(email)}(user)}] | List of comments. |
#### Output Example [#output-example]
```json
{
"comments" : [ {
"id" : "",
"file_key" : "",
"parent_id" : "",
"user" : {
"id" : "",
"handle" : "",
"img_url" : "",
"email" : ""
}
} ]
}
```
#### Find File Key [#find-file-key]
To find a Figma file key, copy the alphanumeric string located between `/file/` (or `/design/`, `/proto/`, etc.) and the file name in the browser URL. For example, in `https://www.figma.com/file/ABC123456/File-Name`, the file key is `ABC123456`. You can also right-click a file in the desktop app and select **Copy link** to extract it.
### Post Comment [#post-comment]
Name: postComment
`Posts a new comment on the file.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :---------------------------------------------------------------: | :------: |
| fileKey | File Key | STRING | File to add comments in. Figma file key copy from Figma file URL. | true |
| message | Comment | STRING | Comment to post on the file. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Post Comment",
"name" : "postComment",
"parameters" : {
"fileKey" : "",
"message" : ""
},
"type" : "figma/v1/postComment"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--------: | :----: | :---------------------------------------: |
| id | STRING | ID of the comment. |
| file\_key | STRING | File key of the file the comment is on. |
| parent\_id | STRING | ID of comment this comment is a reply to. |
| message | STRING | Message of the comment. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"file_key" : "",
"parent_id" : "",
"message" : ""
}
```
#### Find File Key [#find-file-key-1]
To find a Figma file key, copy the alphanumeric string located between `/file/` (or `/design/`, `/proto/`, etc.) and the file name in the browser URL. For example, in `https://www.figma.com/file/ABC123456/File-Name`, the file key is `ABC123456`. You can also right-click a file in the desktop app and select **Copy link** to extract it.
## Triggers [#triggers]
### New Comment [#new-comment]
Name: newComment
`Triggers when new comment is posted.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :----: | :-----------------: | :------: |
| team\_id | Team ID | STRING | The ID of the team. | true |
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----------: | :------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------: |
| file\_name | STRING | The name of the file that was updated. |
| created\_at | STRING | The UTC ISO 8601 time at which the comment was left. |
| comment\_id | STRING | ID of the comment. |
| triggered\_by | OBJECT Properties \{STRING(id), STRING(handle), STRING(email), STRING(img\_url)} | The user that made the comment and triggered this event. |
| file\_key | STRING | The key of the file that was updated. |
| retries | INTEGER | Number of times the event has been retried. |
| event\_type | STRING | Type of the event. |
| webhook\_id | STRING | The id of the webhook that caused the callback. |
| parent\_id | STRING | If present, the id of the comment to which this is the reply. |
| resolved\_at | STRING | If set, the UTC ISO 8601 time the comment was resolved. |
| mentions | ARRAY Items \[\{STRING(id), STRING(handle), STRING(email), STRING(img\_url)}] | Users that were mentioned in the comment. |
| comment | ARRAY Items \[\{STRING(text), STRING(mention)}] | Contents of the comment itself. |
| order\_id | STRING | Only set for top level comments. The number displayed with the comment in the UI. |
| passcode | STRING | The passcode specified when the webhook was created, should match what was initially provided. |
| timestamp | STRING | UTC ISO 8601 timestamp of when the event was triggered. |
#### JSON Example [#json-example]
```json
{
"label" : "New Comment",
"name" : "newComment",
"parameters" : {
"team_id" : ""
},
"type" : "figma/v1/newComment"
}
```
#### Find Team ID [#find-team-id]
To find your Figma Team ID, open the Figma web browser app, click on your team name in the left-hand sidebar, and copy the long numerical string located after `/team/` in the URL bar (e.g., `figma.com/team/123456789/team-name`).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: File Storage
URL: /reference/components/file-storage_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/file-storage_v1.mdx
Reads and writes data from a file stored inside the file storage.
Categories: File Storage, Helpers
Type: fileStorage/v1
## Actions [#actions]
### Read from File as String [#read-from-file-as-string]
Name: read
`Reads data from the file as string.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :---------: | :--------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The file object which contains content of the file to read from. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Read from File as String",
"name" : "read",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "fileStorage/v1/read"
}
```
#### Output [#output]
***Sample Output:***
`Sample content`
Type: STRING
### Read from File as Byte Array [#read-from-file-as-byte-array]
Name: readBytes
`Reads data from the file as byte array.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :---------: | :--------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The file object which contains content of the file to read from. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Read from File as Byte Array",
"name" : "readBytes",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "fileStorage/v1/readBytes"
}
```
#### Output [#output-1]
Type: ARRAY
Items Type: INTEGER
#### Output Example [#output-example]
```json
[ 1 ]
```
### Write to File [#write-to-file]
Name: write
`Writes the data to the file.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :------------------------------------------------------------: | :------: |
| content | Content | STRING | String to write to the file. | true |
| filename | Filename | STRING | Filename to set for data. By default, "file.txt" will be used. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Write to File",
"name" : "write",
"parameters" : {
"content" : "",
"filename" : ""
},
"type" : "fileStorage/v1/write"
}
```
#### Output [#output-2]
Type: FILE\_ENTRY
#### Properties [#properties-3]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Download File [#download-file]
Name: download
`Download a file from the URL.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :------------------------------------------------------------: | :------: |
| url | URL | STRING | The URL to download a file from. | true |
| filename | Filename | STRING | Filename to set for data. By default, "file.txt" will be used. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Download File",
"name" : "download",
"parameters" : {
"url" : "",
"filename" : ""
},
"type" : "fileStorage/v1/download"
}
```
#### Output [#output-3]
Type: FILE\_ENTRY
#### Properties [#properties-5]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-2]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
# ByteChef Reference: Filesystem
URL: /reference/components/filesystem_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/filesystem_v1.mdx
Allows multiple operations over files on the filesystem.
Categories: Helpers
Type: filesystem/v1
## Actions [#actions]
### Create Temp Directory [#create-temp-directory]
Name: createTempDir
`Creates a file in the temporary directory on the filesystem. Returns the created directory's full path.`
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Temp Directory",
"name" : "createTempDir",
"type" : "filesystem/v1/createTempDir"
}
```
#### Output [#output]
***Sample Output:***
`/sample_tmp_dir`
Type: STRING
### Create [#create]
Name: mkdir
`Creates a directory.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------------: | :------: |
| path | Path | STRING | The path of a directory. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create",
"name" : "mkdir",
"parameters" : {
"path" : ""
},
"type" : "filesystem/v1/mkdir"
}
```
#### Output [#output-1]
***Sample Output:***
`/sample_data`
Type: STRING
### Get Parent Folder [#get-parent-folder]
Name: getFilePath
`Gets the path of the parent folder of the file. If the file doesn't exist, it throws an error.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :------------------------: | :------: |
| filename | File path | STRING | The path to full filename. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Parent Folder",
"name" : "getFilePath",
"parameters" : {
"filename" : ""
},
"type" : "filesystem/v1/getFilePath"
}
```
#### Output [#output-2]
***Sample Output:***
`/sample_data`
Type: STRING
### List [#list]
Name: ls
`Lists the content of a directory for the given path.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :---------------------------------------------------------------------------------------------: | :------------------------------------: | :------: |
| path | Path | STRING | The path of a directory. | true |
| recursive | Recursive | BOOLEAN Options true , false | Should the subdirectories be included? | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List",
"name" : "ls",
"parameters" : {
"path" : "",
"recursive" : false
},
"type" : "filesystem/v1/ls"
}
```
#### Output [#output-3]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :----------: | :-----: | :------------------------: |
| filename | STRING | Name of the file. |
| relativePath | STRING | Relative path of the file. |
| size | INTEGER | Size of the file. |
#### Output Example [#output-example]
```json
[ {
"filename" : "",
"relativePath" : "",
"size" : 1
} ]
```
### Read File [#read-file]
Name: readFile
`Reads all data from a specified file path and outputs it in file entry format.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :---------------------------: | :------: |
| filename | File path | STRING | The path of the file to read. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Read File",
"name" : "readFile",
"parameters" : {
"filename" : ""
},
"type" : "filesystem/v1/readFile"
}
```
#### Output [#output-4]
Type: FILE\_ENTRY
#### Properties [#properties-5]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Remove [#remove]
Name: rm
`Permanently removes the content of a directory.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------------: | :------: |
| path | Path | STRING | The path of a directory. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Remove",
"name" : "rm",
"parameters" : {
"path" : ""
},
"type" : "filesystem/v1/rm"
}
```
#### Output [#output-5]
***Sample Output:***
`true`
Type: BOOLEAN
### Write to File [#write-to-file]
Name: writeFile
`null`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :---------: | :-------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | File entry object to be written. | true |
| filename | File path | STRING | The path to which the file should be written. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Write to File",
"name" : "writeFile",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"filename" : ""
},
"type" : "filesystem/v1/writeFile"
}
```
#### Output [#output-6]
***Sample Output:***
`{bytes=1024}`
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :---: | :-----: | :----------------------: |
| bytes | INTEGER | Number of bytes written. |
#### Output Example [#output-example-2]
```json
{
"bytes" : 1
}
```
# ByteChef Reference: Firecrawl
URL: /reference/components/firecrawl_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/firecrawl_v1.mdx
Firecrawl allows you to turn entire websites into LLM-ready markdown
Categories: Helpers, Artificial Intelligence
Type: firecrawl/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-------: | :----: | :---------: | :------: |
| token | API Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Go to [https://www.firecrawl.dev/app/api-keys](https://www.firecrawl.dev/app/api-keys)
2. Log in to your account.
3. Copy the API key. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Crawl [#crawl]
Name: crawl
`Crawl multiple URLs starting from a base URL and extract content.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------------------: | :---------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: | :------: |
| url | URL | STRING | The base URL to start crawling from. | true |
| formats | Formats | ARRAY Items \[STRING] | Output formats to include in the response for each crawled page. | false |
| prompt | Prompt | STRING | A natural language prompt to generate crawler options. Explicitly set parameters will override the generated equivalents. | false |
| excludePaths | Exclude Paths | ARRAY Items \[STRING] | URL pathname regex patterns that exclude matching URLs from the crawl. | false |
| includePaths | Include Paths | ARRAY Items \[STRING] | URL pathname regex patterns that include matching URLs in the crawl. Only paths matching the specified patterns will be included. | false |
| maxDiscoveryDepth | Max Discovery Depth | INTEGER | Maximum depth to crawl based on discovery order. The root site and sitemapped pages have a discovery depth of 0. | false |
| sitemap | Sitemap | STRING Options include , skip , only | Sitemap mode: 'include' uses sitemap and other methods (default), 'skip' ignores the sitemap, 'only' crawls only sitemap URLs. | false |
| limit | Limit | INTEGER | Maximum number of pages to crawl. Default limit is 10000. | false |
| scrapeOptions | Scrape Options | OBJECT Properties \{BOOLEAN(onlyMainContent), \[STRING]\(includeTags), \[STRING]\(excludeTags), INTEGER(maxAge), \{}(headers), INTEGER(waitFor), BOOLEAN(mobile), BOOLEAN(skipTlsVerification), INTEGER(timeout), BOOLEAN(removeBase64Images), BOOLEAN(blockAds), STRING(proxy), \{STRING(country), \[STRING]\(languages)}(location), \[\{STRING(type), INTEGER(maxPages)}]\(parsers), BOOLEAN(storeInCache)} | Options for scraping each page during the crawl. | false |
| ignoreQueryParameters | Ignore Query Parameters | BOOLEAN Options true , false | Do not re-scrape the same path with different (or none) query parameters. | false |
| regexOnFullURL | Regex on Full URL | BOOLEAN Options true , false | When true, includePaths and excludePaths patterns are matched against the full URL including query parameters. | false |
| crawlEntireDomain | Crawl Entire Domain | BOOLEAN Options true , false | Allows the crawler to follow internal links to sibling or parent URLs, not just child paths. | false |
| allowExternalLinks | Allow External Links | BOOLEAN Options true , false | Allows the crawler to follow links to external websites. | false |
| allowSubdomains | Allow Subdomains | BOOLEAN Options true , false | Allows the crawler to follow links to subdomains of the main domain. | false |
| delay | Delay | INTEGER | Delay in seconds between scrapes. Helps respect website rate limits. | false |
| maxConcurrency | Max Concurrency | INTEGER | Maximum number of concurrent scrapes. If not specified, adheres to your team's concurrency limit. | false |
| webhook | Webhook | OBJECT Properties \{STRING(url), \{}(headers), \{}(metadata), \[STRING]\(events)} | Webhook configuration to receive crawl status updates. | false |
| zeroDataRetention | Zero Data Retention | BOOLEAN Options true , false | Enable zero data retention for this crawl. Contact [help@firecrawl.dev](mailto:help@firecrawl.dev) to enable this feature. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Crawl",
"name" : "crawl",
"parameters" : {
"url" : "",
"formats" : [ "" ],
"prompt" : "",
"excludePaths" : [ "" ],
"includePaths" : [ "" ],
"maxDiscoveryDepth" : 1,
"sitemap" : "",
"limit" : 1,
"scrapeOptions" : {
"onlyMainContent" : false,
"includeTags" : [ "" ],
"excludeTags" : [ "" ],
"maxAge" : 1,
"headers" : { },
"waitFor" : 1,
"mobile" : false,
"skipTlsVerification" : false,
"timeout" : 1,
"removeBase64Images" : false,
"blockAds" : false,
"proxy" : "",
"location" : {
"country" : "",
"languages" : [ "" ]
},
"parsers" : [ {
"type" : "",
"maxPages" : 1
} ],
"storeInCache" : false
},
"ignoreQueryParameters" : false,
"regexOnFullURL" : false,
"crawlEntireDomain" : false,
"allowExternalLinks" : false,
"allowSubdomains" : false,
"delay" : 1,
"maxConcurrency" : 1,
"webhook" : {
"url" : "",
"headers" : { },
"metadata" : { },
"events" : [ "" ]
},
"zeroDataRetention" : false
},
"type" : "firecrawl/v1/crawl"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :---------: |
| success | BOOLEAN Options true , false | |
| id | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"success" : false,
"id" : "",
"url" : ""
}
```
### Get Crawl Status [#get-crawl-status]
Name: getCrawlStatus
`Get the status and results of a crawl job.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :------: | :----: | :---------------------------------------------: | :------: |
| id | Crawl ID | STRING | The ID of the crawl job to retrieve status for. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Crawl Status",
"name" : "getCrawlStatus",
"parameters" : {
"id" : ""
},
"type" : "firecrawl/v1/getCrawlStatus"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------: |
| status | STRING | The current status of the crawl: scraping, completed, or failed. |
| total | INTEGER | The total number of pages that were attempted to be crawled. |
| completed | INTEGER | The number of pages that have been successfully crawled. |
| creditsUsed | INTEGER | The number of credits used for the crawl. |
| expiresAt | STRING | The date and time when the crawl results will expire. |
| next | STRING | URL to retrieve the next batch of data. Returned if the crawl is not completed or if the response exceeds 10MB. |
| data | ARRAY Items \[\{STRING(markdown), STRING(html), STRING(rawHtml), \[STRING]\(links), STRING(screenshot), \{STRING(title), STRING(description), STRING(language), STRING(sourceURL), STRING(keywords), \[STRING]\(ogLocaleAlternate), INTEGER(statusCode), STRING(error)}(metadata)}] | The scraped data from each crawled page. |
#### Output Example [#output-example-1]
```json
{
"status" : "",
"total" : 1,
"completed" : 1,
"creditsUsed" : 1,
"expiresAt" : "",
"next" : "",
"data" : [ {
"markdown" : "",
"html" : "",
"rawHtml" : "",
"links" : [ "" ],
"screenshot" : "",
"metadata" : {
"title" : "",
"description" : "",
"language" : "",
"sourceURL" : "",
"keywords" : "",
"ogLocaleAlternate" : [ "" ],
"statusCode" : 1,
"error" : ""
}
} ]
}
```
### Map [#map]
Name: map
`Map multiple URLs from a website based on specified options.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------------------: | :---------------------: | :-----------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| url | URL | STRING | The base URL to start mapping from. | true |
| search | Search | STRING | Specify a search query to order the results by relevance. Example: 'blog' will return URLs that contain the word 'blog' in the URL ordered by relevance. | false |
| sitemap | Sitemap | STRING Options include , skip , only | Sitemap mode when mapping. If you set it to 'skip', the sitemap won't be used to find URLs. If you set it to 'only', only URLs that are in the sitemap will be returned. By default ('include'), the sitemap and other methods will be used together to find URLs. | false |
| includeSubdomains | Include Subdomains | BOOLEAN Options true , false | Include subdomains of the website. | false |
| ignoreQueryParameters | Ignore Query Parameters | BOOLEAN Options true , false | Do not return URLs with query parameters. | false |
| ignoreCache | Ignore Cache | BOOLEAN Options true , false | Bypass the sitemap cache to retrieve fresh URLs. Sitemap data is cached for up to 7 days; use this parameter when your sitemap has been recently updated. | false |
| limit | Limit | INTEGER | Maximum number of links to return (1-100000). | false |
| timeout | Timeout | INTEGER | Timeout in milliseconds. There is no timeout by default. | false |
| location | Location | OBJECT Properties \{STRING(country), \[STRING]\(languages)} | Location settings for the request. When specified, this will use an appropriate proxy if available and emulate the corresponding language and timezone settings. Defaults to 'US' if not specified. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Map",
"name" : "map",
"parameters" : {
"url" : "",
"search" : "",
"sitemap" : "",
"includeSubdomains" : false,
"ignoreQueryParameters" : false,
"ignoreCache" : false,
"limit" : 1,
"timeout" : 1,
"location" : {
"country" : "",
"languages" : [ "" ]
}
},
"type" : "firecrawl/v1/map"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------------------: | :---------: |
| success | BOOLEAN Options true , false | |
| links | ARRAY Items \[\{STRING(url), STRING(title), STRING(description)}] | |
#### Output Example [#output-example-2]
```json
{
"success" : false,
"links" : [ {
"url" : "",
"title" : "",
"description" : ""
} ]
}
```
### Scrape URL [#scrape-url]
Name: scrape
`Scrape a single URL and extract content in various formats.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-----------------: | :-------------------: | :-------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| url | URL | STRING | The URL to scrape. | true |
| formats | Formats | ARRAY Items \[STRING] | Output formats to include in the response (e.g., markdown, html, json). | false |
| formatsSchema | JSON Schema | STRING | The schema to use for the JSON output. Must conform to JSON Schema. | false |
| formatsPrompt | JSON Prompt | STRING | The prompt to use for the JSON output | false |
| onlyMainContent | Only Main Content | BOOLEAN Options true , false | Only return the main content excluding headers, navs, footers, etc. | false |
| includeTags | Include Tags | ARRAY Items \[STRING] | HTML tags to include in the output. | false |
| excludeTags | Exclude Tags | ARRAY Items \[STRING] | HTML tags to exclude from the output. | false |
| maxAge | Max Age | INTEGER | Returns a cached version if younger than this age in milliseconds. Speeds up scrapes by up to 500%. Default is 2 days (172800000ms). | false |
| headers | Headers | OBJECT Properties \{} | Custom headers to send with the request (e.g., cookies, user-agent). | false |
| waitFor | Wait For | INTEGER | Delay in milliseconds before fetching content, allowing the page to load. This is in addition to Firecrawl's smart wait feature. | false |
| mobile | Mobile | BOOLEAN Options true , false | Emulate scraping from a mobile device. Useful for responsive pages and mobile screenshots. | false |
| skipTlsVerification | Skip TLS Verification | BOOLEAN Options true , false | Skip TLS certificate verification when making requests. | false |
| timeout | Timeout | INTEGER | Timeout in milliseconds for the request. Default is 30000 (30 seconds). Maximum is 300000 (5 minutes). | false |
| removeBase64Images | Remove Base64 Images | BOOLEAN Options true , false | Removes all base64 images from output. Image alt text remains but URL is replaced with placeholder. | false |
| blockAds | Block Ads | BOOLEAN Options true , false | Enables ad-blocking and cookie popup blocking. | false |
| proxy | Proxy | STRING Options auto , basic , enhanced | Proxy type: 'basic' (fast, basic anti-bot), 'enhanced' (slower, advanced anti-bot, costs up to 5 credits), 'auto' (retries with enhanced if basic fails). | false |
| location | Location | OBJECT Properties \{STRING(country), \[STRING]\(languages)} | Location settings for the request. Uses appropriate proxy and emulates language/timezone. | false |
| parsers | Parsers | ARRAY Items \[\{STRING(type), INTEGER(maxPages)}] | Controls how files are processed. When 'pdf' is included (default), PDF content is extracted and converted to markdown (1 credit per page). Empty array returns PDF in base64 (1 credit flat). | false |
| storeInCache | Store in Cache | BOOLEAN Options true , false | If true, page will be stored in Firecrawl index and cache. Set to false for data protection concerns. | false |
| zeroDataRetention | Zero Data Retention | BOOLEAN Options true , false | Enable zero data retention for this scrape. Contact [help@firecrawl.dev](mailto:help@firecrawl.dev) to enable this feature. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Scrape URL",
"name" : "scrape",
"parameters" : {
"url" : "",
"formats" : [ "" ],
"formatsSchema" : "",
"formatsPrompt" : "",
"onlyMainContent" : false,
"includeTags" : [ "" ],
"excludeTags" : [ "" ],
"maxAge" : 1,
"headers" : { },
"waitFor" : 1,
"mobile" : false,
"skipTlsVerification" : false,
"timeout" : 1,
"removeBase64Images" : false,
"blockAds" : false,
"proxy" : "",
"location" : {
"country" : "",
"languages" : [ "" ]
},
"parsers" : [ {
"type" : "",
"maxPages" : 1
} ],
"storeInCache" : false,
"zeroDataRetention" : false
},
"type" : "firecrawl/v1/scrape"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| success | BOOLEAN Options true , false | |
| data | OBJECT Properties \{STRING(markdown), STRING(summary), STRING(html), STRING(rawHtml), STRING(screenshot), \[STRING]\(links), \{STRING(title), STRING(description), STRING(language), STRING(sourceURL), STRING(keywords), INTEGER(statusCode), STRING(error)}(metadata), STRING(warning)} | |
#### Output Example [#output-example-3]
```json
{
"success" : false,
"data" : {
"markdown" : "",
"summary" : "",
"html" : "",
"rawHtml" : "",
"screenshot" : "",
"links" : [ "" ],
"metadata" : {
"title" : "",
"description" : "",
"language" : "",
"sourceURL" : "",
"keywords" : "",
"statusCode" : 1,
"error" : ""
},
"warning" : ""
}
}
```
### Search [#search]
Name: search
`Search the web and optionally scrape search results using Firecrawl.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :---------------: | :-----------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Search Query | STRING | The search query string. | true |
| limit | Limit | INTEGER | Maximum number of results to return (1-100). | false |
| sources | Sources | ARRAY Items \[\{STRING(type)}] | Sources to search. Determines the arrays available in the response. | false |
| categories | Categories | ARRAY Items \[\{STRING(type)}] | Categories to filter results by (github, research, pdf). | false |
| tbs | Time-Based Search | STRING Options qdr:h , qdr:d , qdr:w , qdr:m , qdr:y | Filter results by time periods. | false |
| location | Location | STRING | Location parameter for geo-targeted search results (e.g., 'San Francisco,California,United States'). | false |
| country | Country | STRING | ISO country code for geo-targeting search results (e.g., 'US', 'DE', 'FR', 'JP'). | false |
| timeout | Timeout | INTEGER | Timeout in milliseconds. | false |
| ignoreInvalidURLs | Ignore Invalid URLs | BOOLEAN Options true , false | Excludes URLs from search results that are invalid for other Firecrawl endpoints. Useful when piping data to other Firecrawl API endpoints. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Search",
"name" : "search",
"parameters" : {
"query" : "",
"limit" : 1,
"sources" : [ {
"type" : ""
} ],
"categories" : [ {
"type" : ""
} ],
"tbs" : "",
"location" : "",
"country" : "",
"timeout" : 1,
"ignoreInvalidURLs" : false
},
"type" : "firecrawl/v1/search"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :---------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| success | BOOLEAN Options true , false | |
| data | OBJECT Properties \{\[\{STRING(title), STRING(description), STRING(url), STRING(markdown), STRING(html), STRING(rawHtml), \[STRING]\(links), STRING(screenshot), \{STRING(title), STRING(description), STRING(sourceURL), INTEGER(statusCode), STRING(error)}(metadata)}]\(web), \[\{STRING(title), STRING(imageUrl), INTEGER(imageWidth), INTEGER(imageHeight), STRING(url), INTEGER(position)}]\(images), \[\{STRING(title), STRING(snippet), STRING(url), STRING(date), STRING(imageUrl), INTEGER(position), STRING(markdown), STRING(html), STRING(rawHtml), \[STRING]\(links), STRING(screenshot), \{STRING(title), STRING(description), STRING(sourceURL), INTEGER(statusCode), STRING(error)}(metadata)}]\(news)} | |
| warning | STRING | |
| id | STRING | |
| creditsUsed | INTEGER | |
#### Output Example [#output-example-4]
```json
{
"success" : false,
"data" : {
"web" : [ {
"title" : "",
"description" : "",
"url" : "",
"markdown" : "",
"html" : "",
"rawHtml" : "",
"links" : [ "" ],
"screenshot" : "",
"metadata" : {
"title" : "",
"description" : "",
"sourceURL" : "",
"statusCode" : 1,
"error" : ""
}
} ],
"images" : [ {
"title" : "",
"imageUrl" : "",
"imageWidth" : 1,
"imageHeight" : 1,
"url" : "",
"position" : 1
} ],
"news" : [ {
"title" : "",
"snippet" : "",
"url" : "",
"date" : "",
"imageUrl" : "",
"position" : 1,
"markdown" : "",
"html" : "",
"rawHtml" : "",
"links" : [ "" ],
"screenshot" : "",
"metadata" : {
"title" : "",
"description" : "",
"sourceURL" : "",
"statusCode" : 1,
"error" : ""
}
} ]
},
"warning" : "",
"id" : "",
"creditsUsed" : 1
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Form
URL: /reference/components/form_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/form_v1.mdx
Component for handling form submissions and requests.
Categories: Helpers
Type: form/v1
## Triggers [#triggers]
### New Form Request [#new-form-request]
Name: newFormRequest
`Triggers when a new form request is received.`
Type: STATIC\_WEBHOOK
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----------------------: | :-----------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :------: |
| formTitle | Form Title | STRING | The title for your form. Displayed as the main page title (h1). | false |
| formDescription | Form Description | STRING | A subtitle shown under the form title. Use | |
| or \ for line breaks. | false | | | |
| buttonLabel | Button Label | STRING | Label for the submit button. | false |
| ignoreBots | Ignore Bots | BOOLEAN Options true , false | Ignore requests from bots and link previewers. | false |
| useWorkflowTimezone | Use Workflow Timezone | BOOLEAN Options true , false | Use the workflow timezone for the submittedAt timestamp instead of UTC. | false |
| appendAttribution | Append Attribution | BOOLEAN Options true , false | Show an attribution footer on the public form. | false |
| customFormStyling | Custom Form Styling (CSS) | STRING | Override default form styles with custom CSS. | false |
| inputs | Form Inputs | ARRAY Items \[\{INTEGER(fieldType), STRING(fieldLabel), STRING(fieldName), STRING(fieldDescription), STRING(placeholder), STRING(defaultValue), STRING(defaultValue), \[\{STRING(label), STRING(value)}]\(fieldOptions), BOOLEAN(multipleChoice), INTEGER(minSelection), INTEGER(maxSelection), BOOLEAN(required)}] | Define the form input fields | true |
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Form Request",
"name" : "newFormRequest",
"parameters" : {
"formTitle" : "",
"formDescription" : "",
"buttonLabel" : "",
"ignoreBots" : false,
"useWorkflowTimezone" : false,
"appendAttribution" : false,
"customFormStyling" : "",
"inputs" : [ {
"fieldType" : 1,
"fieldLabel" : "",
"fieldName" : "",
"fieldDescription" : "",
"placeholder" : "",
"defaultValue" : "",
"fieldOptions" : [ {
"label" : "",
"value" : ""
} ],
"multipleChoice" : false,
"minSelection" : 1,
"maxSelection" : 1,
"required" : false
} ]
},
"type" : "form/v1/newFormRequest"
}
```
# ByteChef Reference: Freshdesk
URL: /reference/components/freshdesk_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/freshdesk_v1.mdx
Freshdesk is a cloud-based customer support software that helps businesses manage customer queries and tickets efficiently.
Categories: Customer Support
Type: freshdesk/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :----: | :---------------------------------------------------------------------------: | :------: |
| domain | Domain | STRING | Your helpdesk domain name, e.g. https\://\{your\_domain}.freshdesk.com/api/v2 | true |
| username | API key | STRING | | true |
## Connection Setup [#connection-setup]
### Find API Key [#find-api-key]
1. Navigate to your [Freshworks](https://www.freshworks.com/) dashboard.
2. Click on **Login**.
3. Login to your account.
4. Click on **Continue**.
5. Choose your Freshdesk account.
6. Click on your Profile icon.
7. Click on **Profile settings**.
8. Click on **View API Key** and verify you are not a robot.
9. Here you can see your **API Key**.
10. Done 🚀.
## Actions [#actions]
### Create Company [#create-company]
Name: createCompany
`Creates a new compan.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----: | :----------------------------------: | :------: |
| name | Name | STRING | Name of the company. | true |
| description | Description | STRING | Description of the company. | false |
| note | Note | STRING | Any specific note about the company. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Company",
"name" : "createCompany",
"parameters" : {
"name" : "",
"description" : "",
"note" : ""
},
"type" : "freshdesk/v1/createCompany"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------: | :-------------------------------------------------------------: | :------------------------------------------: |
| id | INTEGER | ID of the company. |
| name | STRING | Name of the company. |
| description | STRING | Description of the company. |
| domains | ARRAY Items \[STRING] | List of domains associated with the company. |
| note | STRING | Note about the company. |
| created\_at | STRING | Timestamp when the company was created. |
| updated\_at | STRING | Timestamp when the company was last updated. |
| health\_score | STRING | Health score of the company. |
| account\_tier | STRING | Account tier of the company. |
| renewal\_date | STRING | Renewal date of the company subscription. |
| industry | STRING | Industry of the company. |
#### Output Example [#output-example]
```json
{
"id" : 1,
"name" : "",
"description" : "",
"domains" : [ "" ],
"note" : "",
"created_at" : "",
"updated_at" : "",
"health_score" : "",
"account_tier" : "",
"renewal_date" : "",
"industry" : ""
}
```
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----: | :-----------------------------------: | :------: |
| name | Name | STRING | Full name of the contact | true |
| email | Email | STRING | Primary email address of the contact. | true |
| phone | Work Phone | STRING | Telephone number of the contact. | false |
| mobile | Mobile | STRING | Mobile number of the contact. | false |
| description | Description | STRING | A small description of the contact. | false |
| job\_title | Job Title | STRING | Job title of the contact. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"name" : "",
"email" : "",
"phone" : "",
"mobile" : "",
"description" : "",
"job_title" : ""
},
"type" : "freshdesk/v1/createContact"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------------: | :-----------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| active | BOOLEAN Options true , false | Whether the contact is active. |
| address | STRING | Address of the contact. |
| company\_id | INTEGER | ID of the primary company of the contact. |
| view\_all\_tickets | BOOLEAN Options true , false | Whether the contact can view all tickets. |
| deleted | BOOLEAN Options true , false | Whether the contact is deleted. |
| description | STRING | Description of the contact. |
| email | STRING | Email address of the contact. |
| id | INTEGER | ID of the contact. |
| contact\_type | STRING | Type of the contact. |
| job\_title | STRING | Job title of the contact. |
| language | STRING | Language of the contact. |
| mobile | STRING | Mobile number of the contact. |
| name | STRING | Name of the contact. |
| phone | STRING | Phone number of the contact. |
| time\_zone | STRING | Time zone of the contact. |
| twitter\_id | STRING | Twitter ID of the contact. |
| social\_handler | ARRAY Items \[STRING] | List of social handlers of the contact. |
| other\_emails | ARRAY Items \[STRING] | List of additional email addresses of the contact. |
| other\_companies | ARRAY Items \[\{INTEGER(company\_id), BOOLEAN(view\_all\_tickets)}] | List of other companies associated with the contact. |
| created\_at | STRING | Timestamp when the contact was created. |
| updated\_at | STRING | Timestamp when the contact was last updated. |
| tags | ARRAY Items \[STRING] | List of tags associated with the contact. |
| avatar | STRING | Avatar of the contact. |
#### Output Example [#output-example-1]
```json
{
"active" : false,
"address" : "",
"company_id" : 1,
"view_all_tickets" : false,
"deleted" : false,
"description" : "",
"email" : "",
"id" : 1,
"contact_type" : "",
"job_title" : "",
"language" : "",
"mobile" : "",
"name" : "",
"phone" : "",
"time_zone" : "",
"twitter_id" : "",
"social_handler" : [ "" ],
"other_emails" : [ "" ],
"other_companies" : [ {
"company_id" : 1,
"view_all_tickets" : false
} ],
"created_at" : "",
"updated_at" : "",
"tags" : [ "" ],
"avatar" : ""
}
```
### Create Ticket [#create-ticket]
Name: createTicket
`Creates a new ticket.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------: | :------: |
| subject | Subject | STRING | Subject of the ticket. | true |
| email | Email | STRING | Email address of the requester. If no contact exists with this email address in Freshdesk, it will be added as a new contact. | true |
| description | Description | STRING | HTML content of the ticket. | true |
| priority | Priority | INTEGER Options 1 , 2 , 3 , 4 | Priority of the ticket. | false |
| status | Status | INTEGER Options 2 , 3 , 4 , 5 | Status of the ticket. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Ticket",
"name" : "createTicket",
"parameters" : {
"subject" : "",
"email" : "",
"description" : "",
"priority" : 1,
"status" : 1
},
"type" : "freshdesk/v1/createTicket"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: |
| cc\_emails | ARRAY Items \[STRING] | List of email addresses added in the cc field of the ticket. |
| fwd\_emails | ARRAY Items \[STRING] | List of email addresses added while forwarding a ticket. |
| reply\_cc\_emails | ARRAY Items \[STRING] | List of email addresses added while replying to a ticket. |
| email\_config\_id | INTEGER | ID of the email config used for the ticket. |
| group\_id | INTEGER | ID of the group the ticket is assigned to. |
| priority | INTEGER | Priority of the ticket. |
| requester\_id | INTEGER | ID of the requester of the ticket. |
| responder\_id | INTEGER | ID of the agent the ticket is assigned to. |
| source | INTEGER | Channel through which the ticket was created. |
| status | INTEGER | Status of the ticket. |
| subject | STRING | Subject of the ticket. |
| company\_id | INTEGER | ID of the company the ticket belongs to. |
| id | INTEGER | ID of the ticket. |
| type | STRING | Type of the ticket. |
| to\_emails | ARRAY Items \[STRING] | List of email addresses the ticket was sent to. |
| product\_id | INTEGER | ID of the product the ticket belongs to. |
| fr\_escalated | BOOLEAN Options true , false | Whether the ticket has been escalated as the result of first response time being breached. |
| spam | BOOLEAN Options true , false | Whether the ticket has been marked as spam. |
| urgent | BOOLEAN Options true , false | Whether the ticket is marked as urgent. |
| is\_escalated | BOOLEAN Options true , false | Whether the ticket has been escalated. |
| created\_at | STRING | Timestamp when the ticket was created. |
| updated\_at | STRING | Timestamp when the ticket was last updated. |
| due\_by | STRING | Timestamp when the ticket is due to be resolved. |
| fr\_due\_by | STRING | Timestamp when the first response is due. |
| description\_text | STRING | Plain text version of the ticket description. |
| description | STRING | HTML content of the ticket description. |
| tags | ARRAY Items \[STRING] | List of tags associated with the ticket. |
| attachments | ARRAY Items \[\{}] | List of attachments associated with the ticket. |
#### Output Example [#output-example-2]
```json
{
"cc_emails" : [ "" ],
"fwd_emails" : [ "" ],
"reply_cc_emails" : [ "" ],
"email_config_id" : 1,
"group_id" : 1,
"priority" : 1,
"requester_id" : 1,
"responder_id" : 1,
"source" : 1,
"status" : 1,
"subject" : "",
"company_id" : 1,
"id" : 1,
"type" : "",
"to_emails" : [ "" ],
"product_id" : 1,
"fr_escalated" : false,
"spam" : false,
"urgent" : false,
"is_escalated" : false,
"created_at" : "",
"updated_at" : "",
"due_by" : "",
"fr_due_by" : "",
"description_text" : "",
"description" : "",
"tags" : [ "" ],
"attachments" : [ { } ]
}
```
### Update Ticket [#update-ticket]
Name: updateTicket
`Updates a ticket.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------: | :------: |
| ticketId | Ticket Id | STRING | | false |
| subject | Subject | STRING | Subject of the ticket. | false |
| email | Email | STRING | Email address of the requester. If no contact exists with this email address in Freshdesk, it will be added as a new contact. | false |
| description | Description | STRING | HTML content of the ticket. | false |
| priority | Priority | INTEGER Options 1 , 2 , 3 , 4 | Priority of the ticket. | false |
| status | Status | INTEGER Options 2 , 3 , 4 , 5 | Status of the ticket. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Ticket",
"name" : "updateTicket",
"parameters" : {
"ticketId" : "",
"subject" : "",
"email" : "",
"description" : "",
"priority" : 1,
"status" : 1
},
"type" : "freshdesk/v1/updateTicket"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :---------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: |
| cc\_emails | ARRAY Items \[STRING] | List of email addresses added in the cc field of the ticket. |
| fwd\_emails | ARRAY Items \[STRING] | List of email addresses added while forwarding a ticket. |
| reply\_cc\_emails | ARRAY Items \[STRING] | List of email addresses added while replying to a ticket. |
| email\_config\_id | INTEGER | ID of the email config used for the ticket. |
| group\_id | INTEGER | ID of the group the ticket is assigned to. |
| priority | INTEGER | Priority of the ticket. |
| requester\_id | INTEGER | ID of the requester of the ticket. |
| responder\_id | INTEGER | ID of the agent the ticket is assigned to. |
| source | INTEGER | Channel through which the ticket was created. |
| status | INTEGER | Status of the ticket. |
| subject | STRING | Subject of the ticket. |
| company\_id | INTEGER | ID of the company the ticket belongs to. |
| id | INTEGER | ID of the ticket. |
| type | STRING | Type of the ticket. |
| to\_emails | ARRAY Items \[STRING] | List of email addresses the ticket was sent to. |
| product\_id | INTEGER | ID of the product the ticket belongs to. |
| fr\_escalated | BOOLEAN Options true , false | Whether the ticket has been escalated as the result of first response time being breached. |
| spam | BOOLEAN Options true , false | Whether the ticket has been marked as spam. |
| urgent | BOOLEAN Options true , false | Whether the ticket is marked as urgent. |
| is\_escalated | BOOLEAN Options true , false | Whether the ticket has been escalated. |
| created\_at | STRING | Timestamp when the ticket was created. |
| updated\_at | STRING | Timestamp when the ticket was last updated. |
| due\_by | STRING | Timestamp when the ticket is due to be resolved. |
| fr\_due\_by | STRING | Timestamp when the first response is due. |
| description\_text | STRING | Plain text version of the ticket description. |
| description | STRING | HTML content of the ticket description. |
| tags | ARRAY Items \[STRING] | List of tags associated with the ticket. |
| attachments | ARRAY Items \[\{}] | List of attachments associated with the ticket. |
#### Output Example [#output-example-3]
```json
{
"cc_emails" : [ "" ],
"fwd_emails" : [ "" ],
"reply_cc_emails" : [ "" ],
"email_config_id" : 1,
"group_id" : 1,
"priority" : 1,
"requester_id" : 1,
"responder_id" : 1,
"source" : 1,
"status" : 1,
"subject" : "",
"company_id" : 1,
"id" : 1,
"type" : "",
"to_emails" : [ "" ],
"product_id" : 1,
"fr_escalated" : false,
"spam" : false,
"urgent" : false,
"is_escalated" : false,
"created_at" : "",
"updated_at" : "",
"due_by" : "",
"fr_due_by" : "",
"description_text" : "",
"description" : "",
"tags" : [ "" ],
"attachments" : [ { } ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Freshsales
URL: /reference/components/freshsales_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/freshsales_v1.mdx
Freshsales is a customer relationship management (CRM) software designed to help businesses streamline sales processes and manage customer interactions effectively.
Categories: CRM
Type: freshsales/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :----------: | :----: | :---------------------------------------------------------------------: | :------: |
| username | Bundle alias | STRING | Your Freshsales bundle alias (e.g. https\://\.myfreshworks.com). | true |
| key | API Key | STRING | The API Key supplied by Freshsales. | true |
## Connection Setup [#connection-setup]
1. Login in to your Freshsales account and click your profile picture in the top right corner.
2. Select **Personal Settings**.
3. Go to the **API** tab.
4. Copy your **API Key**.
## Actions [#actions]
### Create Account [#create-account]
Name: createAccount
`Creates a new account.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :----: | :--------------------------: | :------: |
| name | Name | STRING | Name of the account. | true |
| website | Website | STRING | Website of the account. | false |
| phone | Phone | STRING | Phone number of the account. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Account",
"name" : "createAccount",
"parameters" : {
"name" : "",
"website" : "",
"phone" : ""
},
"type" : "freshsales/v1/createAccount"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------------------------------: | :---------: |
| sales\_account | OBJECT Properties \{NUMBER(id), STRING(name), STRING(website), STRING(phone)} | |
#### Output Example [#output-example]
```json
{
"sales_account" : {
"id" : 0.0,
"name" : "",
"website" : "",
"phone" : ""
}
}
```
### Create Contact [#create-contact]
Name: createContact
`Add new contact in Freshsales CRM.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------------: | :-----------: | :----: | :-------------------------------------------------------: | :------: |
| first\_name | First Name | STRING | First name of the contact. | false |
| last\_name | Last Name | STRING | Last name of the contact. | false |
| job\_title | Job Title | STRING | Designation of the contact in the account they belong to. | false |
| email | Email | STRING | Primary email address of the contact. | true |
| work\_number | Work Number | STRING | Work phone number of the contact. | false |
| mobile\_number | Mobile Number | STRING | Mobile phone number of the contact. | false |
| address | Address | STRING | Address of the contact. | false |
| city | City | STRING | City that the contact belongs to. | false |
| state | State | STRING | State that the contact belongs to. | false |
| zipcode | Zip Code | STRING | Zipcode of the region that the contact belongs to. | false |
| country | Country | STRING | Country that the contact belongs to. | false |
| medium | Medium | STRING | The medium that led your contact to your website/web ap.p | false |
| facebook | Facebook | STRING | Facebook username of the contact. | false |
| twitter | Twitter | STRING | Twitter username of the contact. | false |
| linkedin | LinkedIn | STRING | LinkedIn account of the contact. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"first_name" : "",
"last_name" : "",
"job_title" : "",
"email" : "",
"work_number" : "",
"mobile_number" : "",
"address" : "",
"city" : "",
"state" : "",
"zipcode" : "",
"country" : "",
"medium" : "",
"facebook" : "",
"twitter" : "",
"linkedin" : ""
},
"type" : "freshsales/v1/createContact"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| contact | OBJECT Properties \{NUMBER(id), STRING(first\_name), STRING(last\_name), STRING(job\_title), STRING(city), STRING(state), STRING(zipcode), STRING(country), STRING(email), STRING(work\_number), STRING(mobile\_number), STRING(address), STRING(medium), STRING(facebook), STRING(twitter), STRING(linkedin)} | |
#### Output Example [#output-example-1]
```json
{
"contact" : {
"id" : 0.0,
"first_name" : "",
"last_name" : "",
"job_title" : "",
"city" : "",
"state" : "",
"zipcode" : "",
"country" : "",
"email" : "",
"work_number" : "",
"mobile_number" : "",
"address" : "",
"medium" : "",
"facebook" : "",
"twitter" : "",
"linkedin" : ""
}
}
```
### Create Lead [#create-lead]
Name: createLead
`Creates a new lead.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :----: | :--------------------------------: | :------: |
| first\_name | First Name | STRING | First name of the lead. | false |
| last\_name | Last Name | STRING | Last name of the lead. | false |
| email | Email | STRING | Primary email address of the lead. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Lead",
"name" : "createLead",
"parameters" : {
"first_name" : "",
"last_name" : "",
"email" : ""
},
"type" : "freshsales/v1/createLead"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| lead | OBJECT Properties \{NUMBER(id), STRING(email), STRING(first\_name), STRING(last\_name)} | |
#### Output Example [#output-example-2]
```json
{
"lead" : {
"id" : 0.0,
"email" : "",
"first_name" : "",
"last_name" : ""
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: FTP
URL: /reference/components/ftp_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/ftp_v1.mdx
FTP (File Transfer Protocol) is a standard network protocol for transferring files between a client and a server. It allows uploading, downloading, and managing files on remote servers.
Categories: File Storage, Helpers
Type: ftp/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| host | Host | STRING | The hostname or IP address of the FTP server. | true |
| port | Port | INTEGER | The port number of the server. Defaults to 21 for FTP and 22 for SFTP if not specified. | false |
| username | Username | STRING | The username for authentication. | true |
| password | Password | STRING | The password for authentication. | true |
| passiveMode | Passive Mode | BOOLEAN Options true , false | Use passive mode for data connections. Recommended when the server is behind a firewall. Only applicable for FTP connections. | false |
| sftp | Use SFTP | BOOLEAN Options true , false | Use SFTP (SSH File Transfer Protocol) instead of FTP. SFTP provides encrypted file transfer over SSH. When enabled, the port defaults to 22 instead of 21. | false |
## Actions [#actions]
### Upload File [#upload-file]
Name: uploadFile
`Uploads a file to the FTP/SFTP server.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------: | :------: |
| fileEntry | File | FILE\_ENTRY | The file to upload. | true |
| path | Remote Path | STRING | The path on the server where the file should be uploaded (including filename). | true |
| createDirectories | Create Directories | BOOLEAN Options true , false | Create the directory structure on the server if it does not exist. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Upload File",
"name" : "uploadFile",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"path" : "",
"createDirectories" : false
},
"type" : "ftp/v1/uploadFile"
}
```
#### Output [#output]
***Sample Output:***
`{remotePath=/uploads/document.pdf, success=true}`
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------: |
| remotePath | STRING | The path where the file was uploaded. |
| success | BOOLEAN Options true , false | Whether the upload was successful. |
#### Output Example [#output-example]
```json
{
"remotePath" : "",
"success" : false
}
```
### Download File [#download-file]
Name: downloadFile
`Downloads a file from the FTP/SFTP server.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :---------: | :----: | :---------------------------------------------: | :------: |
| path | Remote Path | STRING | The path of the file on the server to download. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Download File",
"name" : "downloadFile",
"parameters" : {
"path" : ""
},
"type" : "ftp/v1/downloadFile"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-4]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### List Directory [#list-directory]
Name: list
`Lists the contents of a directory on the FTP/SFTP server.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------: | :------: |
| path | Path | STRING | The path of the directory to list. | true |
| recursive | Recursive | BOOLEAN Options true , false | List files recursively in subdirectories. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "List Directory",
"name" : "list",
"parameters" : {
"path" : "",
"recursive" : false
},
"type" : "ftp/v1/list"
}
```
#### Output [#output-2]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--------: | :-----: | :---------------------------------: |
| name | STRING | Name of the file or directory. |
| path | STRING | Full path to the file or directory. |
| type | STRING | Type: 'file' or 'directory'. |
| size | INTEGER | Size in bytes (for files). |
| modifiedAt | STRING | Last modified timestamp. |
#### Output Example [#output-example-2]
```json
[ {
"name" : "",
"path" : "",
"type" : "",
"size" : 1,
"modifiedAt" : ""
} ]
```
### Delete [#delete]
Name: delete
`Deletes a file or directory from the FTP/SFTP server.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------: | :------: |
| path | Path | STRING | The path of the file or directory to delete. | true |
| recursive | Recursive | BOOLEAN Options true , false | If the path is a directory, delete all contents recursively. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete",
"name" : "delete",
"parameters" : {
"path" : "",
"recursive" : false
},
"type" : "ftp/v1/delete"
}
```
#### Output [#output-3]
***Sample Output:***
`{deletedPath=/uploads/old-file.pdf, success=true}`
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :---------: | :---------------------------------------------------------------------------------------------: | :----------------------------------: |
| deletedPath | STRING | The path that was deleted. |
| success | BOOLEAN Options true , false | Whether the deletion was successful. |
#### Output Example [#output-example-3]
```json
{
"deletedPath" : "",
"success" : false
}
```
### Rename/Move [#renamemove]
Name: rename
`Renames or moves a file or directory on the FTP/SFTP server.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------: | :------: |
| oldPath | Source Path | STRING | The current path of the file or directory. | true |
| newPath | Destination Path | STRING | The new path for the file or directory. | true |
| createDirectories | Create Directories | BOOLEAN Options true , false | Create the destination directory structure if it does not exist. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Rename/Move",
"name" : "rename",
"parameters" : {
"oldPath" : "",
"newPath" : "",
"createDirectories" : false
},
"type" : "ftp/v1/rename"
}
```
#### Output [#output-4]
***Sample Output:***
`{newPath=/archive/new-name.pdf, success=true, oldPath=/uploads/old-name.pdf}`
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :-----------------------------------: |
| oldPath | STRING | The original path. |
| newPath | STRING | The new path. |
| success | BOOLEAN Options true , false | Whether the operation was successful. |
#### Output Example [#output-example-4]
```json
{
"oldPath" : "",
"newPath" : "",
"success" : false
}
```
# ByteChef Reference: Bank Connect
URL: /reference/components/gaurus_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/gaurus_v1.mdx
Bank Connect API specification
Categories:
Type: gaurus/v1
## Connections [#connections]
Version: 1
### Gaurus HmacSHA256 Authorization [#gaurus-hmacsha256-authorization]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----------------: | :----------------------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------: | :------: |
| clientId | Client ID | STRING | Client Id generated at GAURUS | true |
| clientSecret | Client Secret | STRING | The secret key for digital signing | true |
| allowSelfSignedCert | Allow Self-Signed Certificates | BOOLEAN Options true , false | Allow secure connections to servers with self-signed certificates | false |
## Actions [#actions]
### Deletes an external user. [#deletes-an-external-user]
Name: deleteExternalUser
`null`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :-----: | :-----------------------: | :------: |
| externalUserId | External User Id | INTEGER | External user identifier. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Deletes an external user.",
"name" : "deleteExternalUser",
"parameters" : {
"externalUserId" : 1
},
"type" : "gaurus/v1/deleteExternalUser"
}
```
#### Output [#output]
This action does not produce any output.
### Gets accounts for provided client id. [#gets-accounts-for-provided-client-id]
Name: getAccounts
`null`
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Gets accounts for provided client id.",
"name" : "getAccounts",
"type" : "gaurus/v1/getAccounts"
}
```
#### Output [#output-1]
***Sample Output:***
`{code=OK, data=AccountResult[], hasMoreResults=false, message=}`
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| code | STRING Options OK , VALIDATION\_FAILED , DATA\_UNAVAILABLE , CONSENT\_EXPIRED , GENERAL\_ERROR | Represents resulting code in case when the system has handled a request. |
| message | STRING | The error message, present only if the "code" property is not "OK". |
| hasMoreResults | BOOLEAN Options true , false | System limits number of transactions in response. If there are more results related to the request, this flag is set to true. In that case client should initiate a new request with the value of lastTransactionId parameter set to the greatest received transaction identifer plus 1. |
| data | ARRAY Items \[\{}] | List of objects related to the request. |
#### Output Example [#output-example]
```json
{
"code" : "",
"message" : "",
"hasMoreResults" : false,
"data" : [ { } ]
}
```
### Gets transactions for provided IBAN and query parameters. [#gets-transactions-for-provided-iban-and-query-parameters]
Name: getAccountTransactions
`General rules for query parameters: If lastTransactionid is provided without date parameters system will not set default values for date range (only lastTransactionId will be used for data filtering). Max range between dateFrom and dateTo is 7 days. If provided date range is greater, dateFrom is set to the dateTo minus 7 days. If dateFrom and dateTo are not provided: dateFrom is set to the current date minus 7 days dateTo is set to the current date If dateFrom is provided and dateTo is not provided: If dateFrom is set to future date, it is set to the current date. dateTo is set to dateFrom plus 1 day If dateFrom is not provided and dateTo is provided: If dateTo is set to future date, it is set to the current date. dateFrom is set to dateTo minus 1 day `
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------------: | :-----------------: | :-----: | :---------------------------------------------------------------------------------------------------------: | :------: |
| iban | IBAN | STRING | Account IBAN. | true |
| dateFrom | Date From | STRING | Oldest transaction execution date. | false |
| dateTo | Date To | STRING | Newest transaction execution date. | false |
| lastTransactionId | Last Transaction Id | INTEGER | If this parameter is specified, system will return transactions stored after the corresponding transaction. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Gets transactions for provided IBAN and query parameters.",
"name" : "getAccountTransactions",
"parameters" : {
"iban" : "",
"dateFrom" : "",
"dateTo" : "",
"lastTransactionId" : 1
},
"type" : "gaurus/v1/getAccountTransactions"
}
```
#### Output [#output-2]
***Sample Output:***
`{code=OK, data=TransactionResult[], hasMoreResults=true, message=}`
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| code | STRING Options OK , VALIDATION\_FAILED , DATA\_UNAVAILABLE , CONSENT\_EXPIRED , GENERAL\_ERROR | Represents resulting code in case when the system has handled a request. |
| message | STRING | The error message, present only if the "code" property is not "OK". |
| hasMoreResults | BOOLEAN Options true , false | System limits number of transactions in response. If there are more results related to the request, this flag is set to true. In that case client should initiate a new request with the value of lastTransactionId parameter set to the greatest received transaction identifer plus 1. |
| data | ARRAY Items \[\{}] | List of objects related to the request. |
#### Output Example [#output-example-1]
```json
{
"code" : "",
"message" : "",
"hasMoreResults" : false,
"data" : [ { } ]
}
```
### Gets external users for provided client id. [#gets-external-users-for-provided-client-id]
Name: getExternalUsers
`null`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Gets external users for provided client id.",
"name" : "getExternalUsers",
"type" : "gaurus/v1/getExternalUsers"
}
```
#### Output [#output-3]
***Sample Output:***
`{data=[{name=Pero Perić d.o.o., bankEntries=[{ibans=[HR1210010051863000160], bankSlug=erste, consentJobStatus=PENDING}], id=42, oib=1.2345678901E10, mail=pero@example.com}], errors=[]}`
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :----: | :-------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| data | ARRAY Items \[\{}] | List of results (empty if the response is not valid). |
| errors | ARRAY Items \[\{STRING(code), STRING(description)}] | List of errors (empty if the response is valid). |
#### Output Example [#output-example-2]
```json
{
"data" : [ { } ],
"errors" : [ {
"code" : "",
"description" : ""
} ]
}
```
### Creates external users with bank consent jobs. [#creates-external-users-with-bank-consent-jobs]
Name: postExternalUsers
`null`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :-------: | :------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| \_\_items | External Users | ARRAY Items \[\{STRING(name), STRING(oib), STRING(mail), \[\{STRING(bankSlug), \[STRING]\(ibans), STRING(psuIdType)}]\(bankEntries)}] | | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Creates external users with bank consent jobs.",
"name" : "postExternalUsers",
"parameters" : {
"__items" : [ {
"name" : "",
"oib" : "",
"mail" : "",
"bankEntries" : [ {
"bankSlug" : "",
"ibans" : [ "" ],
"psuIdType" : ""
} ]
} ]
},
"type" : "gaurus/v1/postExternalUsers"
}
```
#### Output [#output-4]
***Sample Output:***
`{data=[{existingMails=[existing@example.com], newMails=[new@example.com]}], errors=[]}`
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :----: | :-------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| data | ARRAY Items \[\{}] | List of results (empty if the response is not valid). |
| errors | ARRAY Items \[\{STRING(code), STRING(description)}] | List of errors (empty if the response is valid). |
#### Output Example [#output-example-3]
```json
{
"data" : [ { } ],
"errors" : [ {
"code" : "",
"description" : ""
} ]
}
```
### Updates an external user. [#updates-an-external-user]
Name: putExternalUser
`null`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :-----: | :-----------------------: | :------: |
| externalUserId | External User Id | INTEGER | External user identifier. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Updates an external user.",
"name" : "putExternalUser",
"parameters" : {
"externalUserId" : 1
},
"type" : "gaurus/v1/putExternalUser"
}
```
#### Output [#output-5]
This action does not produce any output.
# ByteChef Reference: Gemini
URL: /reference/components/gemini_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/gemini_v1.mdx
Google Gemini is a multimodal generative AI model. This component supports both Vertex AI and the Gemini Developer API.
Categories: Artificial Intelligence
Type: gemini/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------: | :------: |
| projectId | Project Id | STRING | Google Cloud Platform project ID | true |
| location | Location | STRING Options asia-east1 , asia-east2 , asia-northeast1 , asia-northeast3 , asia-south1 , asia-southeast1 , australia-southeast1 , europe-central2 , europe-north1 , europe-southwest1 , europe-west1 , europe-west2 , europe-west3 , europe-west4 , europe-west6 , europe-west8 , europe-west9 , me-central1 , me-central2 , me-west1 , northamerica-northeast1 , southamerica-east1 , us-central1 , us-east1 , us-east4 , us-east5 , us-south1 , us-west1 , us-west4 | Region | true |
## Actions [#actions]
### Ask Gemini [#ask-gemini]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options gemini-2.0-flash-001 , gemini-2.0-flash-lite-001 , gemini-2.5-flash , gemini-2.5-flash-lite , gemini-2.5-pro , gemini-3.1-flash-lite , gemini-3.1-pro-preview , gemini-3.5-flash | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| n | Candidate Count | INTEGER | The number of generated response messages to return. This value must be between \[1, 8], inclusive. Defaults to 1. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| topK | Top K | INTEGER | Specify the number of token choices the generative uses to generate the next token. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask Gemini",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"n" : 1,
"temperature" : 0.0,
"topP" : 0.0,
"topK" : 1,
"stop" : [ "" ]
},
"type" : "gemini/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: GitHub
URL: /reference/components/github_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/github_v1.mdx
GitHub is a web-based platform for version control and collaboration using Git.
Categories: Developer Tools
Type: github/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client id | STRING | | true |
| clientSecret | Client secret | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to your GitHub account.
2. Click on your profile icon in the top right corner.
3. Select **Settings** from the dropdown menu.
4. In the left sidebar, click on **Developer settings**.
5. In the left sidebar, click on **OAuth Apps**.
6. Click on **New OAuth App**.
7. Fill in the required fields:
* **Application name**: Enter a name for your application (e.g., `Test App`).
* **Homepage URL**: Provide the homepage URL for your application (e.g., `https://www.bytechef.io/`).
* **Authorization callback URL**: Specify the URL where users will be redirected after authorization (e.g., `http://127.0.0.1:5173/callback`).
8. Click **Register application**.
9. Click on **Generate a new client secret**.
10. Copy the **Client ID** and **Client Secret** for later use.
## Actions [#actions]
### Add Assignees to Issue [#add-assignees-to-issue]
Name: addAssigneesToIssue
`Adds assignees to the specified issue.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :--------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| repository | Repository | STRING | | true |
| issue | Issue Number | STRING Depends On repository | The number of the issue to add assignee to. | true |
| assignees | Assignees | ARRAY Items \[STRING] | The list of assignees to add to the issue. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Assignees to Issue",
"name" : "addAssigneesToIssue",
"parameters" : {
"repository" : "",
"issue" : "",
"assignees" : [ "" ]
},
"type" : "github/v1/addAssigneesToIssue"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | The URL linking directly to the issue on GitHub. |
| repository\_url | STRING | The URL of the repository where the issue is located. |
| id | NUMBER | ID of the issue. |
| number | INTEGER | A unique number identifying the issue within its repository. |
| title | STRING | The title or headline of the issue. |
| state | STRING | The current state of the issue, such as open or closed. |
| assignees | ARRAY Items \[\{STRING(login), STRING(id), STRING(html\_url), STRING(type)}] | A list of users assigned to the issue. |
| labels | ARRAY Items \[\{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
| body | STRING | The main content of the issue. |
#### Output Example [#output-example]
```json
{
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
}
```
#### Find repository name [#find-repository-name]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
#### Find issue number [#find-issue-number]
To find the issue number, click [here](/reference/components/github_v1#how-to-find-your-issue-number).
#### Find assignee [#find-assignee]
To find the assignee, click [here](/reference/components/github_v1#how-to-find-your-assignee).
### Add Labels to Issue [#add-labels-to-issue]
Name: addLabelsToIssue
`Adds labels to the specified issue.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :--------------------------------------------------------------------: | :---------------------------------------: | :------: |
| repository | Repository | STRING | | true |
| issue | Issue Number | STRING Depends On repository | The number of the issue to add labels to. | true |
| labels | Labels | ARRAY Items \[STRING] | The list of labels to add to the issue. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Add Labels to Issue",
"name" : "addLabelsToIssue",
"parameters" : {
"repository" : "",
"issue" : "",
"labels" : [ "" ]
},
"type" : "github/v1/addLabelsToIssue"
}
```
#### Output [#output-1]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------: | :----: | :--------------------------------------------------------------: |
| id | STRING | ID of the label |
| name | STRING | Name of the label. |
| description | STRING | Description of the label. |
| color | STRING | The hexadecimal color code for the label, without the leading #. |
#### Output Example [#output-example-1]
```json
[ {
"id" : "",
"name" : "",
"description" : "",
"color" : ""
} ]
```
#### Find repository name [#find-repository-name-1]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
#### Find issue number [#find-issue-number-1]
To find the issue number, click [here](/reference/components/github_v1#how-to-find-your-issue-number).
#### Find labels [#find-labels]
To find the labels, click [here](/reference/components/github_v1#how-to-find-labels).
### Create Comment on Issue [#create-comment-on-issue]
Name: createCommentOnIssue
`Adds a comment to the specified issue.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--------: | :---------------: | :---------------------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | Repository where the issue is located. | true |
| issue | Issue Number | STRING Depends On repository, owner | The number of the issue to comment on. | true |
| body | Comment | STRING | The comment to add to the issue. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Comment on Issue",
"name" : "createCommentOnIssue",
"parameters" : {
"owner" : "",
"repository" : "",
"issue" : "",
"body" : ""
},
"type" : "github/v1/createCommentOnIssue"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | The URL linking directly to the issue on GitHub. |
| repository\_url | STRING | The URL of the repository where the issue is located. |
| id | NUMBER | ID of the issue. |
| number | INTEGER | A unique number identifying the issue within its repository. |
| title | STRING | The title or headline of the issue. |
| state | STRING | The current state of the issue, such as open or closed. |
| assignees | ARRAY Items \[\{STRING(login), STRING(id), STRING(html\_url), STRING(type)}] | A list of users assigned to the issue. |
| labels | ARRAY Items \[\{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
| body | STRING | The main content of the issue. |
#### Output Example [#output-example-2]
```json
{
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
}
```
#### Find user or organization [#find-user-or-organization]
To find the user or organization, click [here](/reference/components/github_v1#how-to-find-user-or-organization).
#### Find repository name [#find-repository-name-2]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
#### Find issue number [#find-issue-number-2]
To find the issue number, click [here](/reference/components/github_v1#how-to-find-your-issue-number).
### Create Fork [#create-fork]
Name: createFork
`Create a fork of Github repository.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---------------: | :-----------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | Repository that will be forked. | true |
| name | Name | STRING | A new name for the fork. | false |
| organization | Organization | STRING | The organization name if forking into an organization. | false |
| defaultBranchOnly | Default Branch Only | BOOLEAN Options true , false | When forking from an existing repository, fork with only the default branch. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Fork",
"name" : "createFork",
"parameters" : {
"owner" : "",
"repository" : "",
"name" : "",
"organization" : "",
"defaultBranchOnly" : false
},
"type" : "github/v1/createFork"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-------------: | :---------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------: |
| id | STRING | The unique identifier of the fork. |
| node\_id | STRING | The node ID of the fork. |
| name | STRING | The name of the forked repository. |
| full\_name | STRING | The full name of the forked repository including owner. |
| owner | OBJECT Properties \{STRING(login), STRING(id), STRING(node\_id), STRING(url)} | Owner information. |
| private | BOOLEAN Options true , false | Indicates if the forked repository is private. |
| html\_url | STRING | HTML URL of the forked repository. |
| url | STRING | API URL of the forked repository. |
| description | STRING | Description of the repository. |
| fork | STRING | Whether this repository is a fork. |
| created\_at | STRING | Creation timestamp. |
| updated\_at | STRING | Last update timestamp. |
| pushed\_at | STRING | Last push timestamp. |
| default\_branch | STRING | Default branch name. |
#### Output Example [#output-example-3]
```json
{
"id" : "",
"node_id" : "",
"name" : "",
"full_name" : "",
"owner" : {
"login" : "",
"id" : "",
"node_id" : "",
"url" : ""
},
"private" : false,
"html_url" : "",
"url" : "",
"description" : "",
"fork" : "",
"created_at" : "",
"updated_at" : "",
"pushed_at" : "",
"default_branch" : ""
}
```
#### Find user or organization [#find-user-or-organization-1]
To find the user or organization, click [here](/reference/components/github_v1#how-to-find-user-or-organization).
#### Find repository name [#find-repository-name-3]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
### Create Issue [#create-issue]
Name: createIssue
`Create Issue in GitHub Repository`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--------: | :---------------: | :----: | :-------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | Repository where new issue will be created. | true |
| title | Title | STRING | Title of the issue. | false |
| body | Description | STRING | The description of the issue. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Create Issue",
"name" : "createIssue",
"parameters" : {
"owner" : "",
"repository" : "",
"title" : "",
"body" : ""
},
"type" : "github/v1/createIssue"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | The URL linking directly to the issue on GitHub. |
| repository\_url | STRING | The URL of the repository where the issue is located. |
| id | NUMBER | ID of the issue. |
| number | INTEGER | A unique number identifying the issue within its repository. |
| title | STRING | The title or headline of the issue. |
| state | STRING | The current state of the issue, such as open or closed. |
| assignees | ARRAY Items \[\{STRING(login), STRING(id), STRING(html\_url), STRING(type)}] | A list of users assigned to the issue. |
| labels | ARRAY Items \[\{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
| body | STRING | The main content of the issue. |
#### Output Example [#output-example-4]
```json
{
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
}
```
#### Find user or organization [#find-user-or-organization-2]
To find the user or organization, click [here](/reference/components/github_v1#how-to-find-user-or-organization).
#### Find repository name [#find-repository-name-4]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
### Create Pull Request [#create-pull-request]
Name: createPullRequest
`Creates a new pull request.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :--------: | :---------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | Repository where new pull request will be created. | true |
| title | Title | STRING | Title of the new pull request. | false |
| body | Body | STRING | The contents of the pull request. | false |
| head | Head | STRING | The name of the branch where your changes are implemented. For cross-repository pull requests in the same network, namespace head with a user like this: username:branch. | true |
| head\_repo | Head Repo | STRING | The name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization. | false |
| base | Base | STRING | The name of the branch you want the changes pulled into. This should be an existing branch on the current repository. You cannot submit a pull request to one repository that requests a merge to a base of another repository. | true |
| issue | Issue | INTEGER | An issue in the repository to convert to a pull request. The issue title, body, and comments will become the title, body, and comments on the new pull request. Required unless title is specified. | false |
| draft | Draft | BOOLEAN Options true , false | Indicates whether the pull request is a draft. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Create Pull Request",
"name" : "createPullRequest",
"parameters" : {
"owner" : "",
"repository" : "",
"title" : "",
"body" : "",
"head" : "",
"head_repo" : "",
"base" : "",
"issue" : 1,
"draft" : false
},
"type" : "github/v1/createPullRequest"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :---------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------: |
| url | STRING | The URL of the created pull request. |
| id | INTEGER | ID of the created pull request. |
| node\_id | STRING | |
| html\_url | STRING | |
| diff\_url | STRING | |
| patch\_url | STRING | |
| issue\_url | STRING | |
| commits\_url | STRING | |
| review\_comment\_url | STRING | |
| comments\_url | STRING | |
| statuses\_url | STRING | |
| number | INTEGER | Number uniquely identifying the pull request within its repository. |
| state | STRING | The state of the pull request. Either open or closed. |
| locked | BOOLEAN Options true , false | |
| title | STRING | The title of the pull request. |
| user | OBJECT Properties \{STRING(login), STRING(id), STRING(html\_url), STRING(type)} | A GitHub user. |
| body | STRING | The contents of the pull request. |
| labels | ARRAY Items \[\{STRING(id), STRING(name), STRING(description)}] | |
| comments | INTEGER | The number of comments on the pull request. |
| review\_comments | INTEGER | The number of comments for review on the pull request. |
| maintainer\_can\_modify | BOOLEAN Options true , false | Indicates whether maintainers can modify the pull request. |
| commits | INTEGER | The number of commits in the pull request. |
| additions | INTEGER | The number of additions in the pull request. |
| deletions | INTEGER | The number of deletions in the pull request. |
| changed\_files | INTEGER | The number of changed files in the pull request. |
#### Output Example [#output-example-5]
```json
{
"url" : "",
"id" : 1,
"node_id" : "",
"html_url" : "",
"diff_url" : "",
"patch_url" : "",
"issue_url" : "",
"commits_url" : "",
"review_comment_url" : "",
"comments_url" : "",
"statuses_url" : "",
"number" : 1,
"state" : "",
"locked" : false,
"title" : "",
"user" : {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
},
"body" : "",
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"comments" : 1,
"review_comments" : 1,
"maintainer_can_modify" : false,
"commits" : 1,
"additions" : 1,
"deletions" : 1,
"changed_files" : 1
}
```
#### Find user or organization [#find-user-or-organization-3]
To find the user or organization, click [here](/reference/components/github_v1#how-to-find-user-or-organization).
#### Find repository name [#find-repository-name-5]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
### Get Issue [#get-issue]
Name: getIssue
`Get information from a specific issue`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :--------: | :---------------: | :---------------------------------------------------------------------------: | :---------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | Repository where the issue is located. | true |
| issue | Issue Number | STRING Depends On repository, owner | The number of the issue you want to get details from. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Get Issue",
"name" : "getIssue",
"parameters" : {
"owner" : "",
"repository" : "",
"issue" : ""
},
"type" : "github/v1/getIssue"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | The URL linking directly to the issue on GitHub. |
| repository\_url | STRING | The URL of the repository where the issue is located. |
| id | NUMBER | ID of the issue. |
| number | INTEGER | A unique number identifying the issue within its repository. |
| title | STRING | The title or headline of the issue. |
| state | STRING | The current state of the issue, such as open or closed. |
| assignees | ARRAY Items \[\{STRING(login), STRING(id), STRING(html\_url), STRING(type)}] | A list of users assigned to the issue. |
| labels | ARRAY Items \[\{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
| body | STRING | The main content of the issue. |
#### Output Example [#output-example-6]
```json
{
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
}
```
#### Find user or organization [#find-user-or-organization-4]
To find the user or organization, click [here](/reference/components/github_v1#how-to-find-user-or-organization).
#### Find repository name [#find-repository-name-6]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
#### Find issue number [#find-issue-number-3]
To find the issue number, click [here](/reference/components/github_v1#how-to-find-your-issue-number).
### Get Repository Content [#get-repository-content]
Name: getRepositoryContent
`Gets the contents of a file or directory in a repository. If the content is a directory, the response will be each item in the directory and if the content is a file, the response will be file as a string.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :--------: | :---------------: | :----: | :-------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | Repository where the content is located. | true |
| path | Path | STRING | Path to the file or the directory. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Get Repository Content",
"name" : "getRepositoryContent",
"parameters" : {
"owner" : "",
"repository" : "",
"path" : ""
},
"type" : "github/v1/getRepositoryContent"
}
```
#### Output [#output-7]
Type: STRING
#### Find user or organization [#find-user-or-organization-5]
To find the user or organization, click [here](/reference/components/github_v1#how-to-find-user-or-organization).
#### Find repository name [#find-repository-name-7]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
#### Find path [#find-path]
To find the path, click [here](/reference/components/github_v1#how-to-find-file-path).
### List Issues [#list-issues]
Name: listIssues
`Retrieve issues assigned to the authenticated user across all accessible repositories.`
#### Properties [#properties-16]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------: | :------: |
| filter | Filter | STRING Options assigned , created , mentioned , subscribed , repos , all | Specifies the types of issues to return. | true |
| state | State | STRING Options open , closed , all | Indicates the state of the issues to return. | true |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "List Issues",
"name" : "listIssues",
"parameters" : {
"filter" : "",
"state" : ""
},
"type" : "github/v1/listIssues"
}
```
#### Output [#output-8]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-17]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | The URL linking directly to the issue on GitHub. |
| repository\_url | STRING | The URL of the repository where the issue is located. |
| id | NUMBER | ID of the issue. |
| number | INTEGER | A unique number identifying the issue within its repository. |
| title | STRING | The title or headline of the issue. |
| state | STRING | The current state of the issue, such as open or closed. |
| assignees | ARRAY Items \[\{STRING(login), STRING(id), STRING(html\_url), STRING(type)}] | A list of users assigned to the issue. |
| labels | ARRAY Items \[\{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
| body | STRING | The main content of the issue. |
#### Output Example [#output-example-7]
```json
[ {
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
} ]
```
### List Repository Issues [#list-repository-issues]
Name: listRepositoryIssues
`Lists issues in a repository. Only open issues will be listed.`
#### Properties [#properties-18]
| Name | Label | Type | Description | Required |
| :--------: | :---------------: | :----: | :-------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | The name of the repository | true |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "List Repository Issues",
"name" : "listRepositoryIssues",
"parameters" : {
"owner" : "",
"repository" : ""
},
"type" : "github/v1/listRepositoryIssues"
}
```
#### Output [#output-9]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-19]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | The URL linking directly to the issue on GitHub. |
| repository\_url | STRING | The URL of the repository where the issue is located. |
| id | NUMBER | ID of the issue. |
| number | INTEGER | A unique number identifying the issue within its repository. |
| title | STRING | The title or headline of the issue. |
| state | STRING | The current state of the issue, such as open or closed. |
| assignees | ARRAY Items \[\{STRING(login), STRING(id), STRING(html\_url), STRING(type)}] | A list of users assigned to the issue. |
| labels | ARRAY Items \[\{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
| body | STRING | The main content of the issue. |
#### Output Example [#output-example-8]
```json
[ {
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
} ]
```
#### Find user or organization [#find-user-or-organization-6]
To find the user or organization, click [here](/reference/components/github_v1#how-to-find-user-or-organization).
#### Find repository name [#find-repository-name-8]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
### Search Code [#search-code]
Name: searchCode
`Searches the code in repository and returns up to 100 results per page.`
#### Properties [#properties-20]
| Name | Label | Type | Description | Required |
| :--------: | :---------------: | :-------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | The repository in which to search for matching code. | true |
| query | Query | STRING | Query of the code in the repository. | true |
| extension | Extension | STRING | Matches code files with a certain file extension. | false |
| filename | Filename | STRING | Matches code files with a certain filename. | false |
| path | Path | STRING | Searches for source code that appears at a specific location in a repository. | false |
| in | In | STRING Options file , path , file,path | Restricts your search to the contents of the source code file, the file path, or both. | false |
| page | Page | INTEGER | The page number of the results to fetch. | false |
| per\_page | Per page | INTEGER | The number of results per page (max 100). | false |
#### Example JSON Structure [#example-json-structure-10]
```json
{
"label" : "Search Code",
"name" : "searchCode",
"parameters" : {
"owner" : "",
"repository" : "",
"query" : "",
"extension" : "",
"filename" : "",
"path" : "",
"in" : "",
"page" : 1,
"per_page" : 1
},
"type" : "github/v1/searchCode"
}
```
#### Output [#output-10]
Type: OBJECT
#### Properties [#properties-21]
| Name | Type | Description |
| :-----------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------: |
| total\_count | INTEGER | Total number of matching results. |
| incomplete\_results | BOOLEAN Options true , false | Whether the results are incomplete. |
| items | ARRAY Items \[\{STRING(name), STRING(path), STRING(sha), STRING(url), STRING(git\_url), STRING(html\_url), NUMBER(score), \{INTEGER(id), STRING(name), STRING(full\_name), STRING(html\_url), STRING(url)}(repository)}] | List of code search results. |
#### Output Example [#output-example-9]
```json
{
"total_count" : 1,
"incomplete_results" : false,
"items" : [ {
"name" : "",
"path" : "",
"sha" : "",
"url" : "",
"git_url" : "",
"html_url" : "",
"score" : 0.0,
"repository" : {
"id" : 1,
"name" : "",
"full_name" : "",
"html_url" : "",
"url" : ""
}
} ]
}
```
#### Find user or organization [#find-user-or-organization-7]
To find the user or organization, click [here](/reference/components/github_v1#how-to-find-user-or-organization).
#### Find repository name [#find-repository-name-9]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
#### Find path [#find-path-1]
To find the path, click [here](/reference/components/github_v1#how-to-find-file-path).
### Star Repository [#star-repository]
Name: starRepository
`Stars a repository for the authenticated user.`
#### Properties [#properties-22]
| Name | Label | Type | Description | Required |
| :--------: | :---------------: | :----: | :----------------------------------------------------------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | The name of the repository including owner without the .git extension. The name is not case sensitive. | true |
#### Example JSON Structure [#example-json-structure-11]
```json
{
"label" : "Star Repository",
"name" : "starRepository",
"parameters" : {
"owner" : "",
"repository" : ""
},
"type" : "github/v1/starRepository"
}
```
#### Output [#output-11]
This action does not produce any output.
#### Find user or organization [#find-user-or-organization-8]
To find the user or organization, click [here](/reference/components/github_v1#how-to-find-user-or-organization).
#### Find repository name [#find-repository-name-10]
To find the repository name, click [here](/reference/components/github_v1#how-to-find-your-repository-name).
### Update Issue [#update-issue]
Name: updateIssue
`Update the details of an existing issue within a specified repository.`
#### Properties [#properties-23]
| Name | Label | Type | Description | Required |
| :--------: | :---------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------: | :------: |
| owner | User/Organization | STRING | The owner of the repository (user or organization). | true |
| repository | Repository | STRING | The repository where issue is located. | true |
| issue | Issue Number | STRING Depends On repository, owner | The number of the issue you want to update. | true |
| title | Title | STRING | The new title of the issue. | false |
| body | Body | STRING | The updated description of the issue. | false |
| state | State | STRING Options open , closed | The new state of the issue (open/closed). | false |
| milestone | Milestone | STRING | The number of the milestone to associate this issue with or use null to remove the current milestone. | false |
| labels | Labels | ARRAY Items \[STRING] | A list of labels to associate with this issue. | false |
| assignees | Assignees | ARRAY Items \[STRING] | A list of usernames to assign this issue. | false |
#### Example JSON Structure [#example-json-structure-12]
```json
{
"label" : "Update Issue",
"name" : "updateIssue",
"parameters" : {
"owner" : "",
"repository" : "",
"issue" : "",
"title" : "",
"body" : "",
"state" : "",
"milestone" : "",
"labels" : [ "" ],
"assignees" : [ "" ]
},
"type" : "github/v1/updateIssue"
}
```
#### Output [#output-12]
Type: OBJECT
#### Properties [#properties-24]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | The URL linking directly to the issue on GitHub. |
| repository\_url | STRING | The URL of the repository where the issue is located. |
| id | NUMBER | ID of the issue. |
| number | INTEGER | A unique number identifying the issue within its repository. |
| title | STRING | The title or headline of the issue. |
| state | STRING | The current state of the issue, such as open or closed. |
| assignees | ARRAY Items \[\{STRING(login), STRING(id), STRING(html\_url), STRING(type)}] | A list of users assigned to the issue. |
| labels | ARRAY Items \[\{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
| body | STRING | The main content of the issue. |
#### Output Example [#output-example-10]
```json
{
"url" : "",
"repository_url" : "",
"id" : 0.0,
"number" : 1,
"title" : "",
"state" : "",
"assignees" : [ {
"login" : "",
"id" : "",
"html_url" : "",
"type" : ""
} ],
"labels" : [ {
"id" : "",
"name" : "",
"description" : ""
} ],
"body" : ""
}
```
#### Find milestone number [#find-milestone-number]
To find the milestone number, click [here](/reference/components/github_v1#how-to-find-your-milestone-number).
## Triggers [#triggers]
### Events Trigger [#events-trigger]
Name: eventsTrigger
`Triggers on specified events.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-25]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| repository | Repository | STRING | | true |
| events | Events | ARRAY Items \[STRING] | Determines what events the hook is triggered for. | true |
#### Output [#output-13]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "Events Trigger",
"name" : "eventsTrigger",
"parameters" : {
"repository" : "",
"events" : [ "" ]
},
"type" : "github/v1/eventsTrigger"
}
```
### New Issue [#new-issue]
Name: newIssue
`Triggers when a new issue is created.`
Type: POLLING
#### Properties [#properties-26]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :----: | :---------: | :------: |
| repository | Repository | STRING | | true |
#### Output [#output-14]
Type: OBJECT
#### Properties [#properties-27]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | The URL linking directly to the issue on GitHub. |
| repository\_url | STRING | The URL of the repository where the issue is located. |
| id | NUMBER | ID of the issue. |
| number | INTEGER | A unique number identifying the issue within its repository. |
| title | STRING | The title or headline of the issue. |
| state | STRING | The current state of the issue, such as open or closed. |
| assignees | ARRAY Items \[\{STRING(login), STRING(id), STRING(html\_url), STRING(type)}] | A list of users assigned to the issue. |
| labels | ARRAY Items \[\{STRING(id), STRING(name), STRING(description)}] | A collection of labels associated with the issue. |
| body | STRING | The main content of the issue. |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Issue",
"name" : "newIssue",
"parameters" : {
"repository" : ""
},
"type" : "github/v1/newIssue"
}
```
### New Pull Request [#new-pull-request]
Name: newPullRequest
`Triggers when a new pull request is created.`
Type: POLLING
#### Properties [#properties-28]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :----: | :---------: | :------: |
| repository | Repository | STRING | | true |
#### Output [#output-15]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-2]
```json
{
"label" : "New Pull Request",
"name" : "newPullRequest",
"parameters" : {
"repository" : ""
},
"type" : "github/v1/newPullRequest"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find your repository name [#how-to-find-your-repository-name]
1. Go to your repository on GitHub.
2. Look at the URL in your browser. It will look similar to:
[https://github.com/owner/repository](https://github.com/owner/repository)
* **owner** → GitHub username or organization name
* **repository** → repository name
### How to find your issue number [#how-to-find-your-issue-number]
1. Go to the **Issues** tab of your repository.
2. Click on the issue you want.
3. Look at the URL in your browser. It will look similar to:
[https://github.com/owner/repository/issues/45](https://github.com/owner/repository/issues/45)
The number at the end of the URL (45 in this example) is your issue number.
## How to find your assignee [#how-to-find-your-assignee]
1. Open the issue.
2. On the right sidebar, locate the **Assignees** section.
3. The listed GitHub username(s) are the assignee(s).
## How to find labels [#how-to-find-labels]
1. Open the issue.
2. On the right sidebar, locate the **Labels** section.
3. The labels listed there are the labels assigned to the issue.
* You can click **Labels** to view all available labels in the repository.
* Each label may have a color and a name (e.g., `bug`, `enhancement`, `documentation`).
## How to find user or organization [#how-to-find-user-or-organization]
1. Go to your repository on GitHub.
2. Look at the URL in your browser. It will look similar to:
[https://github.com/owner/repository](https://github.com/owner/repository)
* **owner** → GitHub username or organization name
## How to find file path [#how-to-find-file-path]
1. Navigate to the repository on GitHub.
2. Browse the folders to the file you want.
3. Look at the URL in your browser. It will have this format:
[https://github.com/owner/repository/blob/main/path/to/file.ext](https://github.com/owner/repository/blob/main/path/to/file.ext)
* The part after `blob/main/` is the **file path**:
path/to/file.ext
### How to find your milestone number [#how-to-find-your-milestone-number]
You have several methods to find your GitHub milestone number:
* **Method 1: Through the Milestones page URL**
1. Go to your repository on GitHub.
2. Click on the Issues tab.
3. Click on Milestones.
4. Click on the milestone you want.
5. Look at the URL in your browser. It will look similar to:
[https://github.com/owner/repository/milestone/3](https://github.com/owner/repository/milestone/3)
The number at the end of the URL (3 in this example) is your milestone number.
* **Method 2: Through the GitHub API**
1. Open your browser.
2. Enter the following URL (replace owner and repository with your actual values):
[https://api.github.com/repos/owner/repository/milestones](https://api.github.com/repos/owner/repository/milestones)
3. Find your milestone in the JSON response.
4. The number field next to the milestone name is your milestone number.
# ByteChef Reference: GitLab
URL: /reference/components/gitlab_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/gitlab_v1.mdx
GitLab is a web-based DevOps lifecycle tool that provides a Git repository manager, CI/CD pipelines, issue tracking, and more in a single application.
Categories: Developer Tools
Type: gitlab/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to your GitLab account.
2. Click on your profile icon in the top right corner and select **Edit profile**.
3. On the left sidebar, select **Applications**.
4. Click on **Add new application**.
5. Fill in the required fields:
* **Name**: Enter a name for your application (e.g., `Test App`).
* **Redirect URI**: Specify the URI where users will be redirected after authorization (e.g., `http://127.0.0.1:5173/callback`).
6. Select OAuth 2 Scopes. For the ByteChef connector, enable: `api`.
7. Click on **Save application**.
8. Copy the **Application ID** as Client ID and **Secret** as Client Secret and use it in ByteChef.
## Actions [#actions]
### Create Comment on Issue [#create-comment-on-issue]
Name: createCommentOnIssue
`Adds a comment to the specified issue.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :--------------------------------------------------------------------: | :------------------------------: | :------: |
| projectId | Project ID | STRING | | true |
| issueId | Issue ID | INTEGER Depends On projectId | ID of the issue to comment on. | true |
| body | Comment | STRING | The comment to add to the issue. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Comment on Issue",
"name" : "createCommentOnIssue",
"parameters" : {
"projectId" : "",
"issueId" : 1,
"body" : ""
},
"type" : "gitlab/v1/createCommentOnIssue"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :-----: | :----------------------: |
| id | INTEGER | The ID of the comment. |
| body | STRING | The body of the comment. |
#### Output Example [#output-example]
```json
{
"id" : 1,
"body" : ""
}
```
#### Find Project ID and Issue ID [#find-project-id-and-issue-id]
To find the Project ID, click [here](/reference/components/gitlab_v1#how-to-find-the-project-id).
To find the Issue ID, click [here](/reference/components/gitlab_v1#how-to-find-the-issue-id).
### Create Issue [#create-issue]
Name: createIssue
`Creates a new project issue.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----: | :------------------------------------------------: | :------: |
| projectId | Project ID | STRING | ID of the project where new issue will be created. | true |
| title | Title | STRING | The title of an issue. | true |
| description | Description | STRING | The description of an issue. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Issue",
"name" : "createIssue",
"parameters" : {
"projectId" : "",
"title" : "",
"description" : ""
},
"type" : "gitlab/v1/createIssue"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------: | :-----: | :---------------------------: |
| id | INTEGER | The ID of the issue. |
| iid | INTEGER | The internal ID of the issue. |
| project\_id | INTEGER | The ID of the project. |
| title | STRING | The title of the issue. |
| description | STRING | The description of the issue. |
| web\_url | STRING | The URL of the issue. |
#### Output Example [#output-example-1]
```json
{
"id" : 1,
"iid" : 1,
"project_id" : 1,
"title" : "",
"description" : "",
"web_url" : ""
}
```
#### Find Project ID [#find-project-id]
To find the Project ID, click [here](/reference/components/gitlab_v1#how-to-find-the-project-id).
## Triggers [#triggers]
### New Issue [#new-issue]
Name: newIssue
`Triggers when a new issue is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :-----: | :----: | :---------: | :------: |
| projectId | Project | STRING | | true |
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------: | :-----: | :---------------------------: |
| description | STRING | The description of the issue. |
| id | INTEGER | The ID of the issue. |
| iid | INTEGER | The internal ID of the issue. |
| projectId | INTEGER | The ID of the project. |
| title | STRING | The title of the issue. |
#### JSON Example [#json-example]
```json
{
"label" : "New Issue",
"name" : "newIssue",
"parameters" : {
"projectId" : ""
},
"type" : "gitlab/v1/newIssue"
}
```
#### Find Project ID [#find-project-id-1]
To find the Project ID, click [here](/reference/components/gitlab_v1#how-to-find-the-project-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Project ID [#how-to-find-the-project-id]
The Project ID is a unique numeric value that can be found in the Gitlab UI or via the API.
* **Method 1: Via API**
Use the `GET /projects` endpoint to retrieve a list of all projects and their numeric IDs.
* **Method 2: In the Gitlab UI**
1. On the top bar, select **Search or go to** and find your project.
2. On the project overview page, in the upper-right corner, select **Actions** ( ).
3. Select **Copy project ID**.
### How to find the Issue ID [#how-to-find-the-issue-id]
The Issue ID is a project-scoped identifier for an issue that can be found in the Gitlab UI or via the API.
* **Method 1: Via API**
Use the GET /projects/PROJECT\_ID/issues endpoint. List issues within a project to retrieve their IDs.
* **Method 2: In the Gitlab UI**
1. On the top bar, select **Search or go to** and find your project.
2. On the left bar, click on **Issues**.
3. Open the issue in your project.
4. The Issue ID appears after the # symbol above the issue title.
# ByteChef Reference: Google Application Setup
URL: /reference/components/google-application-setup_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-application-setup_v1.mdx
Steps for setting up Google Cloud API Console for every Google component.
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
1. Go to the [Google Cloud Console](https://console.cloud.google.com/).
2. Click on the project dropdown in the top navigation bar.
3. Click **New Project**.
4. Enter a project name and click **Create**.
5. Click on the project dropdown again.
6. Select the project you just created.
7. Go to the **APIs & Services**.
8. Go to the **OAuth consent screen**.
9. Click **Get Started**.
10. Enter an App name and add user support email. Click **Next**.
11. Select your Audience and click **Next**.
12. Add email addresses and click **Next**.
13. Agree to the terms and click **Create**.
14. Go to **Data Access**.
15. Click on **Add or Remove Scopes**.
16. Select all necessary scopes.
17. Click **Update**.
18. Click **Save**.
19. Go to the **Clients**.
20. Click on **Create Client**.
21. Click on application type dropdown.
22. Choose **Web application** as the application type.
23. Click on **Add Uri**.
24. Enter a redirect URI, e.g., `https://app.bytechef.io/callback`, `http://127.0.0.1:5173/callback`. Click **Create**.
25. Click on the client you just created.
26. Copy the **Client ID** and **Client Secret**. Use these credentials to create a connection in ByteChef.
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the "APIs & Services".
3. Click on "OAuth consent screen".
4. Click on "Audience".
5. Click on "Add users".
6. Enter email of your test user.
7. Click on "Save".
# ByteChef Reference: Google BigQuery
URL: /reference/components/google-bigquery_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-bigquery_v1.mdx
Google BigQuery is the autonomous data to AI platform, automating the entire data life cycle, from ingestion to AI-driven insights, so you can go from data to AI to action faster.
Categories: Artificial Intelligence
Type: googleBigQuery/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable BigQuery API [#enable-bigquery-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Click on **APIs & Services**.
3. Enter **bigquery** into search bar and press enter.
4. Click on **BigQuery API**.
5. Click on **Enable**.
## Actions [#actions]
### Query [#query]
Name: query
`Runs a BigQuery SQL query synchronously and returns query results if the query completes within a specified timeout.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| projectId | Project ID | STRING | Project ID of the query request. | true |
| query | Query | STRING | Required. A query string to execute, using Google Standard SQL or legacy SQL syntax. Example: "SELECT COUNT(f1) FROM myProjectId.myDatasetId.myTableId". | true |
| maxResults | Max Results | INTEGER | The maximum number of rows of data to return per page of results. | false |
| timeoutMs | Timeout | INTEGER | Specifies the maximum amount of time, in milliseconds, that the client is willing to wait for the query to complete. By default, this limit is 10 seconds (10,000 milliseconds). | false |
| dryRun | Dry Run | BOOLEAN Options true , false | If set to true, BigQuery doesn't run the job. Instead, if the query is valid, BigQuery returns statistics about the job such as how many bytes would be processed. | false |
| createSession | Create Session | BOOLEAN Options true , false | If true, creates a new session using a randomly generated sessionId. If false, runs query with an existing sessionId passed in ConnectionProperty. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Query",
"name" : "query",
"parameters" : {
"projectId" : "",
"query" : "",
"maxResults" : 1,
"timeoutMs" : 1,
"dryRun" : false,
"createSession" : false
},
"type" : "googleBigQuery/v1/query"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------: |
| kind | STRING | The resource type. |
| schema | OBJECT Properties \{\[\{STRING(name), STRING(type), STRING(mode), \[]\(fields), STRING(description), \{\[STRING]\(names)}(policyTags), \{STRING(name)}(dataPolicies), STRING(maxLength), STRING(precision), STRING(scale), STRING(roundingMode), STRING(collation), STRING(defaultValueExpression), \{STRING(type)}(rangeElementType)}]\(fields)} | The schema of the results. Present only when the query completes successfully. |
| objectReference | OBJECT Properties \{STRING(projectId), STRING(jobId), STRING(location)} | Reference to the Job that was created to run the query. |
| jobCreationReason | OBJECT Properties \{STRING(code)} | The reason why a Job was created. |
| queryId | STRING | Auto-generated ID for the query. |
| location | STRING | The geographic location of the query. |
| totalRows | STRING | The total number of rows in the complete query result set, which can be more than the number of rows in this single page of results. |
| pageToken | STRING | A token used for paging results. |
| rows | ARRAY Items \[\{}] | An object with as many results as can be contained within the maximum permitted reply size. |
| totalBytesProcessed | STRING | The total number of bytes processed for this query. |
| jobComplete | BOOLEAN Options true , false | Whether the query has completed or not. |
| errors | ARRAY Items \[\{STRING(reason), STRING(location), STRING(debugInfo), STRING(message)}, BOOLEAN($cacheHit), STRING\($numDmlAffectedRows), \{STRING(sessionId)}($sessionInfo), {STRING\(insertedRowCount), STRING\(deletedRowCount), STRING\(updatedRowCount)}\($dmlStats), STRING($totalBytesBilled), STRING\($totalSlotMs), STRING($creationTime), STRING\($startTime), STRING(\$endTime)] | The first errors or warnings encountered during the running of the job. |
#### Output Example [#output-example]
```json
{
"kind" : "",
"schema" : {
"fields" : [ {
"name" : "",
"type" : "",
"mode" : "",
"fields" : [ ],
"description" : "",
"policyTags" : {
"names" : [ "" ]
},
"dataPolicies" : {
"name" : ""
},
"maxLength" : "",
"precision" : "",
"scale" : "",
"roundingMode" : "",
"collation" : "",
"defaultValueExpression" : "",
"rangeElementType" : {
"type" : ""
}
} ]
},
"objectReference" : {
"projectId" : "",
"jobId" : "",
"location" : ""
},
"jobCreationReason" : {
"code" : ""
},
"queryId" : "",
"location" : "",
"totalRows" : "",
"pageToken" : "",
"rows" : [ { } ],
"totalBytesProcessed" : "",
"jobComplete" : false,
"errors" : [ {
"reason" : "",
"location" : "",
"debugInfo" : "",
"message" : ""
}, false, "", {
"sessionId" : ""
}, {
"insertedRowCount" : "",
"deletedRowCount" : "",
"updatedRowCount" : ""
}, "", "", "", "", "" ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Calendar
URL: /reference/components/google-calendar_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-calendar_v1.mdx
Google Calendar is a web-based application that allows users to schedule and organize events, appointments, and reminders, synchronizing across multiple devices.
Categories: Calendars and Scheduling
Type: googleCalendar/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Calendar API [#enable-google-calendar-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "calendar" in the search bar.
5. Click on **Google Calendar API**.
6. Click **Enable**.
## Actions [#actions]
### Add Attendees to Event [#add-attendees-to-event]
Name: addAttendeesToEvent
`Invites one or more person to an existing event.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :--------------------------------------------------------------------: | :----------------------------------: | :------: |
| calendarId | Calendar ID | STRING | Unique identifier of the calendar. | true |
| eventId | Event ID | STRING Depends On calendarId | ID of the event to add attendees to. | true |
| attendees | Attendees | ARRAY Items \[STRING] | The attendees of the event. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Attendees to Event",
"name" : "addAttendeesToEvent",
"parameters" : {
"calendarId" : "",
"eventId" : "",
"attendees" : [ "" ]
},
"type" : "googleCalendar/v1/addAttendeesToEvent"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: |
| iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events across calendaring systems. |
| id | STRING | Identifier of the event. |
| summary | STRING | Title of the event. |
| startTime | DATE\_TIME | Start time of the event. |
| endTime | DATE\_TIME | End time of the event. |
| etag | STRING | ETag of the resource. |
| eventType | STRING | Specific type of the event. |
| htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
| status | STRING | Status of the event. |
| location | STRING | Geographic location of the event as free-form text. |
| hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
| attendees | ARRAY Items \[\{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}] | The attendees of the event. |
| attachments | ARRAY Items \[\{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
| reminders | OBJECT Properties \{\[\{STRING(method), INTEGER(minutes)}]\(overrides), BOOLEAN(useDefault)} | Information about the event's reminders for the authenticated user. |
#### Output Example [#output-example]
```json
{
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
}
```
#### Find Calendar ID [#find-calendar-id]
To find the Calendar ID, click [here](/reference/components/google-calendar_v1#how-to-find-calendar-id).
#### Find Event ID [#find-event-id]
To find the Event ID, click [here](/reference/components/google-calendar_v1#how-to-find-event-id).
### Create Event [#create-event]
Name: createEvent
`Creates a new event in Google Calendar.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------------------: | :------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------: | :------: |
| calendarId | Calendar ID | STRING | Unique identifier of the calendar. | true |
| summary | Title | STRING | Title of the event. | false |
| allDay | All Day Event? | BOOLEAN Options true , false | Whether it is an all day event. | true |
| start | Start Date | DATE | The start date of the event. | true |
| end | End Date | DATE | The end date of the event. | true |
| start | Start Date Time | DATE\_TIME | The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance. | true |
| end | End Date Time | DATE\_TIME | The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance. | true |
| description | Description | STRING | Description of the event. Can contain HTML. | false |
| location | Location | STRING | Geographic location of the event as free-form text. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | The attachments to the event. | false |
| attendees | Attendees | ARRAY Items \[STRING] | The attendees of the event. | false |
| guestsCanInviteOthers | Guest Can Invite Others | BOOLEAN Options true , false | Whether attendees other than the organizer can invite others to the event. | false |
| guestsCanModify | Guest Can Modify | BOOLEAN Options true , false | Whether attendees other than the organizer can modify the event. | false |
| guestsCanSeeOtherGuests | Guest Can See Other Guests | BOOLEAN Options true , false | Whether attendees other than the organizer can see who the event's attendees are. | false |
| sendUpdates | Send Updates | STRING Options all , externalOnly , none | Whether to send notifications about the creation of the new event. Note that some emails might still be sent. | false |
| useDefault | Use Default Reminders | BOOLEAN Options true , false | Whether the default reminders of the calendar apply to the event. | true |
| reminders | Reminders | ARRAY Items \[\{STRING(method), INTEGER(minutes)}] | The reminders that will be sent about the event. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Event",
"name" : "createEvent",
"parameters" : {
"calendarId" : "",
"summary" : "",
"allDay" : false,
"start" : "2021-01-01T00:00:00",
"end" : "2021-01-01T00:00:00",
"description" : "",
"location" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"attendees" : [ "" ],
"guestsCanInviteOthers" : false,
"guestsCanModify" : false,
"guestsCanSeeOtherGuests" : false,
"sendUpdates" : "",
"useDefault" : false,
"reminders" : [ {
"method" : "",
"minutes" : 1
} ]
},
"type" : "googleCalendar/v1/createEvent"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: |
| iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events across calendaring systems. |
| id | STRING | Identifier of the event. |
| summary | STRING | Title of the event. |
| startTime | DATE\_TIME | Start time of the event. |
| endTime | DATE\_TIME | End time of the event. |
| etag | STRING | ETag of the resource. |
| eventType | STRING | Specific type of the event. |
| htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
| status | STRING | Status of the event. |
| location | STRING | Geographic location of the event as free-form text. |
| hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
| attendees | ARRAY Items \[\{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}] | The attendees of the event. |
| attachments | ARRAY Items \[\{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
| reminders | OBJECT Properties \{\[\{STRING(method), INTEGER(minutes)}]\(overrides), BOOLEAN(useDefault)} | Information about the event's reminders for the authenticated user. |
#### Output Example [#output-example-1]
```json
{
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
}
```
#### Find Calendar ID [#find-calendar-id-1]
To find the Calendar ID, click [here](/reference/components/google-calendar_v1#how-to-find-calendar-id).
### Create Quick Event [#create-quick-event]
Name: createQuickEvent
`Creates a quick event in Google Calendar.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------: | :------: |
| calendarId | Calendar ID | STRING | Unique identifier of the calendar. | true |
| text | Text | STRING | The text describing the event to be created. | true |
| sendUpdates | Send Updates | STRING Options all , externalOnly , none | Whether to send notifications about the creation of the new event. Note that some emails might still be sent. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Quick Event",
"name" : "createQuickEvent",
"parameters" : {
"calendarId" : "",
"text" : "",
"sendUpdates" : ""
},
"type" : "googleCalendar/v1/createQuickEvent"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: |
| iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events across calendaring systems. |
| id | STRING | Identifier of the event. |
| summary | STRING | Title of the event. |
| startTime | DATE\_TIME | Start time of the event. |
| endTime | DATE\_TIME | End time of the event. |
| etag | STRING | ETag of the resource. |
| eventType | STRING | Specific type of the event. |
| htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
| status | STRING | Status of the event. |
| location | STRING | Geographic location of the event as free-form text. |
| hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
| attendees | ARRAY Items \[\{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}] | The attendees of the event. |
| attachments | ARRAY Items \[\{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
| reminders | OBJECT Properties \{\[\{STRING(method), INTEGER(minutes)}]\(overrides), BOOLEAN(useDefault)} | Information about the event's reminders for the authenticated user. |
#### Output Example [#output-example-2]
```json
{
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
}
```
#### Find Calendar ID [#find-calendar-id-2]
To find the Calendar ID, click [here](/reference/components/google-calendar_v1#how-to-find-calendar-id).
### Delete Event [#delete-event]
Name: deleteEvent
`Deletes an event from Google Calendar.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :--------------------------------------------------------------------: | :--------------------------------: | :------: |
| calendarId | Calendar ID | STRING | Unique identifier of the calendar. | true |
| eventId | Event ID | STRING Depends On calendarId | ID of the event to delete. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete Event",
"name" : "deleteEvent",
"parameters" : {
"calendarId" : "",
"eventId" : ""
},
"type" : "googleCalendar/v1/deleteEvent"
}
```
#### Output [#output-3]
This action does not produce any output.
#### Find Calendar ID [#find-calendar-id-3]
To find the Calendar ID, click [here](/reference/components/google-calendar_v1#how-to-find-calendar-id).
#### Find Event ID [#find-event-id-1]
To find the Event ID, click [here](/reference/components/google-calendar_v1#how-to-find-event-id).
### Get Events [#get-events]
Name: getEvents
`List events from the specified Google Calendar.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| calendarId | Calendar ID | STRING | Unique identifier of the calendar. | true |
| eventType | Event Type | ARRAY Items \[STRING] | Event types to return. | false |
| maxResults | Max Results | INTEGER | Maximum number of events returned on one result page. The number of events in the resulting page may be less than this value, or none at all, even if there are more events matching the query. Incomplete pages can be detected by a non-empty nextPageToken field in the response. | false |
| q | Search Terms | STRING | Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email, workingLocationProperties.officeLocation.buildingId, workingLocationProperties.officeLocation.deskId, workingLocationProperties.officeLocation.label and workingLocationProperties.customLocation.label | false |
| dateRange | Date Range | OBJECT Properties \{DATE\_TIME(from), DATE\_TIME(to)} | Date range to find events that exist in this range. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Get Events",
"name" : "getEvents",
"parameters" : {
"calendarId" : "",
"eventType" : [ "" ],
"maxResults" : 1,
"q" : "",
"dateRange" : {
"from" : "2021-01-01T00:00:00",
"to" : "2021-01-01T00:00:00"
}
},
"type" : "googleCalendar/v1/getEvents"
}
```
#### Output [#output-4]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :---------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: |
| iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events across calendaring systems. |
| id | STRING | Identifier of the event. |
| summary | STRING | Title of the event. |
| startTime | DATE\_TIME | Start time of the event. |
| endTime | DATE\_TIME | End time of the event. |
| etag | STRING | ETag of the resource. |
| eventType | STRING | Specific type of the event. |
| htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
| status | STRING | Status of the event. |
| location | STRING | Geographic location of the event as free-form text. |
| hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
| attendees | ARRAY Items \[\{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}] | The attendees of the event. |
| attachments | ARRAY Items \[\{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
| reminders | OBJECT Properties \{\[\{STRING(method), INTEGER(minutes)}]\(overrides), BOOLEAN(useDefault)} | Information about the event's reminders for the authenticated user. |
#### Output Example [#output-example-3]
```json
[ {
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
} ]
```
#### Find Calendar ID [#find-calendar-id-4]
To find the Calendar ID, click [here](/reference/components/google-calendar_v1#how-to-find-calendar-id).
### Get Free Time Slots [#get-free-time-slots]
Name: getFreeTimeSlots
`Get free time slots from Google Calendar.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :---------------------------------------------------------------------------------------------: | :--------------------------------: | :------: |
| calendarId | Calendar ID | STRING | Unique identifier of the calendar. | true |
| dateRange | Date Range | OBJECT Properties \{DATE\_TIME(from), DATE\_TIME(to)} | Date range to find free time. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get Free Time Slots",
"name" : "getFreeTimeSlots",
"parameters" : {
"calendarId" : "",
"dateRange" : {
"from" : "2021-01-01T00:00:00",
"to" : "2021-01-01T00:00:00"
}
},
"type" : "googleCalendar/v1/getFreeTimeSlots"
}
```
#### Output [#output-5]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-11]
| Name | Type | Description |
| :-------: | :--------: | :-------------------------------: |
| startTime | DATE\_TIME | Start time of the free time slot. |
| endTime | DATE\_TIME | End time of the free time slot. |
#### Output Example [#output-example-4]
```json
[ {
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00"
} ]
```
#### Find Calendar ID [#find-calendar-id-5]
To find the Calendar ID, click [here](/reference/components/google-calendar_v1#how-to-find-calendar-id).
### Update Event [#update-event]
Name: updateEvent
`Updates event in Google Calendar.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :---------: | :-------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------: | :------: |
| calendarId | Calendar ID | STRING | Unique identifier of the calendar. | true |
| eventId | Event ID | STRING Depends On calendarId | ID of the event to update. | true |
| summary | Title | STRING | New title of the event. | false |
| allDay | All Day Event? | BOOLEAN Options true , false | Whether it is an all day event. | false |
| start | Start Date | DATE | New start date of the event. | true |
| end | End Date | DATE | New end date of the event. | true |
| start | Start Date Time | DATE\_TIME | New (inclusive) start time of the event. For a recurring event, this is the start time of the first instance. | true |
| end | End Date Time | DATE\_TIME | New (exclusive) end time of the event. For a recurring event, this is the end time of the first instance. | true |
| description | Description | STRING | New description of the event. Can contain HTML. | false |
| attendees | Attendees | ARRAY Items \[STRING] | New attendees of the event. | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Update Event",
"name" : "updateEvent",
"parameters" : {
"calendarId" : "",
"eventId" : "",
"summary" : "",
"allDay" : false,
"start" : "2021-01-01T00:00:00",
"end" : "2021-01-01T00:00:00",
"description" : "",
"attendees" : [ "" ]
},
"type" : "googleCalendar/v1/updateEvent"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-13]
| Name | Type | Description |
| :---------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: |
| iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events across calendaring systems. |
| id | STRING | Identifier of the event. |
| summary | STRING | Title of the event. |
| startTime | DATE\_TIME | Start time of the event. |
| endTime | DATE\_TIME | End time of the event. |
| etag | STRING | ETag of the resource. |
| eventType | STRING | Specific type of the event. |
| htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
| status | STRING | Status of the event. |
| location | STRING | Geographic location of the event as free-form text. |
| hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
| attendees | ARRAY Items \[\{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}] | The attendees of the event. |
| attachments | ARRAY Items \[\{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
| reminders | OBJECT Properties \{\[\{STRING(method), INTEGER(minutes)}]\(overrides), BOOLEAN(useDefault)} | Information about the event's reminders for the authenticated user. |
#### Output Example [#output-example-5]
```json
{
"iCalUID" : "",
"id" : "",
"summary" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"etag" : "",
"eventType" : "",
"htmlLink" : "",
"status" : "",
"location" : "",
"hangoutLink" : "",
"attendees" : [ {
"additionalGuests" : 1,
"comment" : "",
"displayName" : "",
"email" : "",
"id" : "",
"optional" : false,
"organizer" : false,
"resource" : false,
"responseStatus" : "",
"self" : false
} ],
"attachments" : [ {
"fileId" : "",
"fileUrl" : "",
"iconLink" : "",
"mimeType" : "",
"title" : ""
} ],
"reminders" : {
"overrides" : [ {
"method" : "",
"minutes" : 1
} ],
"useDefault" : false
}
}
```
#### Find Calendar ID [#find-calendar-id-6]
To find the Calendar ID, click [here](/reference/components/google-calendar_v1#how-to-find-calendar-id).
#### Find Event ID [#find-event-id-2]
To find the Event ID, click [here](/reference/components/google-calendar_v1#how-to-find-event-id).
## Triggers [#triggers]
### New or Updated Event [#new-or-updated-event]
Name: newOrUpdatedEvent
`Triggers when an event is added or updated.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-14]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----: | :--------------------------------: | :------: |
| calendarId | Calendar ID | STRING | Unique identifier of the calendar. | true |
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-15]
| Name | Type | Description |
| :---------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: |
| iCalUID | STRING | Event unique identifier as defined in RFC5545. It is used to uniquely identify events across calendaring systems. |
| id | STRING | Identifier of the event. |
| summary | STRING | Title of the event. |
| startTime | DATE\_TIME | Start time of the event. |
| endTime | DATE\_TIME | End time of the event. |
| etag | STRING | ETag of the resource. |
| eventType | STRING | Specific type of the event. |
| htmlLink | STRING | An absolute link to this event in the Google Calendar Web UI. |
| status | STRING | Status of the event. |
| location | STRING | Geographic location of the event as free-form text. |
| hangoutLink | STRING | An absolute link to the Google Hangout associated with this event. |
| attendees | ARRAY Items \[\{INTEGER(additionalGuests), STRING(comment), STRING(displayName), STRING(email), STRING(id), BOOLEAN(optional), BOOLEAN(organizer), BOOLEAN(resource), STRING(responseStatus), BOOLEAN(self)}] | The attendees of the event. |
| attachments | ARRAY Items \[\{STRING(fileId), STRING(fileUrl), STRING(iconLink), STRING(mimeType), STRING(title)}] | File attachments for the event. |
| reminders | OBJECT Properties \{\[\{STRING(method), INTEGER(minutes)}]\(overrides), BOOLEAN(useDefault)} | Information about the event's reminders for the authenticated user. |
#### JSON Example [#json-example]
```json
{
"label" : "New or Updated Event",
"name" : "newOrUpdatedEvent",
"parameters" : {
"calendarId" : ""
},
"type" : "googleCalendar/v1/newOrUpdatedEvent"
}
```
#### Find Calendar ID [#find-calendar-id-7]
To find the Calendar ID, click [here](/reference/components/google-calendar_v1#how-to-find-calendar-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Calendar ID [#how-to-find-calendar-id]
To find a Calendar ID, open the calendar in your browser. On the left sidebar, find **My calendars** or **Other calendars**. Click the three dots next to the calendar you want to use. Click **Settings and sharing**. Scroll to the section **Integrate calendar** and there you will find **Calendar ID**.
### How to find Event ID [#how-to-find-event-id]
#### Via API [#via-api]
* Use the `GET https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events` endpoint.
* Lists the events in the user's calendar.
The Event ID can also be found in the output of the following actions and triggers:
* **Add Attendees To Event**
* **Create Event**
* **Create Quick Event**
* **Get Events**
* **Update Event**
* **New Or Updated Event** trigger
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Chat
URL: /reference/components/google-chat_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-chat_v1.mdx
Google Chat is an intelligent and secure communication and collaboration tool, built for teams.
Categories: Communication
Type: googleChat/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Chat API [#enable-google-chat-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google chat api" in the search bar.
5. Click on **Google Chat API**.
6. Click **Enable**.
### Configure Chat Application [#configure-chat-application]
1. In the [Google Cloud Console](https://console.cloud.google.com/)
2. Click on **APIs & Services**
3. Click on **Google Chat API**
4. Click on **Configuration**
5. Add App name, Avatar URL and Description
6. Enable "Join spaces and group conversations"
7. Click on "Use a common HTTP endpoint URL for all triggers" and add some HTTPS URL, we won't use that feature.
8. Click on "Enter email addresses to add individuals and group" and add your email address.
9. Click on **Save**
10. Done 🚀
## Actions [#actions]
### Create Space [#create-space]
Name: createSpace
`Creates space in Google Chat.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :----: | :--------------------------: | :------: |
| displayName | Space Name | STRING | Name of the space to create. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Space",
"name" : "createSpace",
"parameters" : {
"displayName" : ""
},
"type" : "googleChat/v1/createSpace"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------------: | :-----------------------------------------------------------------------------------: | :---------------------------------------------------------------: |
| name | STRING | Name of the space that was created. |
| type | STRING | Type of the space. |
| displayName | STRING | Name of the space that will be displayed. |
| spaceThreadingState | STRING | The threading state in the Chat space. |
| spaceType | STRING | The type of space. |
| spaceHistoryState | STRING | The message history state for messages and threads in this space. |
| createTime | STRING | For spaces created in Chat, the time the space was created. |
| lastActiveTime | STRING | Timestamp of the last message in the space. |
| membershipCount | OBJECT Properties \{} | The count of joined memberships grouped by member type. |
| accessSettings | OBJECT Properties \{STRING(accessSettings)} | Specifies the access setting of the space. |
| customer | STRING | Customer that created the space. |
| spaceUri | STRING | The URI for a user to access the space. |
#### Output Example [#output-example]
```json
{
"name" : "",
"type" : "",
"displayName" : "",
"spaceThreadingState" : "",
"spaceType" : "",
"spaceHistoryState" : "",
"createTime" : "",
"lastActiveTime" : "",
"membershipCount" : { },
"accessSettings" : {
"accessSettings" : ""
},
"customer" : "",
"spaceUri" : ""
}
```
### Send Space Message [#send-space-message]
Name: sendSpaceMessage
`Sends a new message in selected space.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :----------: | :----: | :--------------------------------------------------: | :------: |
| spaceName | Space Name | STRING | Name of the space in which the message will be sent. | true |
| text | Message Text | STRING | Text of the message. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send Space Message",
"name" : "sendSpaceMessage",
"parameters" : {
"spaceName" : "",
"text" : ""
},
"type" : "googleChat/v1/sendSpaceMessage"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----------: | :---------------------------------------------------------------------------------------: | :--------------------------------: |
| name | STRING | Name of the message that was sent. |
| sender | OBJECT Properties \{STRING(name), STRING(type)} | Sender of the message. |
| createTime | STRING | Time when the message was sent. |
| text | STRING | Text of the message. |
| thread | OBJECT Properties \{STRING(name)} | |
| space | OBJECT Properties \{STRING(name)} | |
| argumentText | STRING | |
| formattedText | STRING | |
#### Output Example [#output-example-1]
```json
{
"name" : "",
"sender" : {
"name" : "",
"type" : ""
},
"createTime" : "",
"text" : "",
"thread" : {
"name" : ""
},
"space" : {
"name" : ""
},
"argumentText" : "",
"formattedText" : ""
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Space Name [#how-to-find-space-name]
To retrieve the Space Name, use the **Google Chat API** `spaces.list` method.
Its endpoint is `GET https://chat.googleapis.com/v1/spaces`.
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Contacts
URL: /reference/components/google-contacts_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-contacts_v1.mdx
Google Contacts is a cloud-based address book service provided by Google, allowing users to store, manage, and synchronize their contact information across multiple devices and platforms.
Categories: CRM
Type: googleContacts/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Contacts API [#enable-contacts-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "contacts api" in the search bar.
5. Click on **Contacts API**.
6. Click **Enable**.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----: | :---------------------------------: | :------: |
| givenName | First Name | STRING | The first name of the contact. | true |
| middleName | Middle Name | STRING | The middle name of the contact. | false |
| familyName | Last Name | STRING | The last name of the contact. | true |
| title | Job Title | STRING | The job title of the contact. | false |
| name | Company | STRING | The company of the contact. | false |
| email | Email | STRING | The email addresses of the contact. | false |
| phoneNumber | Phone Number | STRING | The phone numbers of the contact. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"givenName" : "",
"middleName" : "",
"familyName" : "",
"title" : "",
"name" : "",
"email" : "",
"phoneNumber" : ""
},
"type" : "googleContacts/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :-------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: |
| resourceName | STRING | The resource name for the person, assigned by the server. An ASCII string in the form of people/\{person\_id}. |
| etag | STRING | The HTTP entity tag of the resource. Used for web cache validation. |
| names | ARRAY Items \[\{STRING(familyName), STRING(givenName), STRING(middleName)}] | The person's names. |
| organizations | ARRAY Items \[\{STRING(name), STRING(title)}] | The person's past or current organizations. |
| emailAddresses | ARRAY Items \[\{STRING(value)}] | The person's email addresses. |
| phoneNumbers | ARRAY Items \[\{STRING(value)}] | The person's phone numbers. |
#### Output Example [#output-example]
```json
{
"resourceName" : "",
"etag" : "",
"names" : [ {
"familyName" : "",
"givenName" : "",
"middleName" : ""
} ],
"organizations" : [ {
"name" : "",
"title" : ""
} ],
"emailAddresses" : [ {
"value" : ""
} ],
"phoneNumbers" : [ {
"value" : ""
} ]
}
```
### Create Group [#create-group]
Name: createGroup
`Creates a new group.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :--------: | :----: | :--------------------: | :------: |
| name | Group Name | STRING | The name of the group. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Group",
"name" : "createGroup",
"parameters" : {
"name" : ""
},
"type" : "googleContacts/v1/createGroup"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----------: | :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| resourceName | STRING | The resource name for the contact group, assigned by the server. An ASCII string, in the form of contactGroups/\{contactGroupId}. |
| etag | STRING | The HTTP entity tag of the resource. Used for web cache validation. |
| name | STRING | The contact group name set by the group owner or a system provided name for system groups. |
| formattedName | STRING | The name translated and formatted in the viewer's account locale or the Accept-Language HTTP header locale for system groups names. Group names set by the owner are the same as name. |
#### Output Example [#output-example-1]
```json
{
"resourceName" : "",
"etag" : "",
"name" : "",
"formattedName" : ""
}
```
### Update Contact [#update-contact]
Name: updateContact
`Modifies an existing contact.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :--------------------------------------------------------: | :------: |
| resourceName | Resource Name | STRING | Resource name of the contact to be updated. | true |
| givenName | First Name | STRING | New first name of the contact. | false |
| middleName | Middle Name | STRING | New middle name of the contact. | false |
| familyName | Last Name | STRING | Updated last name of the contact. | false |
| title | Job Title | STRING | Updated job title of the contact. | false |
| name | Company | STRING | Updated name of the company where the contact is employed. | false |
| email | Email Address | STRING | Updated email address of the contact. | false |
| phoneNumber | Phone Number | STRING | Updated phone number of the contact. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update Contact",
"name" : "updateContact",
"parameters" : {
"resourceName" : "",
"givenName" : "",
"middleName" : "",
"familyName" : "",
"title" : "",
"name" : "",
"email" : "",
"phoneNumber" : ""
},
"type" : "googleContacts/v1/updateContact"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------------: | :-------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: |
| resourceName | STRING | The resource name for the person, assigned by the server. An ASCII string in the form of people/\{person\_id}. |
| etag | STRING | The HTTP entity tag of the resource. Used for web cache validation. |
| names | ARRAY Items \[\{STRING(familyName), STRING(givenName), STRING(middleName)}] | The person's names. |
| organizations | ARRAY Items \[\{STRING(name), STRING(title)}] | The person's past or current organizations. |
| emailAddresses | ARRAY Items \[\{STRING(value)}] | The person's email addresses. |
| phoneNumbers | ARRAY Items \[\{STRING(value)}] | The person's phone numbers. |
#### Output Example [#output-example-2]
```json
{
"resourceName" : "",
"etag" : "",
"names" : [ {
"familyName" : "",
"givenName" : "",
"middleName" : ""
} ],
"organizations" : [ {
"name" : "",
"title" : ""
} ],
"emailAddresses" : [ {
"value" : ""
} ],
"phoneNumbers" : [ {
"value" : ""
} ]
}
```
### Search Contacts [#search-contacts]
Name: searchContacts
`Searches the contacts in Google Contacts account.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :-------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The plain-text query for the request.The query is used to match prefix phrases of the fields on a person. For example, a person with name "foo name" matches queries such as "f", "fo", "foo", "foo n", "nam", etc., but not "oo n". | true |
| readMask | Read Mask | ARRAY Items \[STRING] | A field mask to restrict which fields on each person are returned. | true |
| pageSize | Page Size | INTEGER | The number of results to return per page. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Search Contacts",
"name" : "searchContacts",
"parameters" : {
"query" : "",
"readMask" : [ "" ],
"pageSize" : 1
},
"type" : "googleContacts/v1/searchContacts"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Docs
URL: /reference/components/google-docs_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-docs_v1.mdx
Google Docs is a cloud-based collaborative word processing platform that allows multiple users to create, edit, and share documents in real-time.
Categories: File Storage
Type: googleDocs/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Docs API [#enable-google-docs-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google docs api" in the search bar.
5. Click on **Google Docs API**.
6. Click **Enable**.
## Actions [#actions]
### Create Document [#create-document]
Name: createDocument
`Create a document on Google Docs.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :------------------------: | :------: |
| title | Title | STRING | The title of the document. | true |
| body | Content | STRING | Content of the document. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Document",
"name" : "createDocument",
"parameters" : {
"title" : "",
"body" : ""
},
"type" : "googleDocs/v1/createDocument"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| documentId | STRING | The ID of the document. |
| title | STRING | The title of the document. |
| tabs | ARRAY Items \[\{\{STRING(tabId), STRING(title), STRING(parentTabId), INTEGER(index), INTEGER(nestingLevel), STRING(iconEmoji)}(tabProperties), \[\{}]\(childTabs)}] | Tabs that are part of a document. |
| revisionId | STRING | The revision ID of the document. |
| suggestionsViewMode | STRING | The suggestions view mode applied to the document. |
| body | OBJECT Properties \{\[\{INTEGER(startIndex), INTEGER(endIndex)}]\(content)} | The main body of the document. |
#### Output Example [#output-example]
```json
{
"documentId" : "",
"title" : "",
"tabs" : [ {
"tabProperties" : {
"tabId" : "",
"title" : "",
"parentTabId" : "",
"index" : 1,
"nestingLevel" : 1,
"iconEmoji" : ""
},
"childTabs" : [ { } ]
} ],
"revisionId" : "",
"suggestionsViewMode" : "",
"body" : {
"content" : [ {
"startIndex" : 1,
"endIndex" : 1
} ]
}
}
```
### Create Document From Template [#create-document-from-template]
Name: createDocumentFromTemplate
`Creates a new document based on an existing one and can replace any placeholder variables found in your template document, like [[name]], [[email]], etc.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------------: | :-------------------: | :-----------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| fileId | Template Document ID | STRING | The ID of the template document from which the new document will be created. | true |
| placeholderFormat | Placeholder Format | STRING Options \{\{}} , \[\[]] | Choose the format of placeholders in your template. | true |
| fileName | Title of New Document | STRING | Name of the new document. | true |
| folderId | Folder ID | STRING | ID of the folder where the new document will be saved. If not provided, the new document will be saved in the same folder as the template document. | false |
| values | Variables | OBJECT Properties \{} | Don't include the "\[\[]]", only the key name and its value. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Document From Template",
"name" : "createDocumentFromTemplate",
"parameters" : {
"fileId" : "",
"placeholderFormat" : "",
"fileName" : "",
"folderId" : "",
"values" : { }
},
"type" : "googleDocs/v1/createDocumentFromTemplate"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| documentId | STRING | The ID of the document. |
| title | STRING | The title of the document. |
| tabs | ARRAY Items \[\{\{STRING(tabId), STRING(title), STRING(parentTabId), INTEGER(index), INTEGER(nestingLevel), STRING(iconEmoji)}(tabProperties), \[\{}]\(childTabs)}] | Tabs that are part of a document. |
| revisionId | STRING | The revision ID of the document. |
| suggestionsViewMode | STRING | The suggestions view mode applied to the document. |
| body | OBJECT Properties \{\[\{INTEGER(startIndex), INTEGER(endIndex)}]\(content)} | The main body of the document. |
#### Output Example [#output-example-1]
```json
{
"documentId" : "",
"title" : "",
"tabs" : [ {
"tabProperties" : {
"tabId" : "",
"title" : "",
"parentTabId" : "",
"index" : 1,
"nestingLevel" : 1,
"iconEmoji" : ""
},
"childTabs" : [ { } ]
} ],
"revisionId" : "",
"suggestionsViewMode" : "",
"body" : {
"content" : [ {
"startIndex" : 1,
"endIndex" : 1
} ]
}
}
```
#### Find Document ID [#find-document-id]
To find the Document ID, click [here](/reference/components/google-docs_v1#how-to-find-document-id).
#### Find Folder ID [#find-folder-id]
To find the Folder ID, click [here](/reference/components/google-docs_v1#how-to-find-folder-id).
### Get Document [#get-document]
Name: getDocument
`Gets the latest version of the specified document.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----: | :-----------------------------: | :------: |
| documentId | Document Id | STRING | The ID of the document to read. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Document",
"name" : "getDocument",
"parameters" : {
"documentId" : ""
},
"type" : "googleDocs/v1/getDocument"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| documentId | STRING | The ID of the document. |
| title | STRING | The title of the document. |
| tabs | ARRAY Items \[\{\{STRING(tabId), STRING(title), STRING(parentTabId), INTEGER(index), INTEGER(nestingLevel), STRING(iconEmoji)}(tabProperties), \[\{}]\(childTabs)}] | Tabs that are part of a document. |
| revisionId | STRING | The revision ID of the document. |
| suggestionsViewMode | STRING | The suggestions view mode applied to the document. |
| body | OBJECT Properties \{\[\{INTEGER(startIndex), INTEGER(endIndex)}]\(content)} | The main body of the document. |
#### Output Example [#output-example-2]
```json
{
"documentId" : "",
"title" : "",
"tabs" : [ {
"tabProperties" : {
"tabId" : "",
"title" : "",
"parentTabId" : "",
"index" : 1,
"nestingLevel" : 1,
"iconEmoji" : ""
},
"childTabs" : [ { } ]
} ],
"revisionId" : "",
"suggestionsViewMode" : "",
"body" : {
"content" : [ {
"startIndex" : 1,
"endIndex" : 1
} ]
}
}
```
#### Find Document ID [#find-document-id-1]
To find the Document ID, click [here](/reference/components/google-docs_v1#how-to-find-document-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Document ID [#how-to-find-document-id]
To find a Document ID, open the document in your browser. The ID is the long string of letters and numbers in the URL between `/d/` and the next `/` (usually `/edit`).
For example, in the URL `https://docs.google.com/document/d/1234567890abcdefghijklmnopqrstuvwxyz/edit`, the Document ID is `1234567890abcdefghijklmnopqrstuvwxyz`.
The Document ID can also be found in the output of the following actions:
* **Create Document**
* **Create Document from Template**
* **Get Document**
### How to find Folder ID [#how-to-find-folder-id]
To find a Folder ID, open the Google Drive folder in your browser. The ID is the string of characters at the end of the URL after `folders/`.
For example, in the URL `https://drive.google.com/drive/folders/abcjhadjh213102398890r4`, the Folder ID is `abcjhadjh213102398890r4`.
The Folder ID can also be found in the output of the following Google Drive actions and triggers:
* **Create New Folder**
* **Get File**
* **List Folders**
* **New Folder** trigger
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Drive
URL: /reference/components/google-drive_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-drive_v1.mdx
Google Drive is a cloud storage service by Google that enables users to store, sync, share files, and collaborate online.
Categories: File Storage
Type: googleDrive/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Drive API [#enable-google-drive-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google drive api" in the search bar.
5. Click on **Google Drive API**.
6. Click **Enable**.
## Actions [#actions]
### Copy File [#copy-file]
Name: copyFile
`Copy a selected file to a different location within Google Drive.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :-------------------: | :----: | :-----------------------------------------------------------------: | :------: |
| fileId | File ID | STRING | The ID of the file to be copied. | true |
| fileName | New File Name | STRING | The name of the new file created as a result of the copy operation. | true |
| folderId | Destination Folder ID | STRING | The ID of the folder where the copied file will be stored. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Copy File",
"name" : "copyFile",
"parameters" : {
"fileId" : "",
"fileName" : "",
"folderId" : ""
},
"type" : "googleDrive/v1/copyFile"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :----: | :---------------------------------------: |
| id | STRING | The ID of the file. |
| kind | STRING | Identifies what kind of resource this is. |
| mimeType | STRING | The MIME type of the file. |
| name | STRING | The name of the file. |
#### Output Example [#output-example]
```json
{
"id" : "",
"kind" : "",
"mimeType" : "",
"name" : ""
}
```
#### Find File ID [#find-file-id]
To find the File ID, click [here](/reference/components/google-drive_v1#how-to-find-file-id).
#### Find Folder ID [#find-folder-id]
To find the Folder ID, click [here](/reference/components/google-drive_v1#how-to-find-folder-id).
### Create New Folder [#create-new-folder]
Name: createNewFolder
`Creates a new empty folder in Google Drive.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :--------------: | :----: | :-----------------------------------------------------------------------------------------------------------------------------: | :------: |
| folderName | Folder Name | STRING | The name of the new folder. | true |
| folderId | Parent Folder ID | STRING | ID of the folder where the new folder will be created; if no folder is selected, the folder will be created in the root folder. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create New Folder",
"name" : "createNewFolder",
"parameters" : {
"folderName" : "",
"folderId" : ""
},
"type" : "googleDrive/v1/createNewFolder"
}
```
#### Output [#output-1]
***Sample Output:***
`{id=1hPJ7kjhStTX90amAWSJ-V0K1-nhDlsIr, mimeType=plain/text, name=new-file.txt}`
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------: | :----: | :---------------------------------------: |
| id | STRING | The ID of the file. |
| kind | STRING | Identifies what kind of resource this is. |
| mimeType | STRING | The MIME type of the file. |
| name | STRING | The name of the file. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"kind" : "",
"mimeType" : "",
"name" : ""
}
```
#### Find Folder ID [#find-folder-id-1]
To find the Folder ID, click [here](/reference/components/google-drive_v1#how-to-find-folder-id).
### Create New Text File [#create-new-text-file]
Name: createNewTextFile
`Creates a new text file in Google Drive.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :------: |
| fileName | File Name | STRING | The name of the new text file. | true |
| text | Text | STRING | The text content to add to file. | true |
| mimeType | File Type | STRING Options plain/text , text/csv , text/xml | Select file type. | true |
| folderId | Parent Folder ID | STRING | ID of the folder where the file should be created; if no folder is selected, the file will be created in the root folder. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create New Text File",
"name" : "createNewTextFile",
"parameters" : {
"fileName" : "",
"text" : "",
"mimeType" : "",
"folderId" : ""
},
"type" : "googleDrive/v1/createNewTextFile"
}
```
#### Output [#output-2]
***Sample Output:***
`{id=1hPJ7kjhStTX90amAWSJ-V0K1-nhDlsIr, mimeType=plain/text, name=new-file.txt}`
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------: | :----: | :---------------------------------------: |
| id | STRING | The ID of the file. |
| kind | STRING | Identifies what kind of resource this is. |
| mimeType | STRING | The MIME type of the file. |
| name | STRING | The name of the file. |
#### Output Example [#output-example-2]
```json
{
"id" : "",
"kind" : "",
"mimeType" : "",
"name" : ""
}
```
#### Find Folder ID [#find-folder-id-2]
To find the Folder ID, click [here](/reference/components/google-drive_v1#how-to-find-folder-id).
### Delete File [#delete-file]
Name: deleteFile
`Delete a selected file from Google Drive.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :-------------------------: | :------: |
| fileId | File ID | STRING | The ID of a file to delete. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete File",
"name" : "deleteFile",
"parameters" : {
"fileId" : ""
},
"type" : "googleDrive/v1/deleteFile"
}
```
#### Output [#output-3]
This action does not produce any output.
#### Find File ID [#find-file-id-1]
To find the File ID, click [here](/reference/components/google-drive_v1#how-to-find-file-id).
### Download File [#download-file]
Name: downloadFile
`Download selected file from Google Drive.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :-------------------------: | :------: |
| fileId | File ID | STRING | ID of the file to download. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Download File",
"name" : "downloadFile",
"parameters" : {
"fileId" : ""
},
"type" : "googleDrive/v1/downloadFile"
}
```
#### Output [#output-4]
Type: FILE\_ENTRY
#### Properties [#properties-9]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-3]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Find File ID [#find-file-id-2]
To find the File ID, click [here](/reference/components/google-drive_v1#how-to-find-file-id).
### Get File [#get-file]
Name: getFile
`Retrieve a specified file from your Google Drive.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :-----------------------------: | :------: |
| fileId | File ID | STRING | ID of the file to be retrieved. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get File",
"name" : "getFile",
"parameters" : {
"fileId" : ""
},
"type" : "googleDrive/v1/getFile"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-11]
| Name | Type | Description |
| :------: | :----: | :---------------------------------------: |
| id | STRING | The ID of the file. |
| kind | STRING | Identifies what kind of resource this is. |
| mimeType | STRING | The MIME type of the file. |
| name | STRING | The name of the file. |
#### Output Example [#output-example-4]
```json
{
"id" : "",
"kind" : "",
"mimeType" : "",
"name" : ""
}
```
#### Find File ID [#find-file-id-3]
To find the File ID, click [here](/reference/components/google-drive_v1#how-to-find-file-id).
### List Files [#list-files]
Name: listFiles
`List files in a Google Drive folder.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----: | :----------------------------------------------------------------------------------------------------------: | :------: |
| folderId | Parent Folder ID | STRING | ID of the folder from which you want to list files. If no folder is specified, the root folder will be used. | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "List Files",
"name" : "listFiles",
"parameters" : {
"folderId" : ""
},
"type" : "googleDrive/v1/listFiles"
}
```
#### Output [#output-6]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-13]
| Name | Type | Description |
| :------: | :----: | :---------------------------------------: |
| id | STRING | The ID of the file. |
| kind | STRING | Identifies what kind of resource this is. |
| mimeType | STRING | The MIME type of the file. |
| name | STRING | The name of the file. |
#### Output Example [#output-example-5]
```json
[ {
"id" : "",
"kind" : "",
"mimeType" : "",
"name" : ""
} ]
```
#### Find Folder ID [#find-folder-id-3]
To find the Folder ID, click [here](/reference/components/google-drive_v1#how-to-find-folder-id).
### List Folders [#list-folders]
Name: listFolders
`List folders in a Google Drive folder.`
#### Properties [#properties-14]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----: | :------------------------------------------------------------------------------------------------------------: | :------: |
| folderId | Parent Folder ID | STRING | ID of the folder from which you want to list folders. If no folder is specified, the root folder will be used. | false |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "List Folders",
"name" : "listFolders",
"parameters" : {
"folderId" : ""
},
"type" : "googleDrive/v1/listFolders"
}
```
#### Output [#output-7]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-15]
| Name | Type | Description |
| :------: | :----: | :---------------------------------------: |
| id | STRING | The ID of the file. |
| kind | STRING | Identifies what kind of resource this is. |
| mimeType | STRING | The MIME type of the file. |
| name | STRING | The name of the file. |
#### Output Example [#output-example-6]
```json
[ {
"id" : "",
"kind" : "",
"mimeType" : "",
"name" : ""
} ]
```
#### Find Folder ID [#find-folder-id-4]
To find the Folder ID, click [here](/reference/components/google-drive_v1#how-to-find-folder-id).
### Share File [#share-file]
Name: shareFile
`Share a specified file from your Google Drive.`
#### Properties [#properties-16]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :--------------------------: | :------: |
| fileId | File ID | STRING | ID of the file to be shared. | true |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Share File",
"name" : "shareFile",
"parameters" : {
"fileId" : ""
},
"type" : "googleDrive/v1/shareFile"
}
```
#### Output [#output-8]
Type: STRING
#### Find File ID [#find-file-id-4]
To find the File ID, click [here](/reference/components/google-drive_v1#how-to-find-file-id).
### Share Folder [#share-folder]
Name: shareFolder
`Share a specified folder from your Google Drive.`
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :----------------------------: | :------: |
| folderId | Folder ID | STRING | ID of the folder to be shared. | true |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Share Folder",
"name" : "shareFolder",
"parameters" : {
"folderId" : ""
},
"type" : "googleDrive/v1/shareFolder"
}
```
#### Output [#output-9]
Type: STRING
#### Find Folder ID [#find-folder-id-5]
To find the Folder ID, click [here](/reference/components/google-drive_v1#how-to-find-folder-id).
### Upload File [#upload-file]
Name: uploadFile
`Uploads a file in your Google Drive.`
#### Properties [#properties-18]
| Name | Label | Type | Description | Required |
| :-------: | :--------------: | :---------: | :-----------------------------------------------------------------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The object property which contains a reference to the file to upload. | true |
| folderId | Parent Folder ID | STRING | ID of the folder where the file will be uploaded; if no folder is selected, the file will be uploaded to the root folder. | false |
#### Example JSON Structure [#example-json-structure-10]
```json
{
"label" : "Upload File",
"name" : "uploadFile",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"folderId" : ""
},
"type" : "googleDrive/v1/uploadFile"
}
```
#### Output [#output-10]
***Sample Output:***
`{id=1hPJ7kjhStTX90amAWSJ-V0K1-nhDlsIr, mimeType=plain/text, name=new-file.txt}`
Type: OBJECT
#### Properties [#properties-19]
| Name | Type | Description |
| :------: | :----: | :---------------------------------------: |
| id | STRING | The ID of the file. |
| kind | STRING | Identifies what kind of resource this is. |
| mimeType | STRING | The MIME type of the file. |
| name | STRING | The name of the file. |
#### Output Example [#output-example-7]
```json
{
"id" : "",
"kind" : "",
"mimeType" : "",
"name" : ""
}
```
#### Find Folder ID [#find-folder-id-6]
To find the Folder ID, click [here](/reference/components/google-drive_v1#how-to-find-folder-id).
## Triggers [#triggers]
### New File [#new-file]
Name: newFile
`Triggers when new file is uploaded to Google Drive.`
Type: POLLING
#### Properties [#properties-20]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----: | :--------------------------------------------------: | :------: |
| folderId | Parent Folder ID | STRING | The ID of the folder where the new file is uploaded. | true |
#### Output [#output-11]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-21]
| Name | Type | Description |
| :------: | :----: | :---------------------------------------: |
| id | STRING | The ID of the file. |
| kind | STRING | Identifies what kind of resource this is. |
| mimeType | STRING | The MIME type of the file. |
| name | STRING | The name of the file. |
#### JSON Example [#json-example]
```json
{
"label" : "New File",
"name" : "newFile",
"parameters" : {
"folderId" : ""
},
"type" : "googleDrive/v1/newFile"
}
```
#### Find Folder ID [#find-folder-id-7]
To find the Folder ID, click [here](/reference/components/google-drive_v1#how-to-find-folder-id).
### New Folder [#new-folder]
Name: newFolder
`Triggers when new folder is uploaded to Google Drive.`
Type: POLLING
#### Properties [#properties-22]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----: | :----------------------------------------------------: | :------: |
| folderId | Parent Folder ID | STRING | The ID of the folder where the new folder is uploaded. | true |
#### Output [#output-12]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-23]
| Name | Type | Description |
| :------: | :----: | :---------------------------------------: |
| id | STRING | The ID of the file. |
| kind | STRING | Identifies what kind of resource this is. |
| mimeType | STRING | The MIME type of the file. |
| name | STRING | The name of the file. |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Folder",
"name" : "newFolder",
"parameters" : {
"folderId" : ""
},
"type" : "googleDrive/v1/newFolder"
}
```
#### Find Folder ID [#find-folder-id-8]
To find the Folder ID, click [here](/reference/components/google-drive_v1#how-to-find-folder-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find File ID [#how-to-find-file-id]
To find a File ID, open the file in your browser. The ID is the long string of letters and numbers in the URL between `/d/` and the next `/` (usually `/view` or `/edit`).
For example, in the URL `https://drive.google.com/file/d/1234567890abcdefghijklmnopqrstuvwxyz/view`, the File ID is `1234567890abcdefghijklmnopqrstuvwxyz`.
The File ID can also be found in the output of the following actions and triggers:
* **Copy File**
* **Create New Text File**
* **Get File**
* **List Files**
* **Upload File**
* **New File** trigger
### How to find Folder ID [#how-to-find-folder-id]
To find a Folder ID, open the folder in your browser. The ID is the string of characters at the end of the URL after `folders/`.
For example, in the URL `https://drive.google.com/drive/folders/abcjhadjh213102398890r4`, the Folder ID is `abcjhadjh213102398890r4`.
The Folder ID can also be found in the output of the following actions and triggers:
* **Create New Folder**
* **Get File**
* **List Folders**
* **New Folder** trigger
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Forms
URL: /reference/components/google-forms_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-forms_v1.mdx
Google Forms is a web-based application that allows users to create surveys, quizzes, and forms for data collection and analysis, with real-time collaboration and response tracking.
Categories: Surveys and Feedback
Type: googleForms/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Forms API [#enable-google-forms-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google forms api" in the search bar.
5. Click on **Google Forms API**.
6. Click **Enable**.
## Actions [#actions]
### Get All Responses [#get-all-responses]
Name: getAllResponses
`Get all responses of a form.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :-----------------------------------------: | :------: |
| formId | Form ID | STRING | ID of the form whose responses to retrieve. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get All Responses",
"name" : "getAllResponses",
"parameters" : {
"formId" : ""
},
"type" : "googleForms/v1/getAllResponses"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Form ID [#find-form-id]
To find the Form ID, click [here](/reference/components/google-forms_v1#how-to-find-form-id).
### Get Form [#get-form]
Name: getForm
`Get the information about a form.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :-------------------------: | :------: |
| formId | Form ID | STRING | ID of the form to retrieve. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Form",
"name" : "getForm",
"parameters" : {
"formId" : ""
},
"type" : "googleForms/v1/getForm"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Form ID [#find-form-id-1]
To find the Form ID, click [here](/reference/components/google-forms_v1#how-to-find-form-id).
### Get Response [#get-response]
Name: getResponse
`Get the response of a form.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----------------------------------------------------------------: | :----------------------------------------: | :------: |
| formId | Form ID | STRING | ID of the form whose response to retrieve. | true |
| responseId | Response ID | STRING Depends On formId | ID of the response to retrieve. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Response",
"name" : "getResponse",
"parameters" : {
"formId" : "",
"responseId" : ""
},
"type" : "googleForms/v1/getResponse"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Form ID [#find-form-id-2]
To find the Form ID, click [here](/reference/components/google-forms_v1#how-to-find-form-id).
#### Find response ID [#find-response-id]
To find the response ID, click [here](/reference/components/google-forms_v1#how-to-find-response-id).
## Triggers [#triggers]
### New Response [#new-response]
Name: newResponse
`Triggers when response is submitted to Google Form.`
Type: POLLING
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :----------------------------------------: | :------: |
| formId | Form ID | STRING | ID of the form to watch for new responses. | true |
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Response",
"name" : "newResponse",
"parameters" : {
"formId" : ""
},
"type" : "googleForms/v1/newResponse"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find form ID [#how-to-find-form-id]
To find a Google Form ID, open the form in edit mode and look at the URL in your browser's address bar. The ID is the long string of letters, numbers, and hyphens located between /d/ and /edit. Example: [https://docs.google.com/forms/d/1234567890abcdefghijklmnopqrstuvwxyz/edit](https://docs.google.com/forms/d/1234567890abcdefghijklmnopqrstuvwxyz/edit).
### How to find response ID [#how-to-find-response-id]
To find a Google Form response ID, open the form in edit mode and open the responses tab. Look at the URL in your browser's address bar. The response ID is the long string of letters, numbers, and hyphens located after `response=`. Example: [https://docs.google.com/forms/d/1y7BeYrN3vKgPkbGMT6UYRzAFCxtjaazfvGioEy7Jppw/edit#response=ACYDBNg3TC2BppQ1hidQeFGKW1nSMue5zxOAA4A-A\_cUBQ7Hn05pIXAInZ9S6jF-qw](https://docs.google.com/forms/d/1y7BeYrN3vKgPkbGMT6UYRzAFCxtjaazfvGioEy7Jppw/edit#response=ACYDBNg3TC2BppQ1hidQeFGKW1nSMue5zxOAA4A-A_cUBQ7Hn05pIXAInZ9S6jF-qw)
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Gmail
URL: /reference/components/google-mail_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-mail_v1.mdx
Gmail is a widely used email service by Google, offering free and feature-rich communication, organization, and storage capabilities accessible through web browsers and mobile apps.
Categories: Communication
Type: googleMail/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Gmail API [#enable-gmail-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "gmail api" in the search bar.
5. Click on **Gmail API**.
6. Click **Enable**.
## Actions [#actions]
### Add Labels [#add-labels]
Name: addLabels
`Add labels to an email in your Gmail account.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :--------: | :-------------------------------------------------------------: | :--------------------------------------------------------------------------------: | :------: |
| id | Message ID | STRING | ID of the message to add labels. | true |
| labelIds | Labels IDs | ARRAY Items \[STRING] | ID of the labels to add to message. You can add up to 100 labels with each update. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Labels",
"name" : "addLabels",
"parameters" : {
"id" : "",
"labelIds" : [ "" ]
},
"type" : "googleMail/v1/addLabels"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :-------------------------------------------------------------: | :--------------------------------------------: |
| id | STRING | The ID of the message. |
| threadId | STRING | The ID of the thread the message belongs to. |
| labelIds | ARRAY Items \[STRING] | List of IDs of labels applied to this message. |
#### Output Example [#output-example]
```json
{
"id" : "",
"threadId" : "",
"labelIds" : [ "" ]
}
```
#### Find Message ID [#find-message-id]
To find the Message ID, click [here](/reference/components/google-mail_v1#how-to-find-message-id).
#### Find Label ID [#find-label-id]
To find the Label ID, click [here](/reference/components/google-mail_v1#how-to-find-label-id).
### Archive Email [#archive-email]
Name: archiveEmail
`Archive an email message.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :--------: | :----: | :-------------------------------: | :------: |
| id | Message ID | STRING | ID of the message to be archived. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Archive Email",
"name" : "archiveEmail",
"parameters" : {
"id" : ""
},
"type" : "googleMail/v1/archiveEmail"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------: | :-------------------------------------------------------------: | :--------------------------------------------: |
| id | STRING | The ID of the message. |
| threadId | STRING | The ID of the thread the message belongs to. |
| labelIds | ARRAY Items \[STRING] | List of IDs of labels applied to this message. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"threadId" : "",
"labelIds" : [ "" ]
}
```
#### Find Message ID [#find-message-id-1]
To find the Message ID, click [here](/reference/components/google-mail_v1#how-to-find-message-id).
### Create Label [#create-label]
Name: createLabel
`Creates a new label.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :------------------------------------------: | :------: |
| name | Name | STRING | The display name of the newly created label. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Label",
"name" : "createLabel",
"parameters" : {
"name" : ""
},
"type" : "googleMail/v1/createLabel"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------------: | :----: | :----------------------------------------------------------------------------------------: |
| id | STRING | ID of the newly created label. |
| labelListVisibility | STRING | The visibility of the label in the label list in the Gmail web interface. |
| messageListVisibility | STRING | The visibility of messages with this label in the message list in the Gmail web interface. |
| name | STRING | The display name of the label. |
#### Output Example [#output-example-2]
```json
{
"id" : "",
"labelListVisibility" : "",
"messageListVisibility" : "",
"name" : ""
}
```
### Delete Email [#delete-email]
Name: deleteEmail
`Deletes an email from your Gmail account immediately and permanently.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--: | :--------: | :----: | :------------------------------: | :------: |
| id | Message ID | STRING | The ID of the message to delete. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete Email",
"name" : "deleteEmail",
"parameters" : {
"id" : ""
},
"type" : "googleMail/v1/deleteEmail"
}
```
#### Output [#output-3]
This action does not produce any output.
### Get Email [#get-email]
Name: getEmail
`Gets the specified email message.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :-------------: | :--------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------: | :------: |
| id | Message ID | STRING | The ID of the message to retrieve. | true |
| format | Format | STRING Options SIMPLE , MINIMAL , FULL , RAW , METADATA | The format to return the message in. | false |
| metadataHeaders | Metadata headers | ARRAY Items \[STRING] | When given and format is METADATA, only include headers specified. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Get Email",
"name" : "getEmail",
"parameters" : {
"id" : "",
"format" : "",
"metadataHeaders" : [ "" ]
},
"type" : "googleMail/v1/getEmail"
}
```
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Get Thread [#get-thread]
Name: getThread
`Gets the specified thread.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :-------------: | :--------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------: | :------: |
| id | Thread ID | STRING | The ID of the thread to retrieve. | true |
| format | Format | STRING Options SIMPLE , MINIMAL , FULL , RAW , METADATA | The format to return the message in. | false |
| metadataHeaders | Metadata headers | ARRAY Items \[STRING] | When given and format is METADATA, only include headers specified. | false |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get Thread",
"name" : "getThread",
"parameters" : {
"id" : "",
"format" : "",
"metadataHeaders" : [ "" ]
},
"type" : "googleMail/v1/getThread"
}
```
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Message ID [#find-message-id-2]
To find the Thread ID, click [here](/reference/components/google-mail_v1#how-to-find-thread-id).
### List Labels [#list-labels]
Name: listLabels
`Lists all labels in your mailbox.`
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "List Labels",
"name" : "listLabels",
"type" : "googleMail/v1/listLabels"
}
```
#### Output [#output-6]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-------------------: | :----: | :----------------------------------------------------------------------------------------: |
| name | STRING | The display name of the label. |
| id | STRING | ID of the label. |
| messageListVisibility | STRING | The visibility of messages with this label in the message list in the Gmail web interface. |
| labelListVisibility | STRING | The visibility of the label in the label list in the Gmail web interface. |
| type | STRING | The owner type for the label. |
#### Output Example [#output-example-3]
```json
[ {
"name" : "",
"id" : "",
"messageListVisibility" : "",
"labelListVisibility" : "",
"type" : ""
} ]
```
### Remove Labels [#remove-labels]
Name: removeLabels
`Removes labels on the specified message.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :------: | :--------: | :-------------------------------------------------------------: | :--------------------------------------: | :------: |
| id | Message ID | STRING | ID of the message to remove labels. | true |
| labelIds | Labels IDs | ARRAY Items \[STRING] | ID of the labels to remove from message. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Remove Labels",
"name" : "removeLabels",
"parameters" : {
"id" : "",
"labelIds" : [ "" ]
},
"type" : "googleMail/v1/removeLabels"
}
```
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :------: | :-------------------------------------------------------------: | :--------------------------------------------: |
| id | STRING | The ID of the message. |
| threadId | STRING | The ID of the thread the message belongs to. |
| labelIds | ARRAY Items \[STRING] | List of IDs of labels applied to this message. |
#### Output Example [#output-example-4]
```json
{
"id" : "",
"threadId" : "",
"labelIds" : [ "" ]
}
```
#### Find Message ID [#find-message-id-3]
To find the Message ID, click [here](/reference/components/google-mail_v1#how-to-find-message-id).
#### Find Label ID [#find-label-id-1]
To find the Label ID, click [here](/reference/components/google-mail_v1#how-to-find-label-id).
### Reply to Email [#reply-to-email]
Name: replyToEmail
`Send a reply to an email message.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :--------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| id | Message ID | STRING | The ID of the message to reply to. | true |
| to | To | ARRAY Items \[STRING] | Recipients email addresses. | true |
| bcc | Bcc | ARRAY Items \[STRING] | Bcc recipients email addresses. | false |
| cc | Cc | ARRAY Items \[STRING] | Cc recipients email addresses. | false |
| bodyType | Body Type | STRING Options plain , html | | true |
| body | Body - Text | STRING | The body of the message in text format. | true |
| body | Body - HTML | STRING | The body of the message in HTML format. | true |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | A list of attachments to send with the email. | false |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Reply to Email",
"name" : "replyToEmail",
"parameters" : {
"id" : "",
"to" : [ "" ],
"bcc" : [ "" ],
"cc" : [ "" ],
"bodyType" : "",
"body" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "googleMail/v1/replyToEmail"
}
```
#### Output [#output-8]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :------: | :-------------------------------------------------------------: | :--------------------------------------------: |
| id | STRING | The ID of the message. |
| threadId | STRING | The ID of the thread the message belongs to. |
| labelIds | ARRAY Items \[STRING] | List of IDs of labels applied to this message. |
#### Output Example [#output-example-5]
```json
{
"id" : "",
"threadId" : "",
"labelIds" : [ "" ]
}
```
#### Find Message ID [#find-message-id-4]
To find the Message ID, click [here](/reference/components/google-mail_v1#how-to-find-message-id).
### Search Email [#search-email]
Name: searchEmail
`Lists the email messages in the user's mailbox.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :--------------: | :----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| maxResults | Max Results | NUMBER | Maximum number of messages to return. | false |
| pageToken | Page Token | STRING | Page token to retrieve a specific page of results in the list. | false |
| from | From | STRING | The address sending the mail | false |
| to | To | STRING | The address receiving the new mail | false |
| subject | Subject | STRING | Words in the subject line | false |
| category | Category | STRING Options primary , social , promotions , updates , forums , reservations , purchases | Messages in a certain category | false |
| labelIds | Labels | ARRAY Items \[STRING] | Only return messages with labels that match all of the specified label IDs. Messages in a thread might have labels that other messages in the same thread don't have. | false |
| includeSpamTrash | Include Spam Trash | BOOLEAN Options true , false | Include messages from SPAM and TRASH in the results. | false |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Search Email",
"name" : "searchEmail",
"parameters" : {
"maxResults" : 0.0,
"pageToken" : "",
"from" : "",
"to" : "",
"subject" : "",
"category" : "",
"labelIds" : [ "" ],
"includeSpamTrash" : false
},
"type" : "googleMail/v1/searchEmail"
}
```
#### Output [#output-9]
Type: OBJECT
#### Properties [#properties-16]
| Name | Type | Description |
| :----------------: | :--------------------------------------------------------------------------------------: | :---------------------------: |
| messages | ARRAY Items \[\{STRING(id), STRING(threadId)}] | |
| nextPageToken | STRING | |
| resultSizeEstimate | NUMBER | Estimated number of messages. |
#### Output Example [#output-example-6]
```json
{
"messages" : [ {
"id" : "",
"threadId" : ""
} ],
"nextPageToken" : "",
"resultSizeEstimate" : 0.0
}
```
### Send Email [#send-email]
Name: sendEmail
`Creates and sends a new email message from your Gmail account.`
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :--------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| to | To | ARRAY Items \[STRING] | Recipients email addresses. | true |
| subject | Subject | STRING | Subject of the email. | true |
| bcc | Bcc | ARRAY Items \[STRING] | Bcc recipients email addresses. | false |
| cc | Cc | ARRAY Items \[STRING] | Cc recipients email addresses. | false |
| replyTo | Reply To | ARRAY Items \[STRING] | Reply-to email addresses. | false |
| bodyType | Body Type | STRING Options plain , html | | true |
| body | Body - Text | STRING | The body of the message in text format. | true |
| body | Body - HTML | STRING | The body of the message in HTML format. | true |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | A list of attachments to send with the email. | false |
#### Example JSON Structure [#example-json-structure-10]
```json
{
"label" : "Send Email",
"name" : "sendEmail",
"parameters" : {
"to" : [ "" ],
"subject" : "",
"bcc" : [ "" ],
"cc" : [ "" ],
"replyTo" : [ "" ],
"bodyType" : "",
"body" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "googleMail/v1/sendEmail"
}
```
#### Output [#output-10]
Type: OBJECT
#### Properties [#properties-18]
| Name | Type | Description |
| :------: | :-------------------------------------------------------------: | :--------------------------------------------: |
| id | STRING | The ID of the message. |
| threadId | STRING | The ID of the thread the message belongs to. |
| labelIds | ARRAY Items \[STRING] | List of IDs of labels applied to this message. |
#### Output Example [#output-example-7]
```json
{
"id" : "",
"threadId" : "",
"labelIds" : [ "" ]
}
```
## Triggers [#triggers]
### New Email [#new-email]
Name: newEmail
`Triggers when new mail is found in your Gmail inbox.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-19]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| topicName | Topic Name | STRING | Name of your PubSub topic you want to subscribe to. | true |
| format | Format | STRING Options SIMPLE , MINIMAL , FULL , RAW , METADATA | The format to return the message in. | false |
#### Output [#output-11]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Email",
"name" : "newEmail",
"parameters" : {
"topicName" : "",
"format" : ""
},
"type" : "googleMail/v1/newEmail"
}
```
### New Email Trigger Setup [#new-email-trigger-setup]
Setting up Pub/Sub service
1. Deploy a project that has **New Mail Trigger**.
2. Click this icon to copy the static webhook URL.
3. In the search bar enter `pub/sub`.
4. Click on **Pub/Sub**.
5. Click on **Create topic**.
6. Enter your topic name.
7. Click on **Create**.
8. Click on **Subscriptions**.
9. Click on your automatically created subscription.
10. Click on **Edit**.
11. Select **Push**.
12. Click on **Endpoint URL** and paste the previously copied URL.
13. Select **Never expire**.
14. Click on **Update**.
15. Click on **Topics**.
16. Click here.
17. Click on **Add principal**.
18. Add **[gmail-api-push@system.gserviceaccount.com](mailto:gmail-api-push@system.gserviceaccount.com)** as the new principal.
19. Click here.
20. Click on **Pub/Sub Publisher**.
21. Click on **Save**.
22. Click on **MyTopic**.
23. This is your **topic name**.
### New Email Polling [#new-email-polling]
Name: newEmailPolling
`Periodically checks your Gmail inbox for any new incoming emails.`
Type: POLLING
#### Properties [#properties-20]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: | :------: |
| format | Format | STRING Options SIMPLE , MINIMAL , FULL , RAW , METADATA | The format to return the message in. | false |
#### Output [#output-12]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-1]
```json
{
"label" : "New Email Polling",
"name" : "newEmailPolling",
"parameters" : {
"format" : ""
},
"type" : "googleMail/v1/newEmailPolling"
}
```
### New Email Pooling Trigger Setup [#new-email-pooling-trigger-setup]
Turning on Google Calendar API
Gmail doesn’t manage its own time zone; it inherits the time zone from your Google Calendar settings, so we rely on the Calendar API to resolve times correctly.
1. Go to the [Google Cloud Console](https://console.cloud.google.com/).
2. Click on **APIs & Services**.
3. In search bar enter "Google Calendar API".
4. Click on **Google Calendar API**.
5. Click on **Enable**.
6. Done 🚀
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Message ID [#how-to-find-message-id]
The best way to find a message ID is to use the output of one of the Gmail actions or triggers. In the output, you will find an `id` property, which represents the message ID.
Some actions and triggers that return a message ID:
* **Search Email**
* **Get Mail**
* **Send Email**
* **New Email** trigger
#### Via API [#via-api]
* Use the `GET https://gmail.googleapis.com/gmail/v1/users/{userId}/messages` endpoint.
* Lists the messages in the user's mailbox.
### How to find Label ID [#how-to-find-label-id]
The best way to find a label ID is to use the **List Labels** action. It returns a list of labels, each containing a `name` and an `id`.
#### Via API [#via-api-1]
* Use the `GET https://gmail.googleapis.com/gmail/v1/users/{userId}/labels` endpoint.
* Lists all labels in the user's mailbox.
### How to find Thread ID [#how-to-find-thread-id]
The best way to find a thread ID is to use the output of Gmail actions such as **Get Thread**, **Get Mail**, or **Search Email**. In the output, you will find a `threadId` property.
#### Via API [#via-api-2]
* Use the `GET https://gmail.googleapis.com/gmail/v1/users/{userId}/threads` endpoint.
* Lists the threads in the user's mailbox.
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Maps
URL: /reference/components/google-maps_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-maps_v1.mdx
Google Maps is a widely used mapping service by Google, offering free and feature-rich navigation, location discovery, and real-time traffic updates accessible through web browsers and mobile apps.
Categories: Helpers
Type: googleMaps/v1
## Connections [#connections]
Version: 1
### api\_key [#api_key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------: | :-----: | :----: | :------------------------------------------------: | :------: |
| api\_token | API Key | STRING | API key that can be found at Google Cloud Console. | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Geocoding API, Places API and Routes API [#enable-geocoding-api-places-api-and-routes-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Click this icon.
3. Click on **APIs & Services**.
4. Enter **Geocoding API** in search bar.
5. Click on **Geocoding API**.
6. Click on **Enable**.
7. Enter **Places API** in search bar.
8. Click on **Places API**.
9. Click on **Enable**.
10. Enter **Routes API** in search bar.
11. Click on **Routes API**.
12. Click on **Enable**.
## Actions [#actions]
### Get Address [#get-address]
Name: getAddress
`Get address from inputted geolocation.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----: | :---------------------------: | :------: |
| latitude | Latitude | NUMBER | Latitude of the geolocation. | true |
| longitude | Longitude | NUMBER | Longitude of the geolocation. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Address",
"name" : "getAddress",
"parameters" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"type" : "googleMaps/v1/getAddress"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: |
| results | ARRAY Items \[\{\[\{STRING(long\_name), STRING(short\_name), \[STRING]\(types)}]\(address\_components), STRING(formatted\_address), \{\{NUMBER(lat), NUMBER(lng)}(location), STRING(location\_type), \{\{NUMBER(lat), NUMBER(lng)}(northeast), \{NUMBER(lat), NUMBER(lng)}(southwest)}(viewport)}(geometry), \[\{NUMBER(latitude), NUMBER(longitude)}(\$location)]\(navigation\_points), STRING(place\_id), \{STRING(compound\_code), STRING(global\_code)}(plus\_code), \[STRING]\(types)}] | When the geocoder returns results, it places them within a (JSON) results array. |
| status | STRING | Status of the request. |
#### Output Example [#output-example]
```json
{
"results" : [ {
"address_components" : [ {
"long_name" : "",
"short_name" : "",
"types" : [ "" ]
} ],
"formatted_address" : "",
"geometry" : {
"location" : {
"lat" : 0.0,
"lng" : 0.0
},
"location_type" : "",
"viewport" : {
"northeast" : {
"lat" : 0.0,
"lng" : 0.0
},
"southwest" : {
"lat" : 0.0,
"lng" : 0.0
}
}
},
"navigation_points" : [ {
"latitude" : 0.0,
"longitude" : 0.0
} ],
"place_id" : "",
"plus_code" : {
"compound_code" : "",
"global_code" : ""
},
"types" : [ "" ]
} ],
"status" : ""
}
```
### Get Geolocation [#get-geolocation]
Name: getGeolocation
`Get geolocation of address.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :----: | :--------------------------------------: | :------: |
| address | Address | STRING | Specify address you want geolocation of. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Geolocation",
"name" : "getGeolocation",
"parameters" : {
"address" : ""
},
"type" : "googleMaps/v1/getGeolocation"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: |
| results | ARRAY Items \[\{\[\{STRING(long\_name), STRING(short\_name), \[STRING]\(types)}]\(address\_components), STRING(formatted\_address), \{\{NUMBER(lat), NUMBER(lng)}(location), STRING(location\_type), \{\{NUMBER(lat), NUMBER(lng)}(northeast), \{NUMBER(lat), NUMBER(lng)}(southwest)}(viewport)}(geometry), \[\{NUMBER(latitude), NUMBER(longitude)}(\$location)]\(navigation\_points), STRING(place\_id), \{STRING(compound\_code), STRING(global\_code)}(plus\_code), \[STRING]\(types)}] | When the geocoder returns results, it places them within a (JSON) results array. |
| status | STRING | Status of the request. |
#### Output Example [#output-example-1]
```json
{
"results" : [ {
"address_components" : [ {
"long_name" : "",
"short_name" : "",
"types" : [ "" ]
} ],
"formatted_address" : "",
"geometry" : {
"location" : {
"lat" : 0.0,
"lng" : 0.0
},
"location_type" : "",
"viewport" : {
"northeast" : {
"lat" : 0.0,
"lng" : 0.0
},
"southwest" : {
"lat" : 0.0,
"lng" : 0.0
}
}
},
"navigation_points" : [ {
"latitude" : 0.0,
"longitude" : 0.0
} ],
"place_id" : "",
"plus_code" : {
"compound_code" : "",
"global_code" : ""
},
"types" : [ "" ]
} ],
"status" : ""
}
```
### Get Route [#get-route]
Name: getRoute
`Get route between inputted origin and destination.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------------------: | :------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| origin | Origin | STRING | Specify address of origin in accordance with the format used by the national postal service of the country concerned. Additional address elements such as business names and unit, suite or floor numbers should be avoided. Street address elements should be delimited by spaces. | true |
| destination | Destination | STRING | Specify address of destination in accordance with the format used by the national postal service of the country concerned. Additional address elements such as business names and unit, suite or floor numbers should be avoided. Street address elements should be delimited by spaces. | true |
| routingPreference | Routing Preference | STRING Options TRAFFIC\_UNAWARE , TRAFFIC\_AWARE , TRAFFIC\_AWARE\_OPTIMAL | Routing preference of the route. | false |
| computeAlternativeRoutes | Compute Alternative Routes | BOOLEAN Options true , false | Whether alternative routes should be computed. | false |
| avoidTolls | Avoid Tolls | BOOLEAN Options true , false | Whether to avoid tolls. | false |
| avoidHighways | Avoid Highways | BOOLEAN Options true , false | Whether to avoid highways. | false |
| avoidFerries | Avoid Ferries | BOOLEAN Options true , false | Whether to avoid ferries. | false |
| units | Units | STRING Options METRIC , IMPERIAL | Metrics of the route | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Route",
"name" : "getRoute",
"parameters" : {
"origin" : "",
"destination" : "",
"routingPreference" : "",
"computeAlternativeRoutes" : false,
"avoidTolls" : false,
"avoidHighways" : false,
"avoidFerries" : false,
"units" : ""
},
"type" : "googleMaps/v1/getRoute"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| routes | ARRAY Items \[\{\[STRING]\(routeLabels), \[\{INTEGER(distanceMeters), STRING(duration), STRING(staticDuration), \{STRING(encodedPolyline), \{}(goeJsonLinestring)}(polyline), \{\{\{NUMBER(latitude), NUMBER(longitude)}(latLng), INTEGER(heading)}(location)}(startLocation), \{\{\{NUMBER(latitude), NUMBER(longitude)}(latLng), INTEGER(heading)}(location)}(endLocation)}, \[\{INTEGER(distanceMeters), STRING(staticDuration), \{STRING(encodedPolyline), \{}(goeJsonLinestring)}(polyline), \{\{\{NUMBER(latitude), NUMBER(longitude)}(latLng), INTEGER(heading)}(location)}(startLocation), \{\{\{NUMBER(latitude), NUMBER(longitude)}(latLng), INTEGER(heading)}(location)}(endLocation), \{STRING(maneuver), STRING(instructions)}(navigationInstructions), \{\[\{INTEGER(startPolylinePointIndex), INTEGER(endPolylinePointIndex), STRING(speed)}($speedReadingInterval)]\(speedReadingInterval)}\(travelAdvisory), {{{STRING\(text), STRING\(languageCode)}\(localizedText)}\(distance), {{STRING\(text), STRING\(languageCode)}\(localizedText)}\(staticDuration)}\(routeLegStepLocalizedValues), {{{{STRING\(name), {{{NUMBER\(latitude), NUMBER\(longitude)}\(latLng), INTEGER\(heading)}\(location)}\(location)}\(transitStop)}\(arrivalStop), STRING\(arrivalTime), {{STRING\(name), {{{NUMBER\(latitude), NUMBER\(longitude)}\(latLng), INTEGER\(heading)}\(location)}\(location)}\(transitStop)}\(departureStop), STRING\(departureTime)}\(stopDetails), {{{{{STRING\(text), STRING\(languageCode)}\(localizedText)}\(time), STRING\(timeZone)}\(localizedTime)}\(arrivalTime), {{{{STRING\(text), STRING\(languageCode)}\(localizedText)}\(time), STRING\(timeZone)}\(localizedTime)}\(departureTime)}\(localizedValues), STRING\(headsign), STRING\(headway), {[{STRING\(name), STRING\(phoneNumber), STRING\(uri)}\($transitAgency)]\(agencies), STRING(name), STRING(uri), STRING(color), STRING(iconUri), STRING(nameShort), STRING(textColor), \{\{\{\{STRING(text), STRING(languageCode)}(localizedText)}(name), STRING(type), STRING(iconUri), STRING(localIconUri)}(transitVehicle)}(vehicle)}(transitLine), INTEGER(stopCount), STRING(tripShortText)}(transitDetails), STRING(travelMode)}($routeLegStep)]\($steps), \{\{\{\[\{STRING(currencyCode), STRING(units), INTEGER(nanos)}($money)]\(estimatedPrice)}\(tollInfo), [{INTEGER\(startPolylinePointIndex), INTEGER\(endPolylinePointIndex), STRING\(speed)}\($speedReadingInterval)]\(speedReadingInterval)}(routeLegTravelAdvisory)}($travelAdvisory), {{{STRING\(text), STRING\(languageCode)}\(localizedText)}\(distance), {{STRING\(text), STRING\(languageCode)}\(localizedText)}\(duration), {{STRING\(text), STRING\(languageCode)}\(localizedText)}\(staticDuration)}\($localizedValuesRouteLeg), \{\[\{\{STRING(maneuver), STRING(instructions)}(navigationInstructions), STRING(travelMode), INTEGER(stepStartIndex), INTEGER(stepEndIndex)}($multiModalSegment)]\(multiModalSegments)}\($stepsOverview)]\(legs), INTEGER(distanceMeters), STRING(duration), STRING(staticDuration), \{STRING(encodedPolyline), \{}(goeJsonLinestring)}(polyline), STRING(description), \[STRING]\(warnings), \{\{\{NUMBER(latitude), NUMBER(longitude)}(latLng)}(low), \{\{NUMBER(latitude), NUMBER(longitude)}(latLng)}(high)}(viewport), \{\{\{\[\{STRING(currencyCode), STRING(units), INTEGER(nanos)}($money)]\(estimatedPrice)}\(tollInfo), [{INTEGER\(startPolylinePointIndex), INTEGER\(endPolylinePointIndex), STRING\(speed)}\($speedReadingInterval)]\(speedReadingInterval), STRING(fuelConsumptionMicroliters), BOOLEAN(routeRestrictionsPartiallyIgnored), \{\{STRING(currencyCode), STRING(units), INTEGER(nanos)}(money)}(transitFare)}(routeTravelAdvisory)}(travelAdvisory), \[INTEGER]\(optimizedIntermediateWaypointIndex), \{\{\{STRING(text), STRING(languageCode)}(localizedText)}(distance), \{\{STRING(text), STRING(languageCode)}(localizedText)}(duration), \{\{STRING(text), STRING(languageCode)}(localizedText)}(staticDuration), \{\{STRING(text), STRING(languageCode)}(localizedText)}(transitFare)}(localizedValuesRoute), STRING(routeToken), \{\[\{STRING(flyoverPresence), \{INTEGER(startIndex), INTEGER(endIndex)}(polylinePointIndex)}($flyoverInfo)]\(flyoverInfo), [{STRING\(narrowRoadPresence), {INTEGER\(startIndex), INTEGER\(endIndex)}\(polylinePointIndex)}\($narrowRoadInfo)]\(narrowRoadInfo)}(polylineDetails)}(\$route)] | Routes from origin to destination. |
| fallbackInfo | OBJECT Properties \{STRING(routingMode), STRING(reason)} | In some cases when the server is not able to compute the route results with all of the input preferences, it may fallback to using a different way of computation. |
| geocodingResults | OBJECT Properties \{\{\{\{INTEGER(code), STRING(message), \[\{}]\(details)}(status), \[STRING]\(type), BOOLEAN(partialMatch), STRING(placeId), INTEGER(intermediateWaypointRequestIndex)}(geocodedWaypoint)}(origin), \{\{\{INTEGER(code), STRING(message), \[\{}]\(details)}(status), \[STRING]\(type), BOOLEAN(partialMatch), STRING(placeId), INTEGER(intermediateWaypointRequestIndex)}(geocodedWaypoint)}(destination), \[\{\{INTEGER(code), STRING(message), \[\{}]\(details)}(status), \[STRING]\(type), BOOLEAN(partialMatch), STRING(placeId), INTEGER(intermediateWaypointRequestIndex)}(\$geocodedWaypoint)]\(intermediates)} | Contains geocoding response info for waypoints specified as addresses. |
#### Output Example [#output-example-2]
```json
{
"routes" : [ {
"routeLabels" : [ "" ],
"legs" : [ {
"distanceMeters" : 1,
"duration" : "",
"staticDuration" : "",
"polyline" : {
"encodedPolyline" : "",
"goeJsonLinestring" : { }
},
"startLocation" : {
"location" : {
"latLng" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"heading" : 1
}
},
"endLocation" : {
"location" : {
"latLng" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"heading" : 1
}
}
}, [ {
"distanceMeters" : 1,
"staticDuration" : "",
"polyline" : {
"encodedPolyline" : "",
"goeJsonLinestring" : { }
},
"startLocation" : {
"location" : {
"latLng" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"heading" : 1
}
},
"endLocation" : {
"location" : {
"latLng" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"heading" : 1
}
},
"navigationInstructions" : {
"maneuver" : "",
"instructions" : ""
},
"travelAdvisory" : {
"speedReadingInterval" : [ {
"startPolylinePointIndex" : 1,
"endPolylinePointIndex" : 1,
"speed" : ""
} ]
},
"routeLegStepLocalizedValues" : {
"distance" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
},
"staticDuration" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
}
},
"transitDetails" : {
"stopDetails" : {
"arrivalStop" : {
"transitStop" : {
"name" : "",
"location" : {
"location" : {
"latLng" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"heading" : 1
}
}
}
},
"arrivalTime" : "",
"departureStop" : {
"transitStop" : {
"name" : "",
"location" : {
"location" : {
"latLng" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"heading" : 1
}
}
}
},
"departureTime" : ""
},
"localizedValues" : {
"arrivalTime" : {
"localizedTime" : {
"time" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
},
"timeZone" : ""
}
},
"departureTime" : {
"localizedTime" : {
"time" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
},
"timeZone" : ""
}
}
},
"headsign" : "",
"headway" : "",
"transitLine" : {
"agencies" : [ {
"name" : "",
"phoneNumber" : "",
"uri" : ""
} ],
"name" : "",
"uri" : "",
"color" : "",
"iconUri" : "",
"nameShort" : "",
"textColor" : "",
"vehicle" : {
"transitVehicle" : {
"name" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
},
"type" : "",
"iconUri" : "",
"localIconUri" : ""
}
}
},
"stopCount" : 1,
"tripShortText" : ""
},
"travelMode" : ""
} ], {
"routeLegTravelAdvisory" : {
"tollInfo" : {
"estimatedPrice" : [ {
"currencyCode" : "",
"units" : "",
"nanos" : 1
} ]
},
"speedReadingInterval" : [ {
"startPolylinePointIndex" : 1,
"endPolylinePointIndex" : 1,
"speed" : ""
} ]
}
}, {
"distance" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
},
"duration" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
},
"staticDuration" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
}
}, {
"multiModalSegments" : [ {
"navigationInstructions" : {
"maneuver" : "",
"instructions" : ""
},
"travelMode" : "",
"stepStartIndex" : 1,
"stepEndIndex" : 1
} ]
} ],
"distanceMeters" : 1,
"duration" : "",
"staticDuration" : "",
"polyline" : {
"encodedPolyline" : "",
"goeJsonLinestring" : { }
},
"description" : "",
"warnings" : [ "" ],
"viewport" : {
"low" : {
"latLng" : {
"latitude" : 0.0,
"longitude" : 0.0
}
},
"high" : {
"latLng" : {
"latitude" : 0.0,
"longitude" : 0.0
}
}
},
"travelAdvisory" : {
"routeTravelAdvisory" : {
"tollInfo" : {
"estimatedPrice" : [ {
"currencyCode" : "",
"units" : "",
"nanos" : 1
} ]
},
"speedReadingInterval" : [ {
"startPolylinePointIndex" : 1,
"endPolylinePointIndex" : 1,
"speed" : ""
} ],
"fuelConsumptionMicroliters" : "",
"routeRestrictionsPartiallyIgnored" : false,
"transitFare" : {
"money" : {
"currencyCode" : "",
"units" : "",
"nanos" : 1
}
}
}
},
"optimizedIntermediateWaypointIndex" : [ 1 ],
"localizedValuesRoute" : {
"distance" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
},
"duration" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
},
"staticDuration" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
},
"transitFare" : {
"localizedText" : {
"text" : "",
"languageCode" : ""
}
}
},
"routeToken" : "",
"polylineDetails" : {
"flyoverInfo" : [ {
"flyoverPresence" : "",
"polylinePointIndex" : {
"startIndex" : 1,
"endIndex" : 1
}
} ],
"narrowRoadInfo" : [ {
"narrowRoadPresence" : "",
"polylinePointIndex" : {
"startIndex" : 1,
"endIndex" : 1
}
} ]
}
} ],
"fallbackInfo" : {
"routingMode" : "",
"reason" : ""
},
"geocodingResults" : {
"origin" : {
"geocodedWaypoint" : {
"status" : {
"code" : 1,
"message" : "",
"details" : [ { } ]
},
"type" : [ "" ],
"partialMatch" : false,
"placeId" : "",
"intermediateWaypointRequestIndex" : 1
}
},
"destination" : {
"geocodedWaypoint" : {
"status" : {
"code" : 1,
"message" : "",
"details" : [ { } ]
},
"type" : [ "" ],
"partialMatch" : false,
"placeId" : "",
"intermediateWaypointRequestIndex" : 1
}
},
"intermediates" : [ {
"status" : {
"code" : 1,
"message" : "",
"details" : [ { } ]
},
"type" : [ "" ],
"partialMatch" : false,
"placeId" : "",
"intermediateWaypointRequestIndex" : 1
} ]
}
}
```
### Nearby Search [#nearby-search]
Name: nearbySearch
`Action takes one or more place types, and returns a list of matching places within the specified area.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-----------: | :------: | :------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: | :------: |
| includedTypes | Included | ARRAY Items \[STRING(\$keyword)] | Keywords which will be used for filtering. | true |
| address | Address | STRING | Center address of the nearby search. | true |
| radius | Radius | NUMBER | Radius of circle area that will be searched. The radius must be between 0.0 meters and 50000.0 meters inclusive. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Nearby Search",
"name" : "nearbySearch",
"parameters" : {
"includedTypes" : [ "" ],
"address" : "",
"radius" : 0.0
},
"type" : "googleMaps/v1/nearbySearch"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Meet
URL: /reference/components/google-meet_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-meet_v1.mdx
Google Meet is a communication service designed to help you have interactions with your friends, family, colleagues and classmates.
Categories: Communication
Type: googleMeet/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Meet REST API [#enable-google-meet-rest-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google meet rest api" in the search bar.
5. Click on **Google Meet REST API**.
6. Click **Enable**.
## Actions [#actions]
### Create Meeting Space [#create-meeting-space]
Name: createMeetingSpace
`Creates a meeting space.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------: | :------: |
| accessType | Access Type | STRING Options ACCESS\_TYPE\_UNSPECIFIED , OPEN , TRUSTED , RESTRICTED | Access type of the meeting space that determines who can join without knocking. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Meeting Space",
"name" : "createMeetingSpace",
"parameters" : {
"accessType" : ""
},
"type" : "googleMeet/v1/createMeetingSpace"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------: | :---------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| name | STRING | The name of the meeting space. |
| meetingUri | STRING | URI used to join meetings. |
| meetingCode | STRING | Type friendly unique string used to join the meeting. |
| config | OBJECT Properties \{STRING(accessType), STRING(entryPointAccess)} | |
#### Output Example [#output-example]
```json
{
"name" : "",
"meetingUri" : "",
"meetingCode" : "",
"config" : {
"accessType" : "",
"entryPointAccess" : ""
}
}
```
### Get Meeting Space [#get-meeting-space]
Name: getMeetingSpace
`Gets details about a meeting space.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------------------------------------------------------------------: | :------: |
| name | Name | STRING | The name of the meeting space or meeting code in format spaces/\{meetingCode}. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Meeting Space",
"name" : "getMeetingSpace",
"parameters" : {
"name" : ""
},
"type" : "googleMeet/v1/getMeetingSpace"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------: | :---------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| name | STRING | The name of the meeting space. |
| meetingUri | STRING | URI used to join meetings. |
| meetingCode | STRING | Type friendly unique string used to join the meeting. |
| config | OBJECT Properties \{STRING(accessType), STRING(entryPointAccess)} | |
#### Output Example [#output-example-1]
```json
{
"name" : "",
"meetingUri" : "",
"meetingCode" : "",
"config" : {
"accessType" : "",
"entryPointAccess" : ""
}
}
```
#### Find Meeting Code [#find-meeting-code]
To find the Meeting Code, click [here](/reference/components/google-meet_v1#how-to-find-meeting-code)
### List Participants [#list-participants]
Name: listParticipants
`Lists the participants in a conference record. By default, ordered by join time and in descending order.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :----: | :----------------: | :------: |
| conferenceRecords | Conference Records | STRING | Conference Records | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "List Participants",
"name" : "listParticipants",
"parameters" : {
"conferenceRecords" : ""
},
"type" : "googleMeet/v1/listParticipants"
}
```
#### Output [#output-2]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------------: | :-------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------: |
| name | STRING | Resource name of the participant.Format: conferenceRecords/\{conferenceRecord}/participants/\{participant} |
| user | OBJECT Properties \{} | User can be of type: signedinUser, anonymousUser, phoneUser |
| earliestStartTime | STRING | Time when the participant first joined the meeting. |
| latestEndTime | STRING | Time when the participant left the meeting for the last time. This can be null if it's an active meeting. |
#### Output Example [#output-example-2]
```json
[ {
"name" : "",
"user" : { },
"earliestStartTime" : "",
"latestEndTime" : ""
} ]
```
#### Find Conference Records [#find-conference-records]
To find the Conference Records, click [here](/reference/components/google-meet_v1#how-to-find-conference-records)
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Meeting Code [#how-to-find-meeting-code]
You can find Meeting Code in meetings URL; for example if this is the meeting URL "[https://meet.google.com/emx-oith-mwx](https://meet.google.com/emx-oith-mwx)" then the meeting code is **emx-oith-mwx**.
### How to find Conference Records [#how-to-find-conference-records]
Conference records can be found only by using this endpoint `https://meet.googleapis.com/v2/conferenceRecords`.
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Photos
URL: /reference/components/google-photos_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-photos_v1.mdx
Google Photos is a photo sharing and storage service.
Categories: File Storage
Type: googlePhotos/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Photos API [#enable-google-photos-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google photos library api" in the search bar.
5. Click on **Google Photos Library API**.
6. Click **Enable**.
## Actions [#actions]
### Create Album [#create-album]
Name: createAlbum
`Creates an album in a user's Google Photos library.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :----------------: | :------: |
| title | Title | STRING | Name of the album. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Album",
"name" : "createAlbum",
"parameters" : {
"title" : ""
},
"type" : "googlePhotos/v1/createAlbum"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------: |
| id | STRING | Identifier for the album. |
| title | STRING | Name of the album. |
| productUrl | STRING | Google Photos URL for the album. |
| isWriteable | BOOLEAN Options true , false | True if you can create media items in this album. |
| shareInfo | OBJECT Properties \{\{BOOLEAN(isCollaborative), BOOLEAN(isCommentable)}(sharedAlbumOptions), STRING(shareableUrl), STRING(shareToken), BOOLEAN(isJoined), BOOLEAN(isOwned), BOOLEAN(isJoinable)} | |
| mediaItemsCount | STRING | The number of media items in the album. |
| coverPhotoBaseUrl | STRING | A URL to the cover photo's bytes. |
| coverPhotoMediaItemId | STRING | Identifier for the media item associated with the cover photo. |
#### Output Example [#output-example]
```json
{
"id" : "",
"title" : "",
"productUrl" : "",
"isWriteable" : false,
"shareInfo" : {
"sharedAlbumOptions" : {
"isCollaborative" : false,
"isCommentable" : false
},
"shareableUrl" : "",
"shareToken" : "",
"isJoined" : false,
"isOwned" : false,
"isJoinable" : false
},
"mediaItemsCount" : "",
"coverPhotoBaseUrl" : "",
"coverPhotoMediaItemId" : ""
}
```
### Get Album [#get-album]
Name: getAlbum
`Returns the app created album based on the specified albumId. The albumId must be the ID of an album created by your app.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :--------------------------------------------------------------------------------------: | :------: |
| albumId | Album ID | STRING | Identifier of the album to be requested. Only albums created by your app will be listed. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Album",
"name" : "getAlbum",
"parameters" : {
"albumId" : ""
},
"type" : "googlePhotos/v1/getAlbum"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------: |
| id | STRING | Identifier for the album. |
| title | STRING | Name of the album. |
| productUrl | STRING | Google Photos URL for the album. |
| isWriteable | BOOLEAN Options true , false | True if you can create media items in this album. |
| shareInfo | OBJECT Properties \{\{BOOLEAN(isCollaborative), BOOLEAN(isCommentable)}(sharedAlbumOptions), STRING(shareableUrl), STRING(shareToken), BOOLEAN(isJoined), BOOLEAN(isOwned), BOOLEAN(isJoinable)} | |
| mediaItemsCount | STRING | The number of media items in the album. |
| coverPhotoBaseUrl | STRING | A URL to the cover photo's bytes. |
| coverPhotoMediaItemId | STRING | Identifier for the media item associated with the cover photo. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"title" : "",
"productUrl" : "",
"isWriteable" : false,
"shareInfo" : {
"sharedAlbumOptions" : {
"isCollaborative" : false,
"isCommentable" : false
},
"shareableUrl" : "",
"shareToken" : "",
"isJoined" : false,
"isOwned" : false,
"isJoinable" : false
},
"mediaItemsCount" : "",
"coverPhotoBaseUrl" : "",
"coverPhotoMediaItemId" : ""
}
```
#### Find Album ID [#find-album-id]
To find the Album ID, click [here](/reference/components/google-photos_v1#how-to-find-album-id)
### Upload Media [#upload-media]
Name: uploadMedia
`Upload media to an album in a user's Google Photos library.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: | :------: |
| albumId | Album ID | STRING | Identifier of the album to be requested. Only albums created by your app will be listed. | true |
| media | Media | ARRAY Items \[\{FILE\_ENTRY(fileEntry), STRING(fileName)}] | Media files to upload to album. Photos and videos are supported. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Upload Media",
"name" : "uploadMedia",
"parameters" : {
"albumId" : "",
"media" : [ {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"fileName" : ""
} ]
},
"type" : "googlePhotos/v1/uploadMedia"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| newMediaItemResults | ARRAY Items \[\{STRING(uploadToken), \{INTEGER(code), STRING(message), \[\{}]\(details)}(status), \{STRING(id), STRING(description), STRING(productUrl), STRING(baseUrl), STRING(mimeType), \{STRING(creationTime), STRING(width), STRING(height), \{STRING(cameraMake), STRING(cameraModel), NUMBER(focalLength), NUMBER(apertureFNumber), INTEGER(isoEquivalent), STRING(exposureTime)}(photo), \{STRING(cameraMake), STRING(cameraModel), NUMBER(fps), STRING(status)}(video)}(mediaMetadata), \{STRING(profilePictureBaseUrl), STRING(displayName)}(contributorInfo), STRING(filename)}(mediaItem)}] | |
#### Output Example [#output-example-2]
```json
{
"newMediaItemResults" : [ {
"uploadToken" : "",
"status" : {
"code" : 1,
"message" : "",
"details" : [ { } ]
},
"mediaItem" : {
"id" : "",
"description" : "",
"productUrl" : "",
"baseUrl" : "",
"mimeType" : "",
"mediaMetadata" : {
"creationTime" : "",
"width" : "",
"height" : "",
"photo" : {
"cameraMake" : "",
"cameraModel" : "",
"focalLength" : 0.0,
"apertureFNumber" : 0.0,
"isoEquivalent" : 1,
"exposureTime" : ""
},
"video" : {
"cameraMake" : "",
"cameraModel" : "",
"fps" : 0.0,
"status" : ""
}
},
"contributorInfo" : {
"profilePictureBaseUrl" : "",
"displayName" : ""
},
"filename" : ""
}
} ]
}
```
#### Find Album ID [#find-album-id-1]
To find the Album ID, click [here](/reference/components/google-photos_v1#how-to-find-album-id)
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Album ID [#how-to-find-album-id]
Your application can only access **Album IDs for albums that were created by your app**.
To retrieve these Album IDs, use the **Google Photos Library API** `albums.list` method.
Its endpoint is `GET https://photoslibrary.googleapis.com/v1/albums`.
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Search Console
URL: /reference/components/google-search-console_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-search-console_v1.mdx
The Search Console API provides access to both Search Console data (verified users only) and to public information on an URL basis (anyone).
Categories: Productivity and Collaboration
Type: googleSearchConsole/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Search Console API [#enable-google-search-console-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google search console api" in the search bar.
5. Click on **Google Search Console API**.
6. Click **Enable**.
## Actions [#actions]
### Add Site [#add-site]
Name: addSite
`Adds a site to the set of the user's sites in Search Console.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :-------------------------: | :------: |
| siteUrl | Site URL | STRING | The URL of the site to add. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Site",
"name" : "addSite",
"parameters" : {
"siteUrl" : ""
},
"type" : "googleSearchConsole/v1/addSite"
}
```
#### Output [#output]
This action does not produce any output.
### Delete Site [#delete-site]
Name: deleteSite
`Removes a site from the set of the user's Search Console sites.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :----------------------------------------------------------------------------------------------------------------------------: | :------: |
| siteUrl | Site URL | STRING | The URI of the property as defined in Search Console. **Examples:** `http://www.example.com/` or `sc-domain:example.com`. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Site",
"name" : "deleteSite",
"parameters" : {
"siteUrl" : ""
},
"type" : "googleSearchConsole/v1/deleteSite"
}
```
#### Output [#output-1]
This action does not produce any output.
### Get Site [#get-site]
Name: getSite
`Retrieves information about specific site.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :----------------------------------------------------------------------------------------------------------------------------: | :------: |
| siteUrl | Site URL | STRING | The URI of the property as defined in Search Console. **Examples:** `http://www.example.com/` or `sc-domain:example.com`. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Site",
"name" : "getSite",
"parameters" : {
"siteUrl" : ""
},
"type" : "googleSearchConsole/v1/getSite"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------: |
| permissionLevel | STRING Options SITE\_PERMISSION\_LEVEL\_UNSPECIFIED , SITE\_OWNER , SITE\_FULL\_USER , SITE\_RESTRICTED\_USER , SITE\_UNVERIFIED\_USER | The user's permission level for the site. |
| siteUrl | STRING | The URL of the site. |
#### Output Example [#output-example]
```json
{
"permissionLevel" : "",
"siteUrl" : ""
}
```
### List Sites [#list-sites]
Name: listSites
`Lists the user's Search Console sites.`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Sites",
"name" : "listSites",
"type" : "googleSearchConsole/v1/listSites"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :-------: | :--------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| siteEntry | ARRAY Items \[\{STRING(permissionLevel), STRING(siteUrl)}] | Contains permission level information about a Search Console site. For more information, see [Permissions in Search Console](https://support.google.com/webmasters/answer/2451999). |
#### Output Example [#output-example-1]
```json
{
"siteEntry" : [ {
"permissionLevel" : "",
"siteUrl" : ""
} ]
}
```
### Search Analytics [#search-analytics]
Name: searchAnalytics
`Query your data with filters and parameters that you define.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :-------------------: | :--------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------: | :------: |
| siteUrl | Site URL | STRING | The site's URL, including protocol. For example: `http://www.example.com/`. | true |
| startDate | Start Date | DATE | Start date of the requested date range. This value is included in the range. | true |
| endDate | End Date | DATE | End date of the requested date range. This value is included in the range. | true |
| dimensions | Dimensions | ARRAY Items \[STRING] | Dimensions to group results by. Dimensions are the group-by values in the Search Analytics page. | false |
| type | Type | STRING Options WEB , IMAGE , VIDEO , NEWS , DISCOVER , GOOGLE\_NEWS | Filter results to the following type. | false |
| dimensionFilterGroups | Filters | ARRAY Items \[\{\[\{STRING(dimension), STRING(operator), STRING(expression)}]\(filters), STRING(groupType)}] | Filters to apply to the dimension grouping values. | false |
| searchType | Search Type | STRING Options WEB , IMAGE , VIDEO , NEWS , DISCOVER , GOOGLE\_NEWS | The search type to filter for. | false |
| aggregationType | Aggregation Type | STRING Options AUTO , BY\_PROPERTY , BY\_PAGE | How data is aggregated. | false |
| rowLimit | Row Limit | INTEGER | The maximum number of rows to return. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Search Analytics",
"name" : "searchAnalytics",
"parameters" : {
"siteUrl" : "",
"startDate" : "2021-01-01",
"endDate" : "2021-01-01",
"dimensions" : [ "" ],
"type" : "",
"dimensionFilterGroups" : [ {
"filters" : [ {
"dimension" : "",
"operator" : "",
"expression" : ""
} ],
"groupType" : ""
} ],
"searchType" : "",
"aggregationType" : "",
"rowLimit" : 1
},
"type" : "googleSearchConsole/v1/searchAnalytics"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :---------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------: |
| responseAggregationType | STRING Options AUTO , BY\_PROPERTY , BY\_PAGE | How the results were aggregated. |
| rows | ARRAY Items \[\{NUMBER(clicks), NUMBER(ctr), NUMBER(impressions), \[STRING]\(keys), NUMBER(position)}] | A list of rows grouped by the key values in the order given in the query. |
#### Output Example [#output-example-2]
```json
{
"responseAggregationType" : "",
"rows" : [ {
"clicks" : 0.0,
"ctr" : 0.0,
"impressions" : 0.0,
"keys" : [ "" ],
"position" : 0.0
} ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Sheets
URL: /reference/components/google-sheets_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-sheets_v1.mdx
Google Sheets is a cloud-based spreadsheet software that allows users to create, edit, and collaborate on spreadsheets in real-time.
Categories: Productivity and Collaboration
Type: googleSheets/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Sheets API [#enable-google-sheets-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google sheets api" in the search bar.
5. Click on **Google Sheets API**.
6. Click **Enable**.
### Enable Google Drive API [#enable-google-drive-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google drive api" in the search bar.
5. Click on **Google Drive API**.
6. Click **Enable**.
## Actions [#actions]
### Clear Sheet [#clear-sheet]
Name: clearSheet
`Clear a sheet of all values while preserving formats.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------------: | :-----------------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetId | Sheet ID | INTEGER Depends On spreadsheetId | The ID of the sheet. | true |
| isTheFirstRowHeader | Is the First Row Headers? | BOOLEAN Options true , false | If the first row is header. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Clear Sheet",
"name" : "clearSheet",
"parameters" : {
"spreadsheetId" : "",
"sheetId" : 1,
"isTheFirstRowHeader" : false
},
"type" : "googleSheets/v1/clearSheet"
}
```
#### Output [#output]
This action does not produce any output.
#### Find Spreadsheet ID [#find-spreadsheet-id]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet ID [#find-sheet-id]
To find the Sheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-id)
### Create Column [#create-column]
Name: createColumn
`Append a new column to the end of the sheet.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :-----------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetName | Sheet Name | STRING Depends On spreadsheetId | The name of the sheet. | true |
| columnName | Column Name | STRING | Name of the new column. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Column",
"name" : "createColumn",
"parameters" : {
"spreadsheetId" : "",
"sheetName" : "",
"columnName" : ""
},
"type" : "googleSheets/v1/createColumn"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :-----------: | :-------------------------------------------------------------: | :---------------------------: |
| spreadsheetId | STRING | ID of the spreadsheet. |
| sheetName | STRING | Name of the sheet. |
| headers | ARRAY Items \[STRING] | List of headers on the sheet. |
#### Output Example [#output-example]
```json
{
"spreadsheetId" : "",
"sheetName" : "",
"headers" : [ "" ]
}
```
#### Find Spreadsheet ID [#find-spreadsheet-id-1]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet Name [#find-sheet-name]
To find the Sheet Name, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-name)
### Create Sheet [#create-sheet]
Name: createSheet
`Create a blank sheet with title. Optionally, provide headers.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :-------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetName | Sheet Name | STRING | The name of the new sheet. | true |
| headers | Headers | ARRAY Items \[STRING] | The headers of the new sheet. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Sheet",
"name" : "createSheet",
"parameters" : {
"spreadsheetId" : "",
"sheetName" : "",
"headers" : [ "" ]
},
"type" : "googleSheets/v1/createSheet"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :-----------: | :-------------------------------------------------------------: | :---------------------------: |
| spreadsheetId | STRING | ID of the spreadsheet. |
| sheetName | STRING | Name of the sheet. |
| headers | ARRAY Items \[STRING] | List of headers on the sheet. |
#### Output Example [#output-example-1]
```json
{
"spreadsheetId" : "",
"sheetName" : "",
"headers" : [ "" ]
}
```
#### Find Spreadsheet ID [#find-spreadsheet-id-2]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
### Create Spreadsheet [#create-spreadsheet]
Name: createSpreadsheet
`Create a new spreadsheet in a specified folder.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :---------------------------------------------------------------------------------------------------------------------------------: | :------: |
| title | Title | STRING | Title of the new spreadsheet to be created. | true |
| folderId | Folder ID | STRING | ID of the folder where the new spreadsheet will be stored. If no folder is selected, the folder will be created in the root folder. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Spreadsheet",
"name" : "createSpreadsheet",
"parameters" : {
"title" : "",
"folderId" : ""
},
"type" : "googleSheets/v1/createSpreadsheet"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Folder ID [#find-folder-id]
To find the Folder ID, click [here](/reference/components/google-sheets_v1#how-to-find-folder-id)
### Delete Column [#delete-column]
Name: deleteColumn
`Deletes column on an existing sheet. Remaining columns will be shifted to the left.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :------------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetId | Sheet ID | INTEGER Depends On spreadsheetId | The ID of the sheet. | true |
| label | Column Label | STRING | The label of the column to be deleted. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Delete Column",
"name" : "deleteColumn",
"parameters" : {
"spreadsheetId" : "",
"sheetId" : 1,
"label" : ""
},
"type" : "googleSheets/v1/deleteColumn"
}
```
#### Output [#output-4]
This action does not produce any output.
#### Find Spreadsheet ID [#find-spreadsheet-id-3]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet ID [#find-sheet-id-1]
To find the Sheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-id)
### Delete Row [#delete-row]
Name: deleteRow
`Deletes row on an existing sheet. Remaining rows will be shifted up.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :------------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetId | Sheet ID | INTEGER Depends On spreadsheetId | The ID of the sheet. | true |
| rowNumber | Row Number | INTEGER | The row number to delete. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Delete Row",
"name" : "deleteRow",
"parameters" : {
"spreadsheetId" : "",
"sheetId" : 1,
"rowNumber" : 1
},
"type" : "googleSheets/v1/deleteRow"
}
```
#### Output [#output-5]
This action does not produce any output.
#### Find Spreadsheet ID [#find-spreadsheet-id-4]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet ID [#find-sheet-id-2]
To find the Sheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-id)
### Delete Sheet [#delete-sheet]
Name: deleteSheet
`Delete a specified sheet from a spreadsheet.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :------------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetId | Sheet ID | INTEGER Depends On spreadsheetId | The ID of the sheet. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Delete Sheet",
"name" : "deleteSheet",
"parameters" : {
"spreadsheetId" : "",
"sheetId" : 1
},
"type" : "googleSheets/v1/deleteSheet"
}
```
#### Output [#output-6]
This action does not produce any output.
#### Find Spreadsheet ID [#find-spreadsheet-id-5]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet ID [#find-sheet-id-3]
To find the Sheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-id)
### Find Row by Number [#find-row-by-number]
Name: findRowByNum
`Get a row in a Google Sheet by row number.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :-----------------: | :-----------------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetName | Sheet Name | STRING Depends On spreadsheetId | The name of the sheet. | true |
| isTheFirstRowHeader | Is the First Row Headers? | BOOLEAN Options true , false | If the first row is header. | true |
| rowNumber | Row Number | INTEGER | The row number to get from the sheet. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Find Row by Number",
"name" : "findRowByNum",
"parameters" : {
"spreadsheetId" : "",
"sheetName" : "",
"isTheFirstRowHeader" : false,
"rowNumber" : 1
},
"type" : "googleSheets/v1/findRowByNum"
}
```
#### Output [#output-7]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Get Rows [#get-rows]
Name: getRows
`Get all rows from a Google Sheet.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :-----------------: | :-----------------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetName | Sheet Name | STRING Depends On spreadsheetId | The name of the sheet. | true |
| isTheFirstRowHeader | Is the First Row Headers? | BOOLEAN Options true , false | If the first row is header. | true |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Get Rows",
"name" : "getRows",
"parameters" : {
"spreadsheetId" : "",
"sheetName" : "",
"isTheFirstRowHeader" : false
},
"type" : "googleSheets/v1/getRows"
}
```
#### Output [#output-8]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Spreadsheet ID [#find-spreadsheet-id-6]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet Name [#find-sheet-name-1]
To find the Sheet Name, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-name)
### Insert Multiple Rows [#insert-multiple-rows]
Name: insertMultipleRows
`Append rows to the end of the spreadsheet.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :-----------------: | :-----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetName | Sheet Name | STRING Depends On spreadsheetId | The name of the sheet. | true |
| valueInputOption | Value Input Option | STRING Options RAW , USER\_ENTERED | How the input data should be interpreted. | true |
| isTheFirstRowHeader | Is the First Row Headers? | BOOLEAN Options true , false | If the first row is header. | true |
| rows | | DYNAMIC\_PROPERTIES Depends On spreadsheetId, sheetName, isTheFirstRowHeader | | true |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Insert Multiple Rows",
"name" : "insertMultipleRows",
"parameters" : {
"spreadsheetId" : "",
"sheetName" : "",
"valueInputOption" : "",
"isTheFirstRowHeader" : false,
"rows" : { }
},
"type" : "googleSheets/v1/insertMultipleRows"
}
```
#### Output [#output-9]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Spreadsheet ID [#find-spreadsheet-id-7]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet Name [#find-sheet-name-2]
To find the Sheet Name, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-name)
### Insert Row [#insert-row]
Name: insertRow
`Append a row of values to an existing sheet.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :-----------------: | :-----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetName | Sheet Name | STRING Depends On spreadsheetId | The name of the sheet. | true |
| valueInputOption | Value Input Option | STRING Options RAW , USER\_ENTERED | How the input data should be interpreted. | true |
| isTheFirstRowHeader | Is the First Row Headers? | BOOLEAN Options true , false | If the first row is header. | true |
| row | | DYNAMIC\_PROPERTIES Depends On spreadsheetId, sheetName, isTheFirstRowHeader | | true |
#### Example JSON Structure [#example-json-structure-10]
```json
{
"label" : "Insert Row",
"name" : "insertRow",
"parameters" : {
"spreadsheetId" : "",
"sheetName" : "",
"valueInputOption" : "",
"isTheFirstRowHeader" : false,
"row" : { }
},
"type" : "googleSheets/v1/insertRow"
}
```
#### Output [#output-10]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Spreadsheet ID [#find-spreadsheet-id-8]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet Name [#find-sheet-name-3]
To find the Sheet Name, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-name)
### List Sheets [#list-sheets]
Name: listSheets
`Get all sheets from the spreadsheet.`
#### Properties [#properties-14]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :----: | :------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
#### Example JSON Structure [#example-json-structure-11]
```json
{
"label" : "List Sheets",
"name" : "listSheets",
"parameters" : {
"spreadsheetId" : ""
},
"type" : "googleSheets/v1/listSheets"
}
```
#### Output [#output-11]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-15]
| Name | Type | Description |
| :-----------: | :-------------------------------------------------------------: | :---------------------------: |
| spreadsheetId | STRING | ID of the spreadsheet. |
| sheetName | STRING | Name of the sheet. |
| headers | ARRAY Items \[STRING] | List of headers on the sheet. |
#### Output Example [#output-example-2]
```json
[ {
"spreadsheetId" : "",
"sheetName" : "",
"headers" : [ "" ]
} ]
```
#### Find Spreadsheet ID [#find-spreadsheet-id-9]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
### Update Row [#update-row]
Name: updateRow
`Overwrite values in an existing row.`
#### Properties [#properties-16]
| Name | Label | Type | Description | Required |
| :-----------------: | :-----------------------: | :------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------: | :------: |
| spreadsheetId | Spreadsheet ID | STRING | The ID of the spreadsheet to apply the updates to. | true |
| sheetName | Sheet Name | STRING Depends On spreadsheetId | The name of the sheet. | true |
| rowNumber | Row Number | INTEGER | The row number to update. | true |
| isTheFirstRowHeader | Is the First Row Headers? | BOOLEAN Options true , false | If the first row is header. | true |
| updateWholeRow | Update Whole Row | BOOLEAN Options true , false | Whether to update the whole row or just specific columns. | true |
| row | | DYNAMIC\_PROPERTIES Depends On spreadsheetId, sheetName, isTheFirstRowHeader, updateWholeRow | | true |
#### Example JSON Structure [#example-json-structure-12]
```json
{
"label" : "Update Row",
"name" : "updateRow",
"parameters" : {
"spreadsheetId" : "",
"sheetName" : "",
"rowNumber" : 1,
"isTheFirstRowHeader" : false,
"updateWholeRow" : false,
"row" : { }
},
"type" : "googleSheets/v1/updateRow"
}
```
#### Output [#output-12]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Spreadsheet ID [#find-spreadsheet-id-10]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet Name [#find-sheet-name-4]
To find the Sheet Name, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-name)
## Triggers [#triggers]
### New Row [#new-row]
Name: newRow
`Triggers when a new row is added.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :-----------------: | :-----------------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------: | :------: |
| spreadsheetId | Spreadsheet | STRING | The spreadsheet to apply the updates to. | true |
| isTheFirstRowHeader | Is the First Row Headers? | BOOLEAN Options true , false | If the first row is header. | true |
| sheetName | Sheet | STRING Depends On spreadsheetId | The name of the sheet | true |
#### Output [#output-13]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Row",
"name" : "newRow",
"parameters" : {
"spreadsheetId" : "",
"isTheFirstRowHeader" : false,
"sheetName" : ""
},
"type" : "googleSheets/v1/newRow"
}
```
#### Find Spreadsheet ID [#find-spreadsheet-id-11]
To find the Spreadsheet ID, click [here](/reference/components/google-sheets_v1#how-to-find-spreadsheet-id)
#### Find Sheet Name [#find-sheet-name-5]
To find the Sheet Name, click [here](/reference/components/google-sheets_v1#how-to-find-sheet-name)
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Spreadsheet ID [#how-to-find-spreadsheet-id]
You can find your Spreadsheet ID in the URL of your Google Sheets document. For example, in the URL `https://docs.google.com/spreadsheets/d/1fEIYXSdLufVgmOO2532dxaelu1J1bXXMNFFAS2DHFZuw/edit?gid=1579592398#gid=1579592398`, the Spreadsheet ID is `1fEIYXSdLufVgmOO2532dxaelu1J1bXXMNFFAS2DHFZuw`.
### How to find Sheet ID [#how-to-find-sheet-id]
You can find your Sheet ID in the URL of your Google Sheets document. For example, in the URL `https://docs.google.com/spreadsheets/d/1fEIYXSdLufVgmOO2532dxaelu1J1bXXMNFFAS2DHFZuw/edit?gid=1579592398#gid=1579592398`, the Sheet ID is `1579592398`.
### How to find Sheet Name [#how-to-find-sheet-name]
You can find your Sheet name by looking at the Bottoms Tabs:
1. Open your Google Sheets document.
2. At the bottom left, you’ll see tabs like: (the tabs at the bottom of the screen that show the names of your sheets).
3. The text on each tab is the sheet name.
4. The highlighted tab is the currently active sheet.
### How to find Folder ID [#how-to-find-folder-id]
You can find your Folder ID in the URL of your Google Drive folder. For example, in the URL `https://drive.google.com/drive/folders/1fEIYXSdLufVgmOO2532dxaelu1J1bXXMNFFAS2DHFZuw`, the Folder ID is `1fEIYXSdLufVgmOO2532dxaelu1J1bXXMNFFAS2DHFZuw`.
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Slides
URL: /reference/components/google-slides_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-slides_v1.mdx
Google Slides is a cloud-based presentation software that allows users to create, edit, and collaborate on presentations online in real-time.
Categories: File Storage
Type: googleSlides/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Slides API [#enable-google-slides-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google slides api" in the search bar.
5. Click on **Google Slides API**.
6. Click **Enable**.
## Actions [#actions]
### Create Presentation From Template [#create-presentation-from-template]
Name: createPresentationFromTemplate
`Creates a new presentation based on an existing one and can replace any placeholder variables found in your template presentation, like [[name]], [[email]], etc.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------------: | :-----------------------: | :------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| fileId | Template Presentation ID | STRING | The ID of the template presentation from which the new presentation will be created. | true |
| placeholderFormat | Placeholder Format | STRING Options \{\{}} , \[\[]] | Choose the format of placeholders in your template. | true |
| fileName | Title of New Presentation | STRING | Name of the new presentation. | true |
| folderId | Folder ID | STRING | ID of the folder where the new presentation will be saved. If not provided, the new presentation will be saved in the same folder as the template presentation. | false |
| values | | DYNAMIC\_PROPERTIES Depends On fileId, placeholderFormat | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Presentation From Template",
"name" : "createPresentationFromTemplate",
"parameters" : {
"fileId" : "",
"placeholderFormat" : "",
"fileName" : "",
"folderId" : "",
"values" : { }
},
"type" : "googleSlides/v1/createPresentationFromTemplate"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find presentation ID [#find-presentation-id]
To find the Presentation ID, click [here](/reference/components/google-slides_v1#how-to-find-presentation-id).
#### Find folder ID [#find-folder-id]
To find the Presentation ID, click [here](/reference/components/google-slides_v1#how-to-find-folder-id).
### Get Presentation [#get-presentation]
Name: getPresentation
`Gets the latest version of the specified presentation.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----: | :-------------: | :----: | :-------------------------: | :------: |
| fileId | Presentation ID | STRING | The ID of the presentation. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Presentation",
"name" : "getPresentation",
"parameters" : {
"fileId" : ""
},
"type" : "googleSlides/v1/getPresentation"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find presentation ID [#find-presentation-id-1]
To find the Presentation ID, click [here](/reference/components/google-slides_v1#how-to-find-presentation-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find presentation ID [#how-to-find-presentation-id]
To find a Google Presentation ID, open the presentation in edit mode and look at the URL in your browser's address bar. The ID is the long string of letters, numbers, and hyphens located between /d/ and /edit. Example: `https://docs.google.com/presentation/d/1234567890abcdefghijklmnopqrstuvwxyz/edit?slide=id.p#slide=id.p`.
### How to find folder ID [#how-to-find-folder-id]
To find a Google Drive folder ID, open the folder in a web browser and look at the URL. The folder ID is the long string of characters (letters, numbers, and symbols) that appears after folders/ in the address bar. Example: `https://drive.google.com/drive/folders/abcjhadjh213102398890r4`
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Tasks
URL: /reference/components/google-tasks_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-tasks_v1.mdx
Google Tasks is a cloud-based task management tool that allows users to create, edit, and organize to-do lists, set deadlines, and track tasks across devices in real-time.
Categories: Productivity and Collaboration
Type: googleTasks/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Tasks API [#enable-google-tasks-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "google tasks api" in the search bar.
5. Click on **Google Tasks API**.
6. Click **Enable**.
## Actions [#actions]
### Create Task [#create-task]
Name: createTask
`Creates a new task on the specified task list.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| title | Title | STRING | Title of the new task to be created. | true |
| listId | List ID | STRING | ID of the list where the new task will be stored. | true |
| status | Status | STRING Options needsAction , completed | Status of the task. | true |
| notes | Notes | STRING | Notes describing the task. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"title" : "",
"listId" : "",
"status" : "",
"notes" : ""
},
"type" : "googleTasks/v1/createTask"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :--------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------: |
| kind | STRING | Type of the resource. |
| id | STRING | Task identifier. |
| etag | STRING | ETag of the resource. |
| title | STRING | Title of the task. Maximum length allowed: 1024 characters. |
| updated | STRING | Last modification time of the task (as a RFC 3339 timestamp). |
| selfLink | STRING | URL pointing to this task. Used to retrieve, update, or delete this task. |
| parent | STRING | Parent task identifier. |
| position | STRING | String indicating the position of the task among its sibling tasks under the same parent task or at the top level. |
| notes | STRING | Notes describing the task. |
| status | STRING | Status of the task. |
| due | STRING | Scheduled date for the task (as an RFC 3339 timestamp). |
| completed | STRING | Completion date of the task (as a RFC 3339 timestamp). |
| deleted | BOOLEAN Options true , false | Flag indicating whether the task has been deleted. |
| hidden | BOOLEAN Options true , false | Flag indicating whether the task is hidden. |
| links | ARRAY Items \[\{STRING(type), STRING(description), STRING(link)}] | Collection of links. |
| webViewLink | STRING | An absolute link to the task in the Google Tasks Web UI. |
| assignmentInfo | OBJECT Properties \{STRING(linkToTask), STRING(surfaceType), \{}(DriveResourceInfo), \{}(spaceInfo)} | Context information for assigned tasks. |
#### Output Example [#output-example]
```json
{
"kind" : "",
"id" : "",
"etag" : "",
"title" : "",
"updated" : "",
"selfLink" : "",
"parent" : "",
"position" : "",
"notes" : "",
"status" : "",
"due" : "",
"completed" : "",
"deleted" : false,
"hidden" : false,
"links" : [ {
"type" : "",
"description" : "",
"link" : ""
} ],
"webViewLink" : "",
"assignmentInfo" : {
"linkToTask" : "",
"surfaceType" : "",
"DriveResourceInfo" : { },
"spaceInfo" : { }
}
}
```
#### Find List ID [#find-list-id]
To find List ID, click [here](/reference/components/google-tasks_v1#how-to-find-list-id)
### List Tasks [#list-tasks]
Name: listTasks
`Returns all tasks in the specified task list.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: | :------: |
| listId | List ID | STRING | ID of the list where tasks are stored. | true |
| showCompleted | Show completed | BOOLEAN Options true , false | Show also completed tasks. By default both completed task and task that needs action will be shown. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "List Tasks",
"name" : "listTasks",
"parameters" : {
"listId" : "",
"showCompleted" : false
},
"type" : "googleTasks/v1/listTasks"
}
```
#### Output [#output-1]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------: | :--------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------: |
| kind | STRING | Type of the resource. |
| id | STRING | Task identifier. |
| etag | STRING | ETag of the resource. |
| title | STRING | Title of the task. Maximum length allowed: 1024 characters. |
| updated | STRING | Last modification time of the task (as a RFC 3339 timestamp). |
| selfLink | STRING | URL pointing to this task. Used to retrieve, update, or delete this task. |
| parent | STRING | Parent task identifier. |
| position | STRING | String indicating the position of the task among its sibling tasks under the same parent task or at the top level. |
| notes | STRING | Notes describing the task. |
| status | STRING | Status of the task. |
| due | STRING | Scheduled date for the task (as an RFC 3339 timestamp). |
| completed | STRING | Completion date of the task (as a RFC 3339 timestamp). |
| deleted | BOOLEAN Options true , false | Flag indicating whether the task has been deleted. |
| hidden | BOOLEAN Options true , false | Flag indicating whether the task is hidden. |
| links | ARRAY Items \[\{STRING(type), STRING(description), STRING(link)}] | Collection of links. |
| webViewLink | STRING | An absolute link to the task in the Google Tasks Web UI. |
| assignmentInfo | OBJECT Properties \{STRING(linkToTask), STRING(surfaceType), \{}(DriveResourceInfo), \{}(spaceInfo)} | Context information for assigned tasks. |
#### Output Example [#output-example-1]
```json
[ {
"kind" : "",
"id" : "",
"etag" : "",
"title" : "",
"updated" : "",
"selfLink" : "",
"parent" : "",
"position" : "",
"notes" : "",
"status" : "",
"due" : "",
"completed" : "",
"deleted" : false,
"hidden" : false,
"links" : [ {
"type" : "",
"description" : "",
"link" : ""
} ],
"webViewLink" : "",
"assignmentInfo" : {
"linkToTask" : "",
"surfaceType" : "",
"DriveResourceInfo" : { },
"spaceInfo" : { }
}
} ]
```
#### Find List ID [#find-list-id-1]
To find List ID, click [here](/reference/components/google-tasks_v1#how-to-find-list-id)
### Update Task [#update-task]
Name: updateTask
`Updates a specific task on the specified task list.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------: | :------: |
| listId | List ID | STRING | ID of the list where specific task is stored. | true |
| taskId | Task ID | STRING Depends On listId | ID of the task to update. | true |
| title | Title | STRING | Title of the task to be updated. If empty, title will not be changed. | false |
| status | Status | STRING Options needsAction , completed | Status of the task. If empty, status will not be changed. | false |
| notes | Notes | STRING | Notes describing the task. If empty, notes will not be changed. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update Task",
"name" : "updateTask",
"parameters" : {
"listId" : "",
"taskId" : "",
"title" : "",
"status" : "",
"notes" : ""
},
"type" : "googleTasks/v1/updateTask"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------------: | :--------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------: |
| kind | STRING | Type of the resource. |
| id | STRING | Task identifier. |
| etag | STRING | ETag of the resource. |
| title | STRING | Title of the task. Maximum length allowed: 1024 characters. |
| updated | STRING | Last modification time of the task (as a RFC 3339 timestamp). |
| selfLink | STRING | URL pointing to this task. Used to retrieve, update, or delete this task. |
| parent | STRING | Parent task identifier. |
| position | STRING | String indicating the position of the task among its sibling tasks under the same parent task or at the top level. |
| notes | STRING | Notes describing the task. |
| status | STRING | Status of the task. |
| due | STRING | Scheduled date for the task (as an RFC 3339 timestamp). |
| completed | STRING | Completion date of the task (as a RFC 3339 timestamp). |
| deleted | BOOLEAN Options true , false | Flag indicating whether the task has been deleted. |
| hidden | BOOLEAN Options true , false | Flag indicating whether the task is hidden. |
| links | ARRAY Items \[\{STRING(type), STRING(description), STRING(link)}] | Collection of links. |
| webViewLink | STRING | An absolute link to the task in the Google Tasks Web UI. |
| assignmentInfo | OBJECT Properties \{STRING(linkToTask), STRING(surfaceType), \{}(DriveResourceInfo), \{}(spaceInfo)} | Context information for assigned tasks. |
#### Output Example [#output-example-2]
```json
{
"kind" : "",
"id" : "",
"etag" : "",
"title" : "",
"updated" : "",
"selfLink" : "",
"parent" : "",
"position" : "",
"notes" : "",
"status" : "",
"due" : "",
"completed" : "",
"deleted" : false,
"hidden" : false,
"links" : [ {
"type" : "",
"description" : "",
"link" : ""
} ],
"webViewLink" : "",
"assignmentInfo" : {
"linkToTask" : "",
"surfaceType" : "",
"DriveResourceInfo" : { },
"spaceInfo" : { }
}
}
```
#### Find List ID [#find-list-id-2]
To find List ID, click [here](/reference/components/google-tasks_v1#how-to-find-list-id)
#### Find Task ID [#find-task-id]
To find Task ID, click [here](/reference/components/google-tasks_v1#how-to-find-task-id)
## Triggers [#triggers]
### New Task [#new-task]
Name: newTask
`Triggers when a new task is added.`
Type: POLLING
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :-------------------------------------: | :------: |
| listId | List ID | STRING | ID of the list where new task is added. | true |
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :------------: | :--------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------: |
| kind | STRING | Type of the resource. |
| id | STRING | Task identifier. |
| etag | STRING | ETag of the resource. |
| title | STRING | Title of the task. Maximum length allowed: 1024 characters. |
| updated | STRING | Last modification time of the task (as a RFC 3339 timestamp). |
| selfLink | STRING | URL pointing to this task. Used to retrieve, update, or delete this task. |
| parent | STRING | Parent task identifier. |
| position | STRING | String indicating the position of the task among its sibling tasks under the same parent task or at the top level. |
| notes | STRING | Notes describing the task. |
| status | STRING | Status of the task. |
| due | STRING | Scheduled date for the task (as an RFC 3339 timestamp). |
| completed | STRING | Completion date of the task (as a RFC 3339 timestamp). |
| deleted | BOOLEAN Options true , false | Flag indicating whether the task has been deleted. |
| hidden | BOOLEAN Options true , false | Flag indicating whether the task is hidden. |
| links | ARRAY Items \[\{STRING(type), STRING(description), STRING(link)}] | Collection of links. |
| webViewLink | STRING | An absolute link to the task in the Google Tasks Web UI. |
| assignmentInfo | OBJECT Properties \{STRING(linkToTask), STRING(surfaceType), \{}(DriveResourceInfo), \{}(spaceInfo)} | Context information for assigned tasks. |
#### JSON Example [#json-example]
```json
{
"label" : "New Task",
"name" : "newTask",
"parameters" : {
"listId" : ""
},
"type" : "googleTasks/v1/newTask"
}
```
#### Find List ID [#find-list-id-3]
To find List ID, click [here](/reference/components/google-tasks_v1#how-to-find-list-id)
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find List ID [#how-to-find-list-id]
You can only find List ID by using Google Tasks API endpoint: `GET https://tasks.googleapis.com/tasks/v1/users/@me/lists`.
### How to find Task ID [#how-to-find-task-id]
You can only find Task ID by using Google Tasks API endpoint: `GET https://tasks.googleapis.com/tasks/v1/lists/{tasklist}/tasks`.
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Google Workspace Admin
URL: /reference/components/google-workspace-admin_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/google-workspace-admin_v1.mdx
Google Workspace Admin is responsible for managing users, groups, devices, and security settings across the organization.
Categories: Productivity and Collaboration
Type: googleWorkspaceAdmin/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Actions [#actions]
### Create User [#create-user]
Name: createUser
`Creates a new user.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------------------: | :---------------------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :------: |
| givenName | First Name | STRING | The user's first name. | true |
| familyName | Last Name | STRING | The user's last name. | true |
| primaryEmail | Email | STRING | The user's email address. | true |
| password | Password | STRING | The password for the user account. | true |
| changePasswordAtNextLogin | Change Password At Next Login | BOOLEAN Options true , false | Indicates if the user is forced to change their password at next login. | false |
| addresses | Address | STRING | The user's full address. | false |
| phones | Phone | STRING | The user's phone number. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create User",
"name" : "createUser",
"parameters" : {
"givenName" : "",
"familyName" : "",
"primaryEmail" : "",
"password" : "",
"changePasswordAtNextLogin" : false,
"addresses" : "",
"phones" : ""
},
"type" : "googleWorkspaceAdmin/v1/createUser"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------: |
| id | STRING | The unique ID for the user. |
| primaryEmail | STRING | The user's primary email address. |
| password | STRING | The password for the user account. |
| hashFunction | STRING | The hash format of the password property. |
| isAdmin | BOOLEAN Options true , false | Indicates a user with super administrator privileges. |
| isDelegatedAdmin | BOOLEAN Options true , false | Indicates if the user is a delegated administrator. |
| agreedToTerms | BOOLEAN Options true , false | Indicates if the user has completed an initial login and accepted the Terms of Service agreement. |
| suspended | BOOLEAN Options true , false | Indicates if user is suspended. |
| changePasswordAtNextLogin | BOOLEAN Options true , false | Indicates if the user is forced to change their password at next login. |
| ipWhitelisted | BOOLEAN Options true , false | If true, the user's IP address is subject to a deprecated IP address allowlist configuration. |
| name | OBJECT Properties \{STRING(fullName), STRING(familyName), STRING(givenName), STRING(displayName)} | |
| kind | STRING | The type of the API resource. |
| etag | STRING | ETag of the resource. |
| emails | ARRAY Items \[\{STRING(address), STRING(customType), BOOLEAN(primary), STRING(type)}] | |
| externalIds | ARRAY Items \[\{STRING(customType), STRING(type), STRING(value)}] | |
| relations | ARRAY Items \[\{STRING(customType), STRING(type), STRING(value)}] | |
| aliases | ARRAY Items \[STRING] | The list of the user's alias email addresses. |
| isMailboxSetup | BOOLEAN Options true , false | Indicates if the user's Google mailbox is created. |
| customerId | STRING | The customer ID to retrieve all account users. |
| addresses | ARRAY Items \[\{STRING(country), STRING(countryCode), STRING(customType), STRING(extendedAddress), STRING(formatted), STRING(locality), STRING(poBox), STRING(postalCode), BOOLEAN(primary), STRING(region), BOOLEAN(sourceIsStructured), STRING(streetAddress), STRING(type)}] | |
| organizations | ARRAY Items \[\{STRING(costCenter), STRING(customType), STRING(department), STRING(description), STRING(domain), INTEGER(fullTimeEquivalent), STRING(location), STRING(name), BOOLEAN(primary), STRING(symbol), STRING(title), STRING(type)}] | |
| lastLoginTime | STRING | The last time the user logged into the user's account. |
| phones | ARRAY Items \[\{STRING(customType), BOOLEAN(primary), STRING(type), STRING(value)}] | |
| suspensionReason | STRING | Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. |
| thumbnailPhotoUrl | STRING | The URL of the user's profile photo. |
| languages | ARRAY Items \[\{STRING(customLanguage), STRING(languageCode), STRING(preference)}] | |
| posixAccounts | ARRAY Items \[\{STRING(accountId), STRING(gecos), NUMBER(gid), STRING(homeDirectory), STRING(operatingSystemType), BOOLEAN(primary), STRING(shell), STRING(systemId), NUMBER(uid), STRING(username)}] | |
| creationTime | STRING | The time the user's account was created. |
| nonEditableAliases | ARRAY Items \[STRING] | The list of the user's non-editable alias email addresses. |
| sshPublicKeys | ARRAY Items \[\{NUMBER(expirationTimeUsec), STRING(fingerprint), STRING(key)}] | |
| notes | OBJECT Properties \{STRING(contentType), STRING(value)} | |
| websites | ARRAY Items \[\{STRING(customType), BOOLEAN(primary), STRING(type), STRING(value)}] | |
| locations | ARRAY Items \[\{STRING(area), STRING(buildingId), STRING(customType), STRING(deskCode), STRING(floorName), STRING(floorSection), STRING(type)}] | |
| includeInGlobalAddressList | BOOLEAN Options true , false | Indicates if the user's profile is visible in the Google Workspace global address list when the contact sharing feature is enabled for the domain. |
| keywords | ARRAY Items \[\{STRING(customType), STRING(type), STRING(value)}] | |
| deletionTime | STRING | The time the user's account was deleted. |
| gender | OBJECT Properties \{STRING(addressMeAs), STRING(customGender), STRING(type)} | |
| thumbnailPhotoEtag | STRING | ETag of the user's photo |
| ims | ARRAY Items \[\{STRING(customProtocol), STRING(customType), STRING(im), BOOLEAN(primary), STRING(protocol), STRING(type)}] | |
| customSchemas | OBJECT Properties \{} | Custom fields of the user. |
| isEnrolledIn2Sv | BOOLEAN Options true , false | Is enrolled in 2-step verification. |
| isEnforcedIn2Sv | BOOLEAN Options true , false | Is 2-step verification enforced |
| archived | BOOLEAN Options true , false | Indicates if user is archived. |
| orgUnitPath | STRING | The full path of the parent organization associated with the user. |
| recoveryEmail | STRING | Recovery email of the user. |
| recoveryPhone | STRING | Recovery phone of the user. |
#### Output Example [#output-example]
```json
{
"id" : "",
"primaryEmail" : "",
"password" : "",
"hashFunction" : "",
"isAdmin" : false,
"isDelegatedAdmin" : false,
"agreedToTerms" : false,
"suspended" : false,
"changePasswordAtNextLogin" : false,
"ipWhitelisted" : false,
"name" : {
"fullName" : "",
"familyName" : "",
"givenName" : "",
"displayName" : ""
},
"kind" : "",
"etag" : "",
"emails" : [ {
"address" : "",
"customType" : "",
"primary" : false,
"type" : ""
} ],
"externalIds" : [ {
"customType" : "",
"type" : "",
"value" : ""
} ],
"relations" : [ {
"customType" : "",
"type" : "",
"value" : ""
} ],
"aliases" : [ "" ],
"isMailboxSetup" : false,
"customerId" : "",
"addresses" : [ {
"country" : "",
"countryCode" : "",
"customType" : "",
"extendedAddress" : "",
"formatted" : "",
"locality" : "",
"poBox" : "",
"postalCode" : "",
"primary" : false,
"region" : "",
"sourceIsStructured" : false,
"streetAddress" : "",
"type" : ""
} ],
"organizations" : [ {
"costCenter" : "",
"customType" : "",
"department" : "",
"description" : "",
"domain" : "",
"fullTimeEquivalent" : 1,
"location" : "",
"name" : "",
"primary" : false,
"symbol" : "",
"title" : "",
"type" : ""
} ],
"lastLoginTime" : "",
"phones" : [ {
"customType" : "",
"primary" : false,
"type" : "",
"value" : ""
} ],
"suspensionReason" : "",
"thumbnailPhotoUrl" : "",
"languages" : [ {
"customLanguage" : "",
"languageCode" : "",
"preference" : ""
} ],
"posixAccounts" : [ {
"accountId" : "",
"gecos" : "",
"gid" : 0.0,
"homeDirectory" : "",
"operatingSystemType" : "",
"primary" : false,
"shell" : "",
"systemId" : "",
"uid" : 0.0,
"username" : ""
} ],
"creationTime" : "",
"nonEditableAliases" : [ "" ],
"sshPublicKeys" : [ {
"expirationTimeUsec" : 0.0,
"fingerprint" : "",
"key" : ""
} ],
"notes" : {
"contentType" : "",
"value" : ""
},
"websites" : [ {
"customType" : "",
"primary" : false,
"type" : "",
"value" : ""
} ],
"locations" : [ {
"area" : "",
"buildingId" : "",
"customType" : "",
"deskCode" : "",
"floorName" : "",
"floorSection" : "",
"type" : ""
} ],
"includeInGlobalAddressList" : false,
"keywords" : [ {
"customType" : "",
"type" : "",
"value" : ""
} ],
"deletionTime" : "",
"gender" : {
"addressMeAs" : "",
"customGender" : "",
"type" : ""
},
"thumbnailPhotoEtag" : "",
"ims" : [ {
"customProtocol" : "",
"customType" : "",
"im" : "",
"primary" : false,
"protocol" : "",
"type" : ""
} ],
"customSchemas" : { },
"isEnrolledIn2Sv" : false,
"isEnforcedIn2Sv" : false,
"archived" : false,
"orgUnitPath" : "",
"recoveryEmail" : "",
"recoveryPhone" : ""
}
```
### Assign Role To User [#assign-role-to-user]
Name: assignRoleToUser
`Assigns a role to a user.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :-------------------------------------------------: | :------: |
| roleId | Role ID | STRING | The ID of the role that is assigned. | true |
| userId | User ID | STRING | The unique ID of the user this role is assigned to. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Assign Role To User",
"name" : "assignRoleToUser",
"parameters" : {
"roleId" : "",
"userId" : ""
},
"type" : "googleWorkspaceAdmin/v1/assignRoleToUser"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--------------: | :----: | :-------------------------------------------------------------------------------------------------------------------------------------------: |
| roleAssignmentId | STRING | ID of this roleAssignment. |
| roleId | STRING | The ID of the role that is assigned. |
| kind | STRING | The type of the API resource. |
| etag | STRING | ETag of the resource. |
| assignedTo | STRING | The unique ID of the entity this role is assigned to. |
| assigneeType | STRING | The type of the assignee. |
| scopeType | STRING | The scope in which this role is assigned. |
| orgUnitId | STRING | If the role is restricted to an organization unit, this contains the ID for the organization unit the exercise of this role is restricted to. |
| condition | STRING | The condition associated with this role assignment. |
#### Output Example [#output-example-1]
```json
{
"roleAssignmentId" : "",
"roleId" : "",
"kind" : "",
"etag" : "",
"assignedTo" : "",
"assigneeType" : "",
"scopeType" : "",
"orgUnitId" : "",
"condition" : ""
}
```
### Assign License [#assign-license]
Name: assignLicense
`Assigns a product license to a user.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| userId | User email | STRING | The user's current primary email address. | true |
| productId | Product ID | STRING | A product's unique identifier. Use this documentation to find product ID: [https://developers.google.com/workspace/admin/licensing/v1/how-tos/products](https://developers.google.com/workspace/admin/licensing/v1/how-tos/products). | true |
| skuId | SKU ID | STRING | A SKU's unique identifier. Use this documentation to find SKU ID: [https://developers.google.com/workspace/admin/licensing/v1/how-tos/products](https://developers.google.com/workspace/admin/licensing/v1/how-tos/products). | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Assign License",
"name" : "assignLicense",
"parameters" : {
"userId" : "",
"productId" : "",
"skuId" : ""
},
"type" : "googleWorkspaceAdmin/v1/assignLicense"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------: | :----: | :---------------------------------------------: |
| kind | STRING | Identifies the resource as a LicenseAssignment. |
| etags | STRING | ETag of the resource. |
| productId | STRING | A product's unique identifier. |
| userId | STRING | The user's current primary email address. |
| selfLink | STRING | Link to this page. |
| skuId | STRING | A product SKU's unique identifier. |
| skuName | STRING | Display Name of the sku of the product. |
| productName | STRING | Display Name of the product. |
#### Output Example [#output-example-2]
```json
{
"kind" : "",
"etags" : "",
"productId" : "",
"userId" : "",
"selfLink" : "",
"skuId" : "",
"skuName" : "",
"productName" : ""
}
```
### Suspend User [#suspend-user]
Name: suspendUser
`Suspends a user.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :------------------------: | :------: |
| userId | User ID | STRING | The unique ID of the user. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Suspend User",
"name" : "suspendUser",
"parameters" : {
"userId" : ""
},
"type" : "googleWorkspaceAdmin/v1/suspendUser"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------: |
| id | STRING | The unique ID for the user. |
| primaryEmail | STRING | The user's primary email address. |
| password | STRING | The password for the user account. |
| hashFunction | STRING | The hash format of the password property. |
| isAdmin | BOOLEAN Options true , false | Indicates a user with super administrator privileges. |
| isDelegatedAdmin | BOOLEAN Options true , false | Indicates if the user is a delegated administrator. |
| agreedToTerms | BOOLEAN Options true , false | Indicates if the user has completed an initial login and accepted the Terms of Service agreement. |
| suspended | BOOLEAN Options true , false | Indicates if user is suspended. |
| changePasswordAtNextLogin | BOOLEAN Options true , false | Indicates if the user is forced to change their password at next login. |
| ipWhitelisted | BOOLEAN Options true , false | If true, the user's IP address is subject to a deprecated IP address allowlist configuration. |
| name | OBJECT Properties \{STRING(fullName), STRING(familyName), STRING(givenName), STRING(displayName)} | |
| kind | STRING | The type of the API resource. |
| etag | STRING | ETag of the resource. |
| emails | ARRAY Items \[\{STRING(address), STRING(customType), BOOLEAN(primary), STRING(type)}] | |
| externalIds | ARRAY Items \[\{STRING(customType), STRING(type), STRING(value)}] | |
| relations | ARRAY Items \[\{STRING(customType), STRING(type), STRING(value)}] | |
| aliases | ARRAY Items \[STRING] | The list of the user's alias email addresses. |
| isMailboxSetup | BOOLEAN Options true , false | Indicates if the user's Google mailbox is created. |
| customerId | STRING | The customer ID to retrieve all account users. |
| addresses | ARRAY Items \[\{STRING(country), STRING(countryCode), STRING(customType), STRING(extendedAddress), STRING(formatted), STRING(locality), STRING(poBox), STRING(postalCode), BOOLEAN(primary), STRING(region), BOOLEAN(sourceIsStructured), STRING(streetAddress), STRING(type)}] | |
| organizations | ARRAY Items \[\{STRING(costCenter), STRING(customType), STRING(department), STRING(description), STRING(domain), INTEGER(fullTimeEquivalent), STRING(location), STRING(name), BOOLEAN(primary), STRING(symbol), STRING(title), STRING(type)}] | |
| lastLoginTime | STRING | The last time the user logged into the user's account. |
| phones | ARRAY Items \[\{STRING(customType), BOOLEAN(primary), STRING(type), STRING(value)}] | |
| suspensionReason | STRING | Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. |
| thumbnailPhotoUrl | STRING | The URL of the user's profile photo. |
| languages | ARRAY Items \[\{STRING(customLanguage), STRING(languageCode), STRING(preference)}] | |
| posixAccounts | ARRAY Items \[\{STRING(accountId), STRING(gecos), NUMBER(gid), STRING(homeDirectory), STRING(operatingSystemType), BOOLEAN(primary), STRING(shell), STRING(systemId), NUMBER(uid), STRING(username)}] | |
| creationTime | STRING | The time the user's account was created. |
| nonEditableAliases | ARRAY Items \[STRING] | The list of the user's non-editable alias email addresses. |
| sshPublicKeys | ARRAY Items \[\{NUMBER(expirationTimeUsec), STRING(fingerprint), STRING(key)}] | |
| notes | OBJECT Properties \{STRING(contentType), STRING(value)} | |
| websites | ARRAY Items \[\{STRING(customType), BOOLEAN(primary), STRING(type), STRING(value)}] | |
| locations | ARRAY Items \[\{STRING(area), STRING(buildingId), STRING(customType), STRING(deskCode), STRING(floorName), STRING(floorSection), STRING(type)}] | |
| includeInGlobalAddressList | BOOLEAN Options true , false | Indicates if the user's profile is visible in the Google Workspace global address list when the contact sharing feature is enabled for the domain. |
| keywords | ARRAY Items \[\{STRING(customType), STRING(type), STRING(value)}] | |
| deletionTime | STRING | The time the user's account was deleted. |
| gender | OBJECT Properties \{STRING(addressMeAs), STRING(customGender), STRING(type)} | |
| thumbnailPhotoEtag | STRING | ETag of the user's photo |
| ims | ARRAY Items \[\{STRING(customProtocol), STRING(customType), STRING(im), BOOLEAN(primary), STRING(protocol), STRING(type)}] | |
| customSchemas | OBJECT Properties \{} | Custom fields of the user. |
| isEnrolledIn2Sv | BOOLEAN Options true , false | Is enrolled in 2-step verification. |
| isEnforcedIn2Sv | BOOLEAN Options true , false | Is 2-step verification enforced |
| archived | BOOLEAN Options true , false | Indicates if user is archived. |
| orgUnitPath | STRING | The full path of the parent organization associated with the user. |
| recoveryEmail | STRING | Recovery email of the user. |
| recoveryPhone | STRING | Recovery phone of the user. |
#### Output Example [#output-example-3]
```json
{
"id" : "",
"primaryEmail" : "",
"password" : "",
"hashFunction" : "",
"isAdmin" : false,
"isDelegatedAdmin" : false,
"agreedToTerms" : false,
"suspended" : false,
"changePasswordAtNextLogin" : false,
"ipWhitelisted" : false,
"name" : {
"fullName" : "",
"familyName" : "",
"givenName" : "",
"displayName" : ""
},
"kind" : "",
"etag" : "",
"emails" : [ {
"address" : "",
"customType" : "",
"primary" : false,
"type" : ""
} ],
"externalIds" : [ {
"customType" : "",
"type" : "",
"value" : ""
} ],
"relations" : [ {
"customType" : "",
"type" : "",
"value" : ""
} ],
"aliases" : [ "" ],
"isMailboxSetup" : false,
"customerId" : "",
"addresses" : [ {
"country" : "",
"countryCode" : "",
"customType" : "",
"extendedAddress" : "",
"formatted" : "",
"locality" : "",
"poBox" : "",
"postalCode" : "",
"primary" : false,
"region" : "",
"sourceIsStructured" : false,
"streetAddress" : "",
"type" : ""
} ],
"organizations" : [ {
"costCenter" : "",
"customType" : "",
"department" : "",
"description" : "",
"domain" : "",
"fullTimeEquivalent" : 1,
"location" : "",
"name" : "",
"primary" : false,
"symbol" : "",
"title" : "",
"type" : ""
} ],
"lastLoginTime" : "",
"phones" : [ {
"customType" : "",
"primary" : false,
"type" : "",
"value" : ""
} ],
"suspensionReason" : "",
"thumbnailPhotoUrl" : "",
"languages" : [ {
"customLanguage" : "",
"languageCode" : "",
"preference" : ""
} ],
"posixAccounts" : [ {
"accountId" : "",
"gecos" : "",
"gid" : 0.0,
"homeDirectory" : "",
"operatingSystemType" : "",
"primary" : false,
"shell" : "",
"systemId" : "",
"uid" : 0.0,
"username" : ""
} ],
"creationTime" : "",
"nonEditableAliases" : [ "" ],
"sshPublicKeys" : [ {
"expirationTimeUsec" : 0.0,
"fingerprint" : "",
"key" : ""
} ],
"notes" : {
"contentType" : "",
"value" : ""
},
"websites" : [ {
"customType" : "",
"primary" : false,
"type" : "",
"value" : ""
} ],
"locations" : [ {
"area" : "",
"buildingId" : "",
"customType" : "",
"deskCode" : "",
"floorName" : "",
"floorSection" : "",
"type" : ""
} ],
"includeInGlobalAddressList" : false,
"keywords" : [ {
"customType" : "",
"type" : "",
"value" : ""
} ],
"deletionTime" : "",
"gender" : {
"addressMeAs" : "",
"customGender" : "",
"type" : ""
},
"thumbnailPhotoEtag" : "",
"ims" : [ {
"customProtocol" : "",
"customType" : "",
"im" : "",
"primary" : false,
"protocol" : "",
"type" : ""
} ],
"customSchemas" : { },
"isEnrolledIn2Sv" : false,
"isEnforcedIn2Sv" : false,
"archived" : false,
"orgUnitPath" : "",
"recoveryEmail" : "",
"recoveryPhone" : ""
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable Google Tasks API [#enable-google-tasks-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "admin sdk api" in the search bar.
5. Click on **Admin SDK API**.
6. Click **Enable**.
7. Go back to **API Library** (previous page) and search for "enterprise license manager api".
8. Click on **Enterprise License Manager API**.
9. Click **Enable**.
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Gotify
URL: /reference/components/gotify_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/gotify_v1.mdx
A simple server for sending and receiving messages.
Categories: Communication
Type: gotify/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :-----------------------------------------------------------------------------------: | :------: |
| token | Token | STRING | Application token of the app you created for receiving and sending messages. | true |
| baseUri | Base URI | STRING | Base URI of your Gotify server (e.g. [http://localhost:1024](http://localhost:1024)). | true |
## Connection Setup [#connection-setup]
### Prerequisites [#prerequisites]
Install [Gotify](https://gotify.net/docs/install) on your server.
### Create Gotify Token [#create-gotify-token]
1. Click on "Apps".
2. Click on "Create Application".
3. Enter name and description of your application. Select default priority of your messages.
4. Click on "Create".
5. Here you can copy your token.
## Actions [#actions]
### Send Message [#send-message]
Name: sendMessage
`Sends a message to the server.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :-------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| title | Message Title | STRING | The title of the message that will be sent. | false |
| message | Message Content | STRING | The content message that will be sent. | true |
| priority | Priority | INTEGER | The priority of the message. If unset, then the default priority of the application will be used. | false |
| extras | Extras | ARRAY Items \[\{STRING(topNamespace), STRING(subNamespace), STRING(extraInfoKey), STRING(extraInfoValue)}(\$extra)] | The extra data sent along the message. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send Message",
"name" : "sendMessage",
"parameters" : {
"title" : "",
"message" : "",
"priority" : 1,
"extras" : [ {
"topNamespace" : "",
"subNamespace" : "",
"extraInfoKey" : "",
"extraInfoValue" : ""
} ]
},
"type" : "gotify/v1/sendMessage"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :----------------------------------------------------------------------------------------------------------------------: | :------------------------------------: |
| id | INTEGER | ID of the message that was sent. |
| appid | INTEGER | ID of the app that sent the message. |
| message | STRING | Content of the message that was sent. |
| title | STRING | Title of the message that was sent. |
| priority | INTEGER | Priority of the message that was sent. |
| extras | OBJECT Properties \{\{\{STRING(extra\_info)}(sub\_namespace)}(top\_namespace)} | Extras of the message that was sent. |
| date | STRING | Date when the message was sent. |
#### Output Example [#output-example]
```json
{
"id" : 1,
"appid" : 1,
"message" : "",
"title" : "",
"priority" : 1,
"extras" : {
"top_namespace" : {
"sub_namespace" : {
"extra_info" : ""
}
}
},
"date" : ""
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: GraphQL Client
URL: /reference/components/graphql-client_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/graphql-client_v1.mdx
Execute GraphQL queries against a GraphQL API, allowing you to fetch exactly the data you need using queries and variables.
Categories: Helpers
Type: graphQl/v1
## Actions [#actions]
### Raw Query [#raw-query]
Name: rawQuery
`Run a raw query to a GraphQL endpoint.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :--------------: | :-------------------------------------------------------------: | :------------------------------------------------------------------------: | :------: |
| graphQlEndpoint | GraphQL Endpoint | STRING | The endpoint where GraphQL requests will be sent. | true |
| headers | Headers | OBJECT Properties \{} | Headers that will be sent in the HTTP request alongside the GraphQL query. | false |
| variables | Variables | OBJECT Properties \{} | Variables that will be sent with the GraphQL query. | false |
| query | Query | STRING | Query that will be sent to the GraphQL endpoint. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Raw Query",
"name" : "rawQuery",
"parameters" : {
"graphQlEndpoint" : "",
"headers" : { },
"variables" : { },
"query" : ""
},
"type" : "graphQl/v1/rawQuery"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Groq
URL: /reference/components/groq_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/groq_v1.mdx
The LPU Inference Engine by Groq is a hardware and software platform that delivers exceptional compute speed, quality, and energy efficiency.
Categories: Artificial Intelligence
Type: groq/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to your [Groq Console](https://console.groq.com/home).
2. Click on **API Keys**.
3. Click on **Create API Key**.
4. Enter the name of your API key and click on **Submit**.
5. Click on **Copy**.
6. Click on **Done**.
7. Done 🚀.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| n | Number of Chat Completion Choices | INTEGER | How many chat completion choices to generate for each input message. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| logitBias | Logit Bias | OBJECT Properties \{} | Modify the likelihood of specified tokens appearing in the completion. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"n" : 1,
"temperature" : 0.0,
"topP" : 0.0,
"frequencyPenalty" : 0.0,
"presencePenalty" : 0.0,
"logitBias" : { },
"stop" : [ "" ],
"user" : ""
},
"type" : "groq/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Guardrails
URL: /reference/components/guardrails_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/guardrails_v1.mdx
Content validation and safety guardrails for AI agents. Detect and protect against sensitive content, PII, and custom patterns.
Categories: Artificial Intelligence
Type: guardrails/v1
# ByteChef Reference: Hacker News
URL: /reference/components/hacker-news_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/hacker-news_v1.mdx
Hacker News is a social news website focused on computer science, startups and technology-related topics.
Categories: Social Media
Type: hackerNews/v1
## Actions [#actions]
### Fetch Top Stories [#fetch-top-stories]
Name: fetchTopStories
`Fetch top stories from Hacker News.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :-----: | :-------------------------: | :------: |
| numberOfStories | Number Of Stories | INTEGER | Number of stories to fetch. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Fetch Top Stories",
"name" : "fetchTopStories",
"parameters" : {
"numberOfStories" : 1
},
"type" : "hackerNews/v1/fetchTopStories"
}
```
#### Output [#output]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :---------: | :--------------------------------------------------------------: | :-------------------------------------------------------: |
| by | STRING | The username of the item's author. |
| descendants | INTEGER | In the case of stories or polls, the total comment count. |
| id | INTEGER | The item's unique id. |
| kids | ARRAY Items \[INTEGER] | The ids of the item's comments, in ranked display order. |
| score | INTEGER | The story's score, or the votes for a pollopt. |
| time | INTEGER | Creation date of the item, in Unix Time. |
| title | STRING | The title of the story, poll or job. HTML. |
| type | STRING | The type of item. |
| url | STRING | The URL of the story. |
#### Output Example [#output-example]
```json
[ {
"by" : "",
"descendants" : 1,
"id" : 1,
"kids" : [ 1 ],
"score" : 1,
"time" : 1,
"title" : "",
"type" : "",
"url" : ""
} ]
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: HeyGen
URL: /reference/components/heygen_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/heygen_v1.mdx
HeyGen is an AI Video Generator that lets you create explainer videos, marketing and sales promos, product demos, training and onboarding content.
Categories: Artificial Intelligence
Type: heyGen/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--: | :-----: | :----: | :---------: | :------: |
| key | API key | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to your dashboard.
2. Go to your account and click on **Settings**.
3. Click on **Usage & Billing**.
4. Click on **HeyGen API**.
5. Under API Token, click **Activate**.
6. Copy your API key and use it in ByteChef.
## Actions [#actions]
### Generate Video From Template [#generate-video-from-template]
Name: generateVideoFromTemplateAction
`Generates a video based on the specified template.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------------: | :------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------: | :------: |
| template\_id | Template ID | STRING | The ID of the template. | true |
| folder\_id | Folder ID | STRING | Unique identifier of the folder where the video is stored. | false |
| caption | Caption | BOOLEAN Options true , false | Whether to enable captions in the video. | false |
| enable\_sharing | Enable Sharing | BOOLEAN Options true , false | Whether to make the video publicly shareable immediately after creation. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Generate Video From Template",
"name" : "generateVideoFromTemplateAction",
"parameters" : {
"template_id" : "",
"folder_id" : "",
"caption" : false,
"enable_sharing" : false
},
"type" : "heyGen/v1/generateVideoFromTemplateAction"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :----: | :---------------------------------------: |
| video\_id | STRING | Unique identifier of the generated video. |
#### Output Example [#output-example]
```json
{
"video_id" : ""
}
```
### Translate Video [#translate-video]
Name: translateVideoAction
`Translates a video into one or more of 175+ supported languages with natural-sounding voice and accurate lip-sync.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------------------: | :------------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: | :------: |
| video\_url | Video URL | STRING | URL of the video file to be translated. Supports direct video file URLs, Google Drive URLs, and YouTube URLs. | true |
| output\_language | Output Language | STRING | The target language in which the video will be translated. | true |
| title | Title | STRING | Title of the video. | false |
| translate\_audio\_only | Translate Audio Only | BOOLEAN Options true , false | Translate only the audio; ideal for videos where the speaker is not visible, such as narrations, voiceovers, etc. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Translate Video",
"name" : "translateVideoAction",
"parameters" : {
"video_url" : "",
"output_language" : "",
"title" : "",
"translate_audio_only" : false
},
"type" : "heyGen/v1/translateVideoAction"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------------: | :----: | :----------------------------------------: |
| video\_translate\_id | STRING | Unique identifier of the translated video. |
#### Output Example [#output-example-1]
```json
{
"video_translate_id" : ""
}
```
### Upload Asset [#upload-asset]
Name: uploadAssetAction
`Uploads a media file to the authenticated user's HeyGen account.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :---------: | :-------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | Asset file to upload. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Upload Asset",
"name" : "uploadAssetAction",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "heyGen/v1/uploadAssetAction"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------: | :-----: | :--------------------------------------------------------------: |
| id | STRING | Unique identifier of the uploaded asset. |
| name | STRING | ID assigned to the uploaded asset. |
| file\_type | STRING | Type of the uploaded asset, for example, audio, video, or image. |
| folder\_id | STRING | Unique identifier of the folder that contains the asset. |
| meta | STRING | Metadata related to the uploaded asset. |
| created\_ts | INTEGER | Unix timestamp when the asset was created. |
| url | STRING | URL to access or download the uploaded file. |
| image\_key | STRING | Image key for image-type assets. |
#### Output Example [#output-example-2]
```json
{
"id" : "",
"name" : "",
"file_type" : "",
"folder_id" : "",
"meta" : "",
"created_ts" : 1,
"url" : "",
"image_key" : ""
}
```
## Triggers [#triggers]
### Video Generation Completed [#video-generation-completed]
Name: videoGenerationCompletedTrigger
`Triggers when a video generation completes successfully.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :---------------------: | :----: | :---------: |
| video\_id | STRING | |
| url | STRING | |
| gif\_download\_url | STRING | |
| video\_share\_page\_url | STRING | |
| folder\_id | STRING | |
| callback\_id | STRING | |
#### JSON Example [#json-example]
```json
{
"label" : "Video Generation Completed",
"name" : "videoGenerationCompletedTrigger",
"type" : "heyGen/v1/videoGenerationCompletedTrigger"
}
```
### Video Generation Failed [#video-generation-failed]
Name: videoGenerationFailedTrigger
`Triggers when a video fails to generate.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----------: | :----: | :---------: |
| video\_id | STRING | |
| msg | STRING | |
| callback\_id | STRING | |
#### JSON Example [#json-example-1]
```json
{
"label" : "Video Generation Failed",
"name" : "videoGenerationFailedTrigger",
"type" : "heyGen/v1/videoGenerationFailedTrigger"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: HTTP Client
URL: /reference/components/http-client_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/http-client_v1.mdx
Makes an HTTP request and returns the response data.
Categories: Helpers
Type: httpClient/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :----: | :----------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| key | Key | STRING | | true |
| value | Value | STRING | | true |
| addTo | Add to | STRING Options HEADER , QUERY\_PARAMETERS | | true |
### Bearer Token [#bearer-token]
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
### Basic Auth [#basic-auth]
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :---------: | :------: |
| username | Username | STRING | | true |
| password | Password | STRING | | true |
### Digest Auth [#digest-auth]
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :---------: | :------: |
| username | Username | STRING | | true |
| password | Password | STRING | | true |
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :----: | :-------------------------------------: | :------: |
| authorizationUrl | Authorization URL | STRING | | true |
| tokenUrl | Token URL | STRING | | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| headerPrefix | Header Prefix | STRING | | false |
| scopes | Scopes | STRING | Optional comma-delimited list of scopes | false |
### OAuth2 Implicit Code [#oauth2-implicit-code]
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :----: | :-------------------------------------: | :------: |
| authorizationUrl | Authorization URL | STRING | | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| headerPrefix | Header Prefix | STRING | | false |
| scopes | Scopes | STRING | Optional comma-delimited list of scopes | false |
### OAuth2 Client Credentials [#oauth2-client-credentials]
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :-------------------------------------: | :------: |
| tokenUrl | Token URL | STRING | | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| headerPrefix | Header Prefix | STRING | | false |
| scopes | Scopes | STRING | Optional comma-delimited list of scopes | false |
## Actions [#actions]
### GET [#get]
Name: get
`Use GET method to retrieve information about the specified resource.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--------------------: | :----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------: |
| uri | URI | STRING | The URI to make the request to. If HTTP Client Connection defines Base URI, then this value is appended to it. | true |
| allowUnauthorizedCerts | Allow Unauthorized Certs | BOOLEAN Options true , false | Download the response even if SSL certificate validation is not possible. | false |
| responseType | Response Format | STRING Options JSON , XML , TEXT , BINARY | The format in which the data gets returned from the URL. | false |
| responseContentType | Content Type | STRING | | true |
| responseFilename | Response Filename | STRING | The name of the file if the response is returned as a file object. | false |
| headers | Headers | OBJECT Properties \{} | Headers to send. | false |
| queryParameters | Query Parameters | OBJECT Properties \{} | Query parameters to send. | false |
| fullResponse | Full Response | BOOLEAN Options true , false | Returns the full response data instead of only the body. | false |
| followAllRedirects | Follow All Redirects | BOOLEAN Options true , false | Follow non-GET HTTP 3xx redirects. | false |
| followRedirect | Follow GET Redirect | BOOLEAN Options true , false | Follow GET HTTP 3xx redirects. | false |
| ignoreResponseCode | Ignore Response Code | BOOLEAN Options true , false | Succeeds also when the status code is not 2xx. | false |
| proxy | Proxy | STRING | HTTP proxy to use. | false |
| timeout | Timeout | INTEGER | Time in ms to wait for the server to send a response before aborting the request. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "GET",
"name" : "get",
"parameters" : {
"uri" : "",
"allowUnauthorizedCerts" : false,
"responseType" : "",
"responseContentType" : "",
"responseFilename" : "",
"headers" : { },
"queryParameters" : { },
"fullResponse" : false,
"followAllRedirects" : false,
"followRedirect" : false,
"ignoreResponseCode" : false,
"proxy" : "",
"timeout" : 1
},
"type" : "httpClient/v1/get"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### POST [#post]
Name: post
`The POST method submits an entity to the specified resource, often causing a change in state or side effects on the server.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :--------------------: | :----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------: |
| uri | URI | STRING | The URI to make the request to. If HTTP Client Connection defines Base URI, then this value is appended to it. | true |
| allowUnauthorizedCerts | Allow Unauthorized Certs | BOOLEAN Options true , false | Download the response even if SSL certificate validation is not possible. | false |
| responseType | Response Format | STRING Options JSON , XML , TEXT , BINARY | The format in which the data gets returned from the URL. | false |
| responseContentType | Content Type | STRING | | true |
| responseFilename | Response Filename | STRING | The name of the file if the response is returned as a file object. | false |
| headers | Headers | OBJECT Properties \{} | Headers to send. | false |
| queryParameters | Query Parameters | OBJECT Properties \{} | Query parameters to send. | false |
| body | Body | OBJECT Properties \{STRING(bodyContentType), \{}(bodyContent), \{}(bodyContent), \{}(bodyContent), \{}(bodyContent), STRING(bodyContent), FILE\_ENTRY(bodyContent), STRING(bodyContentMimeType), STRING(bodyContentMimeType)} | The body of the request. | false |
| fullResponse | Full Response | BOOLEAN Options true , false | Returns the full response data instead of only the body. | false |
| followAllRedirects | Follow All Redirects | BOOLEAN Options true , false | Follow non-GET HTTP 3xx redirects. | false |
| followRedirect | Follow GET Redirect | BOOLEAN Options true , false | Follow GET HTTP 3xx redirects. | false |
| ignoreResponseCode | Ignore Response Code | BOOLEAN Options true , false | Succeeds also when the status code is not 2xx. | false |
| proxy | Proxy | STRING | HTTP proxy to use. | false |
| timeout | Timeout | INTEGER | Time in ms to wait for the server to send a response before aborting the request. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "POST",
"name" : "post",
"parameters" : {
"uri" : "",
"allowUnauthorizedCerts" : false,
"responseType" : "",
"responseContentType" : "",
"responseFilename" : "",
"headers" : { },
"queryParameters" : { },
"body" : {
"bodyContentType" : "",
"bodyContent" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"bodyContentMimeType" : ""
},
"fullResponse" : false,
"followAllRedirects" : false,
"followRedirect" : false,
"ignoreResponseCode" : false,
"proxy" : "",
"timeout" : 1
},
"type" : "httpClient/v1/post"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### PUT [#put]
Name: put
`The PUT method replaces all current representations of the target resource with the request content.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--------------------: | :----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------: |
| uri | URI | STRING | The URI to make the request to. If HTTP Client Connection defines Base URI, then this value is appended to it. | true |
| allowUnauthorizedCerts | Allow Unauthorized Certs | BOOLEAN Options true , false | Download the response even if SSL certificate validation is not possible. | false |
| responseType | Response Format | STRING Options JSON , XML , TEXT , BINARY | The format in which the data gets returned from the URL. | false |
| responseContentType | Content Type | STRING | | true |
| responseFilename | Response Filename | STRING | The name of the file if the response is returned as a file object. | false |
| headers | Headers | OBJECT Properties \{} | Headers to send. | false |
| queryParameters | Query Parameters | OBJECT Properties \{} | Query parameters to send. | false |
| body | Body | OBJECT Properties \{STRING(bodyContentType), \{}(bodyContent), \{}(bodyContent), \{}(bodyContent), \{}(bodyContent), STRING(bodyContent), FILE\_ENTRY(bodyContent), STRING(bodyContentMimeType), STRING(bodyContentMimeType)} | The body of the request. | false |
| fullResponse | Full Response | BOOLEAN Options true , false | Returns the full response data instead of only the body. | false |
| followAllRedirects | Follow All Redirects | BOOLEAN Options true , false | Follow non-GET HTTP 3xx redirects. | false |
| followRedirect | Follow GET Redirect | BOOLEAN Options true , false | Follow GET HTTP 3xx redirects. | false |
| ignoreResponseCode | Ignore Response Code | BOOLEAN Options true , false | Succeeds also when the status code is not 2xx. | false |
| proxy | Proxy | STRING | HTTP proxy to use. | false |
| timeout | Timeout | INTEGER | Time in ms to wait for the server to send a response before aborting the request. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "PUT",
"name" : "put",
"parameters" : {
"uri" : "",
"allowUnauthorizedCerts" : false,
"responseType" : "",
"responseContentType" : "",
"responseFilename" : "",
"headers" : { },
"queryParameters" : { },
"body" : {
"bodyContentType" : "",
"bodyContent" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"bodyContentMimeType" : ""
},
"fullResponse" : false,
"followAllRedirects" : false,
"followRedirect" : false,
"ignoreResponseCode" : false,
"proxy" : "",
"timeout" : 1
},
"type" : "httpClient/v1/put"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### PATCH [#patch]
Name: patch
`The PATCH method applies partial modifications to a resource.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :--------------------: | :----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------: |
| uri | URI | STRING | The URI to make the request to. If HTTP Client Connection defines Base URI, then this value is appended to it. | true |
| allowUnauthorizedCerts | Allow Unauthorized Certs | BOOLEAN Options true , false | Download the response even if SSL certificate validation is not possible. | false |
| responseType | Response Format | STRING Options JSON , XML , TEXT , BINARY | The format in which the data gets returned from the URL. | false |
| responseContentType | Content Type | STRING | | true |
| responseFilename | Response Filename | STRING | The name of the file if the response is returned as a file object. | false |
| headers | Headers | OBJECT Properties \{} | Headers to send. | false |
| queryParameters | Query Parameters | OBJECT Properties \{} | Query parameters to send. | false |
| body | Body | OBJECT Properties \{STRING(bodyContentType), \{}(bodyContent), \{}(bodyContent), \{}(bodyContent), \{}(bodyContent), STRING(bodyContent), FILE\_ENTRY(bodyContent), STRING(bodyContentMimeType), STRING(bodyContentMimeType)} | The body of the request. | false |
| fullResponse | Full Response | BOOLEAN Options true , false | Returns the full response data instead of only the body. | false |
| followAllRedirects | Follow All Redirects | BOOLEAN Options true , false | Follow non-GET HTTP 3xx redirects. | false |
| followRedirect | Follow GET Redirect | BOOLEAN Options true , false | Follow GET HTTP 3xx redirects. | false |
| ignoreResponseCode | Ignore Response Code | BOOLEAN Options true , false | Succeeds also when the status code is not 2xx. | false |
| proxy | Proxy | STRING | HTTP proxy to use. | false |
| timeout | Timeout | INTEGER | Time in ms to wait for the server to send a response before aborting the request. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "PATCH",
"name" : "patch",
"parameters" : {
"uri" : "",
"allowUnauthorizedCerts" : false,
"responseType" : "",
"responseContentType" : "",
"responseFilename" : "",
"headers" : { },
"queryParameters" : { },
"body" : {
"bodyContentType" : "",
"bodyContent" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"bodyContentMimeType" : ""
},
"fullResponse" : false,
"followAllRedirects" : false,
"followRedirect" : false,
"ignoreResponseCode" : false,
"proxy" : "",
"timeout" : 1
},
"type" : "httpClient/v1/patch"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### DELETE [#delete]
Name: delete
`The DELETE method deletes the specified resource.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :--------------------: | :----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------: |
| uri | URI | STRING | The URI to make the request to. If HTTP Client Connection defines Base URI, then this value is appended to it. | true |
| allowUnauthorizedCerts | Allow Unauthorized Certs | BOOLEAN Options true , false | Download the response even if SSL certificate validation is not possible. | false |
| responseType | Response Format | STRING Options JSON , XML , TEXT , BINARY | The format in which the data gets returned from the URL. | false |
| responseContentType | Content Type | STRING | | true |
| responseFilename | Response Filename | STRING | The name of the file if the response is returned as a file object. | false |
| headers | Headers | OBJECT Properties \{} | Headers to send. | false |
| queryParameters | Query Parameters | OBJECT Properties \{} | Query parameters to send. | false |
| fullResponse | Full Response | BOOLEAN Options true , false | Returns the full response data instead of only the body. | false |
| followAllRedirects | Follow All Redirects | BOOLEAN Options true , false | Follow non-GET HTTP 3xx redirects. | false |
| followRedirect | Follow GET Redirect | BOOLEAN Options true , false | Follow GET HTTP 3xx redirects. | false |
| ignoreResponseCode | Ignore Response Code | BOOLEAN Options true , false | Succeeds also when the status code is not 2xx. | false |
| proxy | Proxy | STRING | HTTP proxy to use. | false |
| timeout | Timeout | INTEGER | Time in ms to wait for the server to send a response before aborting the request. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "DELETE",
"name" : "delete",
"parameters" : {
"uri" : "",
"allowUnauthorizedCerts" : false,
"responseType" : "",
"responseContentType" : "",
"responseFilename" : "",
"headers" : { },
"queryParameters" : { },
"fullResponse" : false,
"followAllRedirects" : false,
"followRedirect" : false,
"ignoreResponseCode" : false,
"proxy" : "",
"timeout" : 1
},
"type" : "httpClient/v1/delete"
}
```
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### HEAD [#head]
Name: head
`The HEAD method asks for a response identical to a GET request, but without a response body.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :--------------------: | :----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------: |
| uri | URI | STRING | The URI to make the request to. If HTTP Client Connection defines Base URI, then this value is appended to it. | true |
| allowUnauthorizedCerts | Allow Unauthorized Certs | BOOLEAN Options true , false | Download the response even if SSL certificate validation is not possible. | false |
| responseType | Response Format | STRING Options JSON , XML , TEXT , BINARY | The format in which the data gets returned from the URL. | false |
| responseContentType | Content Type | STRING | | true |
| responseFilename | Response Filename | STRING | The name of the file if the response is returned as a file object. | false |
| headers | Headers | OBJECT Properties \{} | Headers to send. | false |
| queryParameters | Query Parameters | OBJECT Properties \{} | Query parameters to send. | false |
| fullResponse | Full Response | BOOLEAN Options true , false | Returns the full response data instead of only the body. | false |
| followAllRedirects | Follow All Redirects | BOOLEAN Options true , false | Follow non-GET HTTP 3xx redirects. | false |
| followRedirect | Follow GET Redirect | BOOLEAN Options true , false | Follow GET HTTP 3xx redirects. | false |
| ignoreResponseCode | Ignore Response Code | BOOLEAN Options true , false | Succeeds also when the status code is not 2xx. | false |
| proxy | Proxy | STRING | HTTP proxy to use. | false |
| timeout | Timeout | INTEGER | Time in ms to wait for the server to send a response before aborting the request. | false |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "HEAD",
"name" : "head",
"parameters" : {
"uri" : "",
"allowUnauthorizedCerts" : false,
"responseType" : "",
"responseContentType" : "",
"responseFilename" : "",
"headers" : { },
"queryParameters" : { },
"fullResponse" : false,
"followAllRedirects" : false,
"followRedirect" : false,
"ignoreResponseCode" : false,
"proxy" : "",
"timeout" : 1
},
"type" : "httpClient/v1/head"
}
```
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Hubspot
URL: /reference/components/hubspot_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/hubspot_v1.mdx
HubSpot is a CRM platform with all the software, integrations, and resources you need to connect marketing, sales, content management, and customer service.
Categories: Marketing Automation
Type: hubspot/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-------------: | :----: | :---------------------------------------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| hapikey | Hubspot API Key | STRING | API Key is used for registering webhooks. | false |
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Create a contact with the given properties.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| properties | Properties | OBJECT Properties \{STRING(firstname), STRING(lastname), STRING(email), STRING(phone), STRING(company), STRING(website)} | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"properties" : {
"firstname" : "",
"lastname" : "",
"email" : "",
"phone" : "",
"company" : "",
"website" : ""
}
},
"type" : "hubspot/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------: |
| id | STRING | ID of the newly created contact. |
| properties | OBJECT Properties \{STRING(firstname), STRING(lastname), STRING(email), STRING(phone), STRING(company), STRING(website)} | |
#### Output Example [#output-example]
```json
{
"id" : "",
"properties" : {
"firstname" : "",
"lastname" : "",
"email" : "",
"phone" : "",
"company" : "",
"website" : ""
}
}
```
### Create Deal [#create-deal]
Name: createDeal
`Creates a new deal.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| properties | Properties | OBJECT Properties \{STRING(dealname), NUMBER(amount), DATE(closedate), STRING(pipeline), STRING(dealstage), STRING(hubspot\_owner\_id)} | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Deal",
"name" : "createDeal",
"parameters" : {
"properties" : {
"dealname" : "",
"amount" : 0.0,
"closedate" : "2021-01-01",
"pipeline" : "",
"dealstage" : "",
"hubspot_owner_id" : ""
}
},
"type" : "hubspot/v1/createDeal"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: |
| id | STRING | ID of the deal. |
| properties | OBJECT Properties \{STRING(dealname), NUMBER(amount), DATE(closedate), STRING(pipeline), STRING(dealstage), STRING(hubspot\_owner\_id)} | |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"properties" : {
"dealname" : "",
"amount" : 0.0,
"closedate" : "2021-01-01",
"pipeline" : "",
"dealstage" : "",
"hubspot_owner_id" : ""
}
}
```
### Create List [#create-list]
Name: createList
`Create a new list.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :-----------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| name | Name | STRING | The name of the list, which must be globally unique across all public lists in the portal. | true |
| objectTypeId | Object Type ID | STRING | The object type ID of the type of objects that the list will store. (e.g., 0-1 for contacts). | true |
| processingType | Processing Type | STRING Options MANUAL , DYNAMIC , SNAPSHOT | The processing type of the list. | true |
| listFolderId | List Folder ID | INTEGER | The ID of the folder that the list should be created in. If left blank, then the list will be created in the root of the list folder structure. | false |
| membershipSettings | Membership Settings | OBJECT Properties \{BOOLEAN(includeUnassigned), INTEGER(membershipTeamId)} | Settings controlling list membership. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create List",
"name" : "createList",
"parameters" : {
"name" : "",
"objectTypeId" : "",
"processingType" : "",
"listFolderId" : 1,
"membershipSettings" : {
"includeUnassigned" : false,
"membershipTeamId" : 1
}
},
"type" : "hubspot/v1/createList"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| list | OBJECT Properties \{STRING(listId), INTEGER(listVersion), STRING(name), STRING(objectTypeId), STRING(processingStatus), STRING(processingType), DATE\_TIME(createdAt), STRING(createdById), DATE\_TIME(deletedAt), \{}(filterBranch), DATE\_TIME(filtersUpdatedAt), \{\[INTEGER]\(teamsWithEditAccess), \[INTEGER]\(usersWithEditAccess)}(listPermissions), \{BOOLEAN(includeUnassigned), INTEGER(membershipTeamId)}(membershipSettings), INTEGER(size), DATE\_TIME(updatedAt), STRING(updatedById)} | |
#### Output Example [#output-example-2]
```json
{
"list" : {
"listId" : "",
"listVersion" : 1,
"name" : "",
"objectTypeId" : "",
"processingStatus" : "",
"processingType" : "",
"createdAt" : "2021-01-01T00:00:00",
"createdById" : "",
"deletedAt" : "2021-01-01T00:00:00",
"filterBranch" : { },
"filtersUpdatedAt" : "2021-01-01T00:00:00",
"listPermissions" : {
"teamsWithEditAccess" : [ 1 ],
"usersWithEditAccess" : [ 1 ]
},
"membershipSettings" : {
"includeUnassigned" : false,
"membershipTeamId" : 1
},
"size" : 1,
"updatedAt" : "2021-01-01T00:00:00",
"updatedById" : ""
}
}
```
### Delete Contact [#delete-contact]
Name: deleteContact
`Move Contact to the recycling bin.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :---------: | :------: |
| contactId | Contact ID | STRING | | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete Contact",
"name" : "deleteContact",
"parameters" : {
"contactId" : ""
},
"type" : "hubspot/v1/deleteContact"
}
```
#### Output [#output-3]
This action does not produce any output.
### Get Contact [#get-contact]
Name: getContact
`Get contact details.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :---------: | :------: |
| contactId | Contact ID | STRING | | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Get Contact",
"name" : "getContact",
"parameters" : {
"contactId" : ""
},
"type" : "hubspot/v1/getContact"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :--------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------: |
| id | STRING | ID of the newly created contact. |
| properties | OBJECT Properties \{STRING(firstname), STRING(lastname), STRING(email), STRING(phone), STRING(company), STRING(website)} | |
#### Output Example [#output-example-3]
```json
{
"id" : "",
"properties" : {
"firstname" : "",
"lastname" : "",
"email" : "",
"phone" : "",
"company" : "",
"website" : ""
}
}
```
### Get Contacts [#get-contacts]
Name: getContacts
`Get all contacts.`
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get Contacts",
"name" : "getContacts",
"type" : "hubspot/v1/getContacts"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-----: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| results | ARRAY Items \[\{STRING(id), \{STRING(firstname), STRING(lastname), STRING(email), STRING(phone), STRING(company), STRING(website)}(properties)}] | |
#### Output Example [#output-example-4]
```json
{
"results" : [ {
"id" : "",
"properties" : {
"firstname" : "",
"lastname" : "",
"email" : "",
"phone" : "",
"company" : "",
"website" : ""
}
} ]
}
```
### Get Ticket [#get-ticket]
Name: getTicket
`Gets ticket details.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :---------: | :------: |
| ticketId | Ticket ID | STRING | | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Get Ticket",
"name" : "getTicket",
"parameters" : {
"ticketId" : ""
},
"type" : "hubspot/v1/getTicket"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :--------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------: |
| id | STRING | ID of the ticket |
| properties | OBJECT Properties \{STRING(content), STRING(hs\_object\_id), STRING(hs\_pipeline), STRING(hs\_pipeline\_stage), STRING(hs\_ticket\_priority), STRING(subject)} | |
#### Output Example [#output-example-5]
```json
{
"id" : "",
"properties" : {
"content" : "",
"hs_object_id" : "",
"hs_pipeline" : "",
"hs_pipeline_stage" : "",
"hs_ticket_priority" : "",
"subject" : ""
}
}
```
### Update Contact [#update-contact]
Name: updateContact
`Update Contact properties.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| contactId | Contact | STRING | | true |
| properties | Properties | OBJECT Properties \{STRING(firstname), STRING(lastname), STRING(email), STRING(phone), STRING(company), STRING(website)} | | false |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Update Contact",
"name" : "updateContact",
"parameters" : {
"contactId" : "",
"properties" : {
"firstname" : "",
"lastname" : "",
"email" : "",
"phone" : "",
"company" : "",
"website" : ""
}
},
"type" : "hubspot/v1/updateContact"
}
```
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :--------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------: |
| id | STRING | ID of the newly created contact. |
| properties | OBJECT Properties \{STRING(firstname), STRING(lastname), STRING(email), STRING(phone), STRING(company), STRING(website)} | |
#### Output Example [#output-example-6]
```json
{
"id" : "",
"properties" : {
"firstname" : "",
"lastname" : "",
"email" : "",
"phone" : "",
"company" : "",
"website" : ""
}
}
```
## Triggers [#triggers]
### New Contact [#new-contact]
Name: newContact
`Triggers when new contact is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :---: | :----: | :----: | :-------------------------------------------------------: | :------: |
| appId | App Id | STRING | The id of a Hubspot app used to register this trigger to. | true |
#### Output [#output-8]
Type: OBJECT
#### Properties [#properties-16]
| Name | Type | Description |
| :--------------: | :----: | :--------------------------------------------------------: |
| eventId | STRING | ID of the event that triggered the workflow. |
| subscriptionId | STRING | ID of the subscription associated with this webhook event. |
| subscriptionType | STRING | Type of the subscription, indicating the nature of event. |
| objectId | STRING | ID for the newly created contact. |
#### JSON Example [#json-example]
```json
{
"label" : "New Contact",
"name" : "newContact",
"parameters" : {
"appId" : ""
},
"type" : "hubspot/v1/newContact"
}
```
### New Deal [#new-deal]
Name: newDeal
`Triggers when a new deal is added.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :---: | :----: | :----: | :-------------------------------------------------------: | :------: |
| appId | App Id | STRING | The id of a Hubspot app used to register this trigger to. | true |
#### Output [#output-9]
Type: OBJECT
#### Properties [#properties-18]
| Name | Type | Description |
| :--------------: | :----: | :--------------------------------------------------------: |
| eventId | STRING | ID of the event that triggered the workflow. |
| subscriptionId | STRING | ID of the subscription associated with this webhook event. |
| subscriptionType | STRING | Type of the subscription, indicating the nature of event. |
| objectId | STRING | ID for the newly created deal. |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Deal",
"name" : "newDeal",
"parameters" : {
"appId" : ""
},
"type" : "hubspot/v1/newDeal"
}
```
### New Ticket [#new-ticket]
Name: newTicket
`Triggers when new ticket is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-19]
| Name | Label | Type | Description | Required |
| :---: | :----: | :----: | :-------------------------------------------------------: | :------: |
| appId | App Id | STRING | The id of a Hubspot app used to register this trigger to. | true |
#### Output [#output-10]
Type: OBJECT
#### Properties [#properties-20]
| Name | Type | Description |
| :--------------: | :----: | :--------------------------------------------------------: |
| eventId | STRING | ID of the event that triggered the workflow. |
| subscriptionId | STRING | ID of the subscription associated with this webhook event. |
| subscriptionType | STRING | Type of the subscription, indicating the nature of event. |
| objectId | STRING | ID for the newly created ticket. |
#### JSON Example [#json-example-2]
```json
{
"label" : "New Ticket",
"name" : "newTicket",
"parameters" : {
"appId" : ""
},
"type" : "hubspot/v1/newTicket"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Hunter
URL: /reference/components/hunter_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/hunter_v1.mdx
Hunter is a tool that helps users find and verify professional email addresses, enabling effective outreach and communication.
Categories:
Type: hunter/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | Value | STRING | | true |
## Connection Setup [#connection-setup]
Connect Hunter to ByteChef using an API Key.
### Get your Hunter API key [#get-your-hunter-api-key]
1. Log in to your Hunter account: [https://hunter.io/dashboard](https://hunter.io/dashboard)
2. In the left sidebar, click **API**.
3. Click **Create new key** (or generate a new key).
4. Copy the generated API key and keep it handy.
For details, see Hunter’s API authentication docs: [https://hunter.io/api-documentation](https://hunter.io/api-documentation)
## Actions [#actions]
### Combined Enrichment [#combined-enrichment]
Name: combinedEnrichment
`Returns all the information associated with an email address and its domain name.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :-----------: | :----: | :------------------------------------------------------------------: | :------: |
| email | Email Address | STRING | The email address name for which you to find associated information. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Combined Enrichment",
"name" : "combinedEnrichment",
"parameters" : {
"email" : ""
},
"type" : "hunter/v1/combinedEnrichment"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{\{STRING(id), \{STRING(fullName), STRING(givenName), STRING(familyName)}(name), STRING(email), STRING(location), \{STRING(city), STRING(state), INTEGER(stateCode), STRING(country), STRING(countryCode), NUMBER(lat), NUMBER(lng)}(geo)}(person), \{STRING(id), STRING(name), STRING(legalName), STRING(domain), STRING(description), INTEGER(foundedYear), STRING(location), STRING(timeZone), STRING(logo), STRING(emailProvider), STRING(phone)}(company)} | |
#### Output Example [#output-example]
```json
{
"data" : {
"person" : {
"id" : "",
"name" : {
"fullName" : "",
"givenName" : "",
"familyName" : ""
},
"email" : "",
"location" : "",
"geo" : {
"city" : "",
"state" : "",
"stateCode" : 1,
"country" : "",
"countryCode" : "",
"lat" : 0.0,
"lng" : 0.0
}
},
"company" : {
"id" : "",
"name" : "",
"legalName" : "",
"domain" : "",
"description" : "",
"foundedYear" : 1,
"location" : "",
"timeZone" : "",
"logo" : "",
"emailProvider" : "",
"phone" : ""
}
}
}
```
### Company Enrichment [#company-enrichment]
Name: companyEnrichment
`Returns all the information associated with a domain name, such as the industry, the description, or headquarters' location.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----: | :-----------------------------------------------------------: | :------: |
| domain | Domain | STRING | The domain name for which you to find associated information. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Company Enrichment",
"name" : "companyEnrichment",
"parameters" : {
"domain" : ""
},
"type" : "hunter/v1/companyEnrichment"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), STRING(name), STRING(legalName), STRING(domain), STRING(description), INTEGER(foundedYear), STRING(location), STRING(timeZone), STRING(logo), STRING(emailProvider), STRING(phone), \{STRING(domain)}(meta)} | |
#### Output Example [#output-example-1]
```json
{
"data" : {
"id" : "",
"name" : "",
"legalName" : "",
"domain" : "",
"description" : "",
"foundedYear" : 1,
"location" : "",
"timeZone" : "",
"logo" : "",
"emailProvider" : "",
"phone" : "",
"meta" : {
"domain" : ""
}
}
}
```
### Create Lead [#create-lead]
Name: createLead
`Creates a new lead.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------------: | :-----------: | :-----: | :----------------------------------------------------------------------------------------------------------------: | :------: |
| email | Email Address | STRING | The email address of the lead. | false |
| first\_name | First Name | STRING | The first name of the lead. | false |
| last\_name | Last Name | STRING | The last name of the lead. | false |
| position | Position | STRING | The job title of the lead. | false |
| company | Company | STRING | The name of the company the lead is working in. | false |
| phone\_number | Phone Number | STRING | The phone number of the lead. | false |
| lead\_list\_id | Lead List ID | INTEGER | The identifier of the list the lead belongs to. If it's not specified, the lead is saved in the last list created. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Lead",
"name" : "createLead",
"parameters" : {
"email" : "",
"first_name" : "",
"last_name" : "",
"position" : "",
"company" : "",
"phone_number" : "",
"lead_list_id" : 1
},
"type" : "hunter/v1/createLead"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), STRING(email), STRING(first\_name), STRING(last\_name), STRING(position), STRING(company), \{INTEGER(id), STRING(name)}(leads\_list)} | |
#### Output Example [#output-example-2]
```json
{
"data" : {
"id" : "",
"email" : "",
"first_name" : "",
"last_name" : "",
"position" : "",
"company" : "",
"leads_list" : {
"id" : 1,
"name" : ""
}
}
}
```
#### How to find Lead List ID [#how-to-find-lead-list-id]
1. Log in to your Hunter account at [hunter.io](https://hunter.io).
2. Go to the **Leads** section from the main menu.
3. In the left-hand panel, click the specific lead list whose ID you want to use.
4. In your browser’s address bar, look at the page URL. It will look similar to: `https://hunter.io/leads?leads_list_id=12345`).
5. The value after `leads_list_id=` (in this example, `12345`) is your **Lead List ID**. Copy this value and paste it into the **Lead List ID** field where required.
### Email Enrichment [#email-enrichment]
Name: emailEnrichment
`Returns all the information associated with an email address, such as a person's name, location and social handles.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---: | :-----------: | :----: | :------------------------------------------------------------------: | :------: |
| email | Email Address | STRING | The email address name for which you to find associated information. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Email Enrichment",
"name" : "emailEnrichment",
"parameters" : {
"email" : ""
},
"type" : "hunter/v1/emailEnrichment"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), \{STRING(fullName), STRING(givenName), STRING(familyName)}(name), STRING(email), STRING(location), \{STRING(city), STRING(state), INTEGER(stateCode), STRING(country), STRING(countryCode), NUMBER(lat), NUMBER(lng)}(geo), \{STRING(email)}(meta)} | |
#### Output Example [#output-example-3]
```json
{
"data" : {
"id" : "",
"name" : {
"fullName" : "",
"givenName" : "",
"familyName" : ""
},
"email" : "",
"location" : "",
"geo" : {
"city" : "",
"state" : "",
"stateCode" : 1,
"country" : "",
"countryCode" : "",
"lat" : 0.0,
"lng" : 0.0
},
"meta" : {
"email" : ""
}
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Image Helper
URL: /reference/components/image-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/image-helper_v1.mdx
Helper component which contains various actions for image manipulation.
Categories: Helpers
Type: imageHelper/v1
## Actions [#actions]
### Compress Image [#compress-image]
Name: compressImage
`Compress image with specified quality.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :---------: | :--------------------------------------------------: | :------: |
| image | Image | FILE\_ENTRY | The image file to process. | true |
| quality | Quality | NUMBER | Compression quality of the image. | true |
| resultFileName | Result File Name | STRING | Specifies the output file name for the result image. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Compress Image",
"name" : "compressImage",
"parameters" : {
"image" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"quality" : 0.0,
"resultFileName" : ""
},
"type" : "imageHelper/v1/compressImage"
}
```
#### Output [#output]
Type: FILE\_ENTRY
#### Properties [#properties-1]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Crop Image [#crop-image]
Name: cropImage
`Crops an image to the specified dimensions.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :---------: | :--------------------------------------------------: | :------: |
| image | Image | FILE\_ENTRY | The image file to process. | true |
| x | X Coordinate | INTEGER | The horizontal starting point of the crop area. | true |
| y | Y Coordinate | INTEGER | The vertical starting point of the crop area. | true |
| width | Width | INTEGER | Width of the crop area. | true |
| height | Height | INTEGER | Height of the crop area. | true |
| resultFileName | Result File Name | STRING | Specifies the output file name for the result image. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Crop Image",
"name" : "cropImage",
"parameters" : {
"image" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"x" : 1,
"y" : 1,
"width" : 1,
"height" : 1,
"resultFileName" : ""
},
"type" : "imageHelper/v1/cropImage"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-3]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Get Image Metadata [#get-image-metadata]
Name: getImageMetadata
`Get metadata of the image.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :---------: | :--------------------------------------------------: | :------: |
| image | Image | FILE\_ENTRY | The image file to process. | true |
| resultFileName | Result File Name | STRING | Specifies the output file name for the result image. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Image Metadata",
"name" : "getImageMetadata",
"parameters" : {
"image" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"resultFileName" : ""
},
"type" : "imageHelper/v1/getImageMetadata"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Image to Base64 [#image-to-base64]
Name: imageToBase64
`Converts image to Base64 string.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---: | :---: | :---------: | :------------------------: | :------: |
| image | Image | FILE\_ENTRY | The image file to process. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Image to Base64",
"name" : "imageToBase64",
"parameters" : {
"image" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "imageHelper/v1/imageToBase64"
}
```
#### Output [#output-3]
Type: STRING
### Resize Image [#resize-image]
Name: resizeImage
`Resizes an image to the specified width and height.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :---------: | :--------------------------------------------------: | :------: |
| image | Image | FILE\_ENTRY | The image file to process. | true |
| width | Width | INTEGER | The target width of the image in pixels. | true |
| height | Height | INTEGER | The target height of the image in pixels. | true |
| resultFileName | Result File Name | STRING | Specifies the output file name for the result image. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Resize Image",
"name" : "resizeImage",
"parameters" : {
"image" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"width" : 1,
"height" : 1,
"resultFileName" : ""
},
"type" : "imageHelper/v1/resizeImage"
}
```
#### Output [#output-4]
Type: FILE\_ENTRY
#### Properties [#properties-7]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-2]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Rotate Image [#rotate-image]
Name: rotateImage
`Rotates an image by a specified degree.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :-----------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------: | :------: |
| image | Image | FILE\_ENTRY | The image file to process. | true |
| degree | Degree | INTEGER Options 90 , 180 , 270 | Specifies the degree of clockwise rotation applied to the image. | true |
| resultFileName | Result File Name | STRING | Specifies the output file name for the result image. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Rotate Image",
"name" : "rotateImage",
"parameters" : {
"image" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"degree" : 1,
"resultFileName" : ""
},
"type" : "imageHelper/v1/rotateImage"
}
```
#### Output [#output-5]
Type: FILE\_ENTRY
#### Properties [#properties-9]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-3]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
# ByteChef Reference: In Memory Chat Memory
URL: /reference/components/in-memory-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/in-memory-chat-memory_v1.mdx
In Memory Chat Memory.
Categories: Artificial Intelligence
Type: inMemoryChatMemory/v1
## Actions [#actions]
### Add Messages [#add-messages]
Name: addMessages
`Adds messages to the chat memory for a conversation.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :---------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content)}] | The messages to add to the conversation. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Messages",
"name" : "addMessages",
"parameters" : {
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
},
"type" : "inMemoryChatMemory/v1/addMessages"
}
```
#### Output [#output]
This action does not produce any output.
### Get Messages [#get-messages]
Name: getMessages
`Retrieves all messages from a conversation.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Messages",
"name" : "getMessages",
"parameters" : {
"conversationId" : ""
},
"type" : "inMemoryChatMemory/v1/getMessages"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| messages | ARRAY Items \[\{STRING(role), STRING(content)}] | |
#### Output Example [#output-example]
```json
{
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
}
```
### Delete Conversation [#delete-conversation]
Name: deleteConversation
`Deletes all messages for a conversation.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :---------------------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Conversation",
"name" : "deleteConversation",
"parameters" : {
"conversationId" : ""
},
"type" : "inMemoryChatMemory/v1/deleteConversation"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| deleted | BOOLEAN Options true , false | |
#### Output Example [#output-example-1]
```json
{
"conversationId" : "",
"deleted" : false
}
```
### List Conversations [#list-conversations]
Name: listConversations
`Lists all conversation IDs in the chat memory.`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Conversations",
"name" : "listConversations",
"type" : "inMemoryChatMemory/v1/listConversations"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------: | :---------: |
| conversationIds | ARRAY Items \[STRING] | |
| count | INTEGER | |
#### Output Example [#output-example-2]
```json
{
"conversationIds" : [ "" ],
"count" : 1
}
```
# ByteChef Reference: In-memory Session Repository
URL: /reference/components/in-memory-session-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/in-memory-session-chat-memory_v1.mdx
In-memory storage backend for Session Chat Memory.
Categories: Artificial Intelligence
Type: inMemorySessionChatMemory/v1
# ByteChef Reference: Components
URL: /reference/components
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/index.mdx
Blocks for workflow definitions.
# ByteChef Reference: Infobip
URL: /reference/components/infobip_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/infobip_v1.mdx
Infobip is a global communications platform that provide cloud-based messaging and omnichannel communication solutions for businesses.
Categories: Communication
Type: infobip/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :-------------------------------------: | :------: |
| key | API Key | STRING | | true |
| baseUrl | Base URL | STRING | Personalized base URL for API requests. | true |
## Connection Setup [#connection-setup]
1. Navigate to [https://portal.infobip.com/homepage](https://portal.infobip.com/homepage).
2. Open left sidebar menu.
3. Expand **Developer Tools** and click on **API Keys**.
4. Click on **Create api key**.
5. Fill in the required fields.
6. Select all needed scopes: `inbound-message:read`, `whatsapp:manage` and `numbers:manage`.
7. Click on **CREATE**.
8. You have your API key.
## Actions [#actions]
### Make Outbound Call [#make-outbound-call]
Name: makeCall
`Initiates an outbound voice call via the Infobip Calls API and executes a real-time workflow synchronously during the call. The action blocks until the call completes, allowing real-time audio processing and AI conversations over media streaming.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------------: | :--------------------: | :-----: | :----------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| to | To | STRING | The phone number to call in E.164 format. | true |
| from | From | STRING | The caller ID (your Infobip voice number) in E.164 format. | true |
| callsConfigurationId | Calls Configuration ID | STRING | The Infobip Calls configuration ID that the outbound call is placed under. Created in the Infobip portal or via the Calls API. | true |
| applicationId | Application ID | STRING | Optional Infobip application (subaccount) ID the call belongs to. | false |
| subWorkflow | Real-Time Workflow | STRING | The workflow ID to execute synchronously during the phone call. This workflow handles real-time audio processing and AI responses via media streaming. | true |
| timeout | Ring Timeout | INTEGER | Maximum time in seconds to wait for the call to be answered. If not answered within this time, the call fails. | false |
| maxDuration | Max Call Duration | INTEGER | Maximum duration in minutes to wait for the call to complete. After this time, the action returns with a timeout status. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Make Outbound Call",
"name" : "makeCall",
"parameters" : {
"to" : "",
"from" : "",
"callsConfigurationId" : "",
"applicationId" : "",
"subWorkflow" : "",
"timeout" : 1,
"maxDuration" : 1
},
"type" : "infobip/v1/makeCall"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :-----: | :----------------------------------: |
| callId | STRING | Unique identifier for the call |
| state | STRING | Final call state (FINISHED, timeout) |
| duration | INTEGER | Call duration in seconds |
| direction | STRING | Call direction (OUTBOUND) |
#### Output Example [#output-example]
```json
{
"callId" : "",
"state" : "",
"duration" : 1,
"direction" : ""
}
```
### Send SMS [#send-sms]
Name: sendSMS
`Send a new SMS message to one or more recipients.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :---: | :-------------------------------------------------------------: | :-------------------------------------------------------------------: | :------: |
| sender | From | STRING | The sender ID. It can be alphanumeric or numeric (e.g., CompanyName). | true |
| to | To | ARRAY Items \[STRING] | Message recipient numbers. | true |
| text | Text | STRING | Content of the message being sent. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send SMS",
"name" : "sendSMS",
"parameters" : {
"sender" : "",
"to" : [ "" ],
"text" : ""
},
"type" : "infobip/v1/sendSMS"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------: |
| bulkId | STRING | ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request. |
| messages | ARRAY Items \[\{STRING(messageId), \{INTEGER(groupId), STRING(groupName), INTEGER(id), STRING(name), STRING(description), STRING(action)}(status), STRING(destination), \{INTEGER(messageCount)}(details)}] | An array of message objects of a single message or multiple messages sent under one bulk ID. |
#### Output Example [#output-example-1]
```json
{
"bulkId" : "",
"messages" : [ {
"messageId" : "",
"status" : {
"groupId" : 1,
"groupName" : "",
"id" : 1,
"name" : "",
"description" : "",
"action" : ""
},
"destination" : "",
"details" : {
"messageCount" : 1
}
} ]
}
```
### Send Whatsapp Template Message [#send-whatsapp-template-message]
Name: sendWhatsappTemplateMessage
`Send a template message.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-----------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------: | :------: |
| from | From | STRING | Registered WhatsApp sender number. Must be in international format and comply with WhatsApp's requirements. | true |
| to | To | STRING | Message recipient number. Must be in international format. | true |
| templateName | Template Name | STRING Depends On from | Name of the WhatsApp template to use. | true |
| placeholders | | DYNAMIC\_PROPERTIES Depends On templateName | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Send Whatsapp Template Message",
"name" : "sendWhatsappTemplateMessage",
"parameters" : {
"from" : "",
"to" : "",
"templateName" : "",
"placeholders" : { }
},
"type" : "infobip/v1/sendWhatsappTemplateMessage"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| messages | ARRAY Items \[\{STRING(to), INTEGER(messageCount), STRING(messageId), \{INTEGER(groupId), STRING(groupName), INTEGER(id), STRING(name), STRING(description), STRING(action)}(status)}] | |
#### Output Example [#output-example-2]
```json
{
"messages" : [ {
"to" : "",
"messageCount" : 1,
"messageId" : "",
"status" : {
"groupId" : 1,
"groupName" : "",
"id" : 1,
"name" : "",
"description" : "",
"action" : ""
}
} ]
}
```
### Send WhatsApp Text Message [#send-whatsapp-text-message]
Name: sendWhatsappTextMessage
`Send a WhatsApp text message to a single recipient.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------------------------------------------------------------------------------------------------------: | :------: |
| from | From | STRING | Registered WhatsApp sender number. Must be in international format and comply with WhatsApp's requirements. | true |
| to | To | STRING | Message recipient number. Must be in international format. | true |
| text | Text | STRING | Content of the message being sent. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Send WhatsApp Text Message",
"name" : "sendWhatsappTextMessage",
"parameters" : {
"from" : "",
"to" : "",
"text" : ""
},
"type" : "infobip/v1/sendWhatsappTextMessage"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------: |
| to | STRING | The destination address of the message. |
| messageCount | INTEGER | Number of messages required to deliver. |
| messageId | STRING | ID of the message sent. |
| status | OBJECT Properties \{INTEGER(groupId), STRING(groupName), INTEGER(id), STRING(name), STRING(description), STRING(action)} | Status of the message. |
#### Output Example [#output-example-3]
```json
{
"to" : "",
"messageCount" : 1,
"messageId" : "",
"status" : {
"groupId" : 1,
"groupName" : "",
"id" : 1,
"name" : "",
"description" : "",
"action" : ""
}
}
```
## Triggers [#triggers]
### Inbound Voice Call [#inbound-voice-call]
Name: inboundCall
`Triggers when an inbound voice call is received via Infobip. The call is streamed to a real-time workflow for audio processing and AI conversation over media streaming.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :-------------: | :----------------------: | :----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| subWorkflow | Real-Time Workflow | STRING | The workflow ID to execute synchronously during the phone call. This workflow handles real-time audio processing and AI responses. | true |
| signatureSecret | Webhook Signature Secret | STRING | Optional shared secret used to verify the HMAC signature Infobip sends on signed webhooks. When set, requests with a missing or invalid signature are rejected. Leave empty to skip signature verification. | false |
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-------: | :----: | :----------------------------: |
| callId | STRING | Unique identifier for the call |
| from | STRING | Caller phone number |
| to | STRING | Called phone number |
| direction | STRING | Call direction (INBOUND) |
| state | STRING | Call state |
#### JSON Example [#json-example]
```json
{
"label" : "Inbound Voice Call",
"name" : "inboundCall",
"parameters" : {
"subWorkflow" : "",
"signatureSecret" : ""
},
"type" : "infobip/v1/inboundCall"
}
```
### New SMS Message [#new-sms-message]
Name: newSMS
`Triggers when a new SMS message is received.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :----: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| number | Number | STRING | Number to monitor for new SMS messages. | true |
| keyword | Keyword | STRING | Keywords are words at the beginning of the message text of the inbound message that are used to filter out specific messages received on a number. | false |
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-1]
```json
{
"label" : "New SMS Message",
"name" : "newSMS",
"parameters" : {
"number" : "",
"keyword" : ""
},
"type" : "infobip/v1/newSMS"
}
```
#### Keyword Property [#keyword-property]
To learn more about `keyword` property, click [here](/reference/components/infobip_v1#keywords).
### New WhatsApp Message [#new-whatsapp-message]
Name: newWhatsappMessage
`Triggers when a new WhatsApp message is received.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :----: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| number | Number | STRING | Number to monitor for new WhatsApp messages. | true |
| keyword | Keyword | STRING | Keywords are words at the beginning of the message text of the inbound message that are used to filter out specific messages received on a number. | false |
#### Output [#output-6]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-2]
```json
{
"label" : "New WhatsApp Message",
"name" : "newWhatsappMessage",
"parameters" : {
"number" : "",
"keyword" : ""
},
"type" : "infobip/v1/newWhatsappMessage"
}
```
#### Keyword Property [#keyword-property-1]
To learn more about `keyword` property, click [here](/reference/components/infobip_v1#keywords).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### Keywords [#keywords]
Infobip **keywords** are specific words or phrases associated with a number that Infobip uses to decide **how to route incoming messages** and which actions to trigger.
In ByteChef, the `Keyword` field (used, for example, in the **New WhatsApp Message** trigger) lets you take advantage of this mechanism.
#### How keywords work [#how-keywords-work]
* A keyword is typically a word or short code that appears in the incoming message (for example: `START`, `HELP`, `SALES`).
* Infobip matches incoming messages against the configured keywords on a given number and can perform different actions based on which keyword was used.
* ByteChef passes the configured keyword to Infobip when enabling the webhook, so only messages that match that keyword (according to Infobip’s rules and configuration) will be delivered to the webhook and can trigger your workflow.
#### When to use a keyword [#when-to-use-a-keyword]
Use a keyword when you want to:
* Route only **specific** messages to this trigger (e.g. messages that start with `ORDER`).
* Have **multiple workflows** that react differently to messages sent to the same number, based on the keyword.
* Implement opt‑in / opt‑out flows or different “channels” (e.g. `NEWS`, `PROMO`, `SUPPORT`) on a single number.
If you do **not** need keyword‑based routing and want to handle all incoming messages for a number with a single workflow, you can leave the keyword field empty (or follow your Infobip configuration strategy).
For detailed information about how keywords work in Infobip, see the [official documentation](https://www.infobip.com/docs/numbers/keywords-and-actions#configure-keywords-keywords).
### Voice Calls (Real-Time Media Streaming) [#voice-calls-real-time-media-streaming]
The **Make Outbound Call** action and the **Inbound Voice Call** trigger stream call audio to a real-time
sub-workflow over a WebSocket bridge, enabling live audio processing and AI voice conversations.
#### Operator setup [#operator-setup]
* **Enable media replacement.** Bidirectional audio (the sub-workflow both *receiving* caller audio and
*sending* audio back into the call) requires **media replacement** to be enabled on the Infobip
media-stream configuration. Without it, streaming is receive-only and the caller will not hear the
workflow's responses.
* **Public URL.** ByteChef must be reachable at a public HTTPS URL so Infobip can open the `wss://` media
stream back to the platform bridge.
* **Calls configuration.** Outbound calls require a Calls configuration ID (created in the Infobip portal
or via the Calls API); optionally scope calls to a subaccount with an application ID.
* **Webhook signature (recommended).** Set a **Webhook Signature Secret** on the Inbound Voice Call trigger
to reject unsigned or tampered inbound-call webhooks. Leave it empty to skip verification.
> Note: the Infobip Calls API endpoints, field names, webhook signature header, and call-state values used by
> these operations follow Infobip's documented conventions. Verify them against your account's Calls API
> version before relying on voice in production.
# ByteChef Reference: Insightly
URL: /reference/components/insightly_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/insightly_v1.mdx
Insightly is a customer relationship management (CRM) software that helps businesses manage contacts, sales, projects, and tasks in one platform.
Categories: CRM
Type: insightly/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :----: | :---------: | :------: |
| url | API URL | STRING | | true |
| username | API Key | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to your [dashboard](https://www.insightly.com/).
2. Click this icon.
3. Click **User Setting**.
4. Here you can see your API key and URL.
5. Done 🚀.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Creates new contact.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-----------: | :----: | :-----------------------------: | :------: |
| FIRST\_NAME | First Name | STRING | The first name of the contact. | true |
| LAST\_NAME | Last Name | STRING | The last name of the contact. | false |
| EMAIL\_ADDRESS | Email Address | STRING | Email address of the contact. | false |
| PHONE | Phone | STRING | Phone number of the contact. | false |
| TITLE | Title | STRING | The contact's title in company. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"FIRST_NAME" : "",
"LAST_NAME" : "",
"EMAIL_ADDRESS" : "",
"PHONE" : "",
"TITLE" : ""
},
"type" : "insightly/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :-----: | :-----------------------------: |
| CONTACT\_ID | INTEGER | ID of the contact. |
| FIRST\_NAME | STRING | First name of the contact. |
| LAST\_NAME | STRING | Last name of the contact. |
| EMAIL\_ADDRESS | STRING | Email address of the contact. |
| PHONE | STRING | Phone number of the contact. |
| TITLE | STRING | The contact's title in company. |
#### Output Example [#output-example]
```json
{
"CONTACT_ID" : 1,
"FIRST_NAME" : "",
"LAST_NAME" : "",
"EMAIL_ADDRESS" : "",
"PHONE" : "",
"TITLE" : ""
}
```
### Create Organization [#create-organization]
Name: createOrganization
`Creates new organization.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------------: | :---------------: | :----: | :------------------------------------------: | :------: |
| ORGANISATION\_NAME | Organization Name | STRING | The name of the organization. | true |
| PHONE | Phone | STRING | A contact phone number for the organization. | false |
| WEBSITE | Website | STRING | The organization's website. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Organization",
"name" : "createOrganization",
"parameters" : {
"ORGANISATION_NAME" : "",
"PHONE" : "",
"WEBSITE" : ""
},
"type" : "insightly/v1/createOrganization"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------------: | :-----: | :------------------------------------------: |
| ORGANISATION\_ID | INTEGER | ID of the organization. |
| ORGANISATION\_NAME | STRING | The name of the organization. |
| PHONE | STRING | A contact phone number for the organization. |
| WEBSITE | STRING | The organization's website. |
#### Output Example [#output-example-1]
```json
{
"ORGANISATION_ID" : 1,
"ORGANISATION_NAME" : "",
"PHONE" : "",
"WEBSITE" : ""
}
```
### Create Task [#create-task]
Name: createTask
`Creates new task.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----: | :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| TITLE | Title | STRING | | true |
| STATUS | Status | STRING Options Not Started , In Progress , Completed , Deferred , Waiting | Task status | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"TITLE" : "",
"STATUS" : ""
},
"type" : "insightly/v1/createTask"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------: | :-----: | :----------------: |
| TASK\_ID | INTEGER | ID of the task. |
| TITLE | STRING | Title of the task. |
| STATUS | STRING | Task status. |
#### Output Example [#output-example-2]
```json
{
"TASK_ID" : 1,
"TITLE" : "",
"STATUS" : ""
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Intercom
URL: /reference/components/intercom_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/intercom_v1.mdx
Intercom is the complete AI-first customer service solution, giving exceptional experiences for support teams with AI agent, AI copilot, tickets, ...
Categories: Customer Support
Type: intercom/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client id | STRING | | true |
| clientSecret | Client secret | STRING | | true |
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Create new contact`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-----------: | :-------------------------------------------------------------------------------------------: | :---------------------------------------------: | :------: |
| role | Contact Role | STRING Options user , lead | Role of the contact | true |
| email | Contact Email | STRING | Email of the contact | true |
| name | Contact Name | STRING | Name of the contact | false |
| phone | Contact Phone | STRING | Phone of the contact must start with a "+" sign | false |
| avatar | Contact Image | STRING | Image of the contact | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"role" : "",
"email" : "",
"name" : "",
"phone" : "",
"avatar" : ""
},
"type" : "intercom/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---: | :----: | :----------------------: |
| type | STRING | The type of the contact. |
| id | STRING | ID of the contact. |
| role | STRING | Role of the contact. |
| email | STRING | Email of the contact. |
| phone | STRING | The contacts phone. |
| name | STRING | The contacts name. |
#### Output Example [#output-example]
```json
{
"type" : "",
"id" : "",
"role" : "",
"email" : "",
"phone" : "",
"name" : ""
}
```
### Get Contact [#get-contact]
Name: getContact
`Get a single Contact`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :--------: | :----: | :---------: | :------: |
| id | Contact ID | STRING | | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Contact",
"name" : "getContact",
"parameters" : {
"id" : ""
},
"type" : "intercom/v1/getContact"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---: | :----: | :----------------------: |
| type | STRING | The type of the contact. |
| id | STRING | ID of the contact. |
| role | STRING | Role of the contact. |
| email | STRING | Email of the contact. |
| phone | STRING | The contacts phone. |
| name | STRING | The contacts name. |
#### Output Example [#output-example-1]
```json
{
"type" : "",
"id" : "",
"role" : "",
"email" : "",
"phone" : "",
"name" : ""
}
```
### Send Message [#send-message]
Name: sendMessage
`Send a new message`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :------------------------------------------------------------------------------------------------: | :---------------------------------------: | :------: |
| message\_type | Message Type | STRING Options inapp , email | In app message or email message | true |
| subject | Title | STRING | Title of the Email/Message | true |
| body | Content | STRING | Content of the message | true |
| template | Template | STRING Options plain , personal | The style of the outgoing message | true |
| to | To | STRING | ID of the contact to send the message to. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Send Message",
"name" : "sendMessage",
"parameters" : {
"message_type" : "",
"subject" : "",
"body" : "",
"template" : "",
"to" : ""
},
"type" : "intercom/v1/sendMessage"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--------------: | :----: | :---------------------------------------: |
| type | STRING | The type of the message. |
| id | STRING | ID of the message. |
| subject | STRING | The subject of the message. |
| body | STRING | The message body, which may contain HTML. |
| message\_type | STRING | The type of message that was sent. |
| conversation\_id | STRING | The associated conversation\_id. |
#### Output Example [#output-example-2]
```json
{
"type" : "",
"id" : "",
"subject" : "",
"body" : "",
"message_type" : "",
"conversation_id" : ""
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Jailbreak
URL: /reference/components/jailbreak_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/jailbreak_v1.mdx
LLM-based detection of jailbreak / prompt-injection attempts.
Categories: Artificial Intelligence
Type: jailbreak/v1
# ByteChef Reference: JDBC Chat Memory
URL: /reference/components/jdbc-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/jdbc-chat-memory_v1.mdx
JDBC Chat Memory stores conversation history in a relational database.
Categories: Artificial Intelligence
Type: jdbcChatMemory/v1
## Actions [#actions]
### Add Messages [#add-messages]
Name: addMessages
`Adds messages to the chat memory for a conversation.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :---------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content)}] | The messages to add to the conversation. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Messages",
"name" : "addMessages",
"parameters" : {
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
},
"type" : "jdbcChatMemory/v1/addMessages"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :------------: | :-----: | :---------: |
| conversationId | STRING | |
| messageCount | INTEGER | |
#### Output Example [#output-example]
```json
{
"conversationId" : "",
"messageCount" : 1
}
```
### Get Messages [#get-messages]
Name: getMessages
`Retrieves all messages from a conversation.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Messages",
"name" : "getMessages",
"parameters" : {
"conversationId" : ""
},
"type" : "jdbcChatMemory/v1/getMessages"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| messages | ARRAY Items \[\{STRING(role), STRING(content)}] | |
#### Output Example [#output-example-1]
```json
{
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
}
```
### Delete Conversation [#delete-conversation]
Name: deleteConversation
`Deletes all messages for a conversation.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :---------------------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Conversation",
"name" : "deleteConversation",
"parameters" : {
"conversationId" : ""
},
"type" : "jdbcChatMemory/v1/deleteConversation"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| deleted | BOOLEAN Options true , false | |
#### Output Example [#output-example-2]
```json
{
"conversationId" : "",
"deleted" : false
}
```
### List Conversations [#list-conversations]
Name: listConversations
`Lists all conversation IDs in the chat memory.`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Conversations",
"name" : "listConversations",
"type" : "jdbcChatMemory/v1/listConversations"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------: | :---------: |
| conversationIds | ARRAY Items \[STRING] | |
| count | INTEGER | |
#### Output Example [#output-example-3]
```json
{
"conversationIds" : [ "" ],
"count" : 1
}
```
# ByteChef Reference: JDBC Session Repository
URL: /reference/components/jdbc-session-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/jdbc-session-chat-memory_v1.mdx
JDBC storage backend for Session Chat Memory.
Categories: Artificial Intelligence
Type: jdbcSessionChatMemory/v1
# ByteChef Reference: Jenkins
URL: /reference/components/jenkins_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/jenkins_v1.mdx
Jenkins is leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project.
Categories: Developer Tools
Type: jenkins/v1
## Connections [#connections]
Version: 1
### basic\_auth [#basic_auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :---------------------------------------: | :------: |
| username | Username | STRING | Jenkins username. | true |
| password | API Token | STRING | Jenkins API token. | true |
| baseUri | Base URI | STRING | Complete base URI of your jenkins server. | true |
## Connection Setup [#connection-setup]
### Create Jenkins API Token [#create-jenkins-api-token]
1. Click on **Manage Jenkins** icon.
2. Click on **Users**.
3. Click this icon on the user you want to create the API token for.
4. Click on **Security**.
5. Click on **Add new token**.
6. Enter name of the token and then click on **Generate**.
7. Copy token, you will not be able to see the whole token again.
8. Click on **Done**.
## Actions [#actions]
### Create Job [#create-job]
Name: createJob
`Creates a new job.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :-----------------------------: | :------: |
| name | Name | STRING | Name of the job. | true |
| configXml | Config XML | STRING | Content of the config.xml file. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Job",
"name" : "createJob",
"parameters" : {
"name" : "",
"configXml" : ""
},
"type" : "jenkins/v1/createJob"
}
```
#### Output [#output]
This action does not produce any output.
## Triggers [#triggers]
### New Job Status Notification [#new-job-status-notification]
Name: newJobStatusNotification
`Triggers when job statuses are changed.`
Type: STATIC\_WEBHOOK
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------: |
| name | STRING | Name of the Jenkins job. |
| display\_name | STRING | Display name of the Jenkins job. |
| url | STRING | URL of the Jenkins job. |
| build | OBJECT Properties \{STRING(full\_url), INTEGER(number), INTEGER(queue\_id), NUMBER(timestamp), INTEGER(duration), STRING(phase), STRING(url), \{\[]\(changes), \[]\(culprits)}(scm), STRING(log), STRING(notes), \{}(artifacts)} | Jenkins job build. |
#### JSON Example [#json-example]
```json
{
"label" : "New Job Status Notification",
"name" : "newJobStatusNotification",
"type" : "jenkins/v1/newJobStatusNotification"
}
```
## Trigger Setup [#trigger-setup]
### Enable Notification Plugin [#enable-notification-plugin]
1. Click this **Setting** icon.
2. Click on **Plugins**.
3. Click on **Available plugins**.
4. Search for **notification**.
5. Find **Notification** from **Tikal Knowledge**. [Notification plugin link](https://plugins.jenkins.io/notification/)
6. Click on checkbox next to **Notification** from **Tikal Knowledge**.
7. Click on **Install**.
8. Wait for everything to finish downloading.
9. Click on **Go back to the top page**.
### Trigger URL Setup [#trigger-url-setup]
1. Select Jenkins job to which you want to connect the trigger to.
2. Click this **Configure**.
3. Click on **Add Endpoint**.
4. Paste Webhook URL. See [Deploy documentation](https://docs.bytechef.io/automation/deploy) on how to get Webhook URL.
5. Click on **Save**.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Jira
URL: /reference/components/jira_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/jira_v1.mdx
Jira is a proprietary issue tracking product developed by Atlassian that allows bug tracking and agile project management.
Categories: Project Management
Type: jira/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Follow these steps to connect Jira Cloud to ByteChef using OAuth 2.0.
1. Open the Atlassian Developer Console: [https://developer.atlassian.com/console/](https://developer.atlassian.com/console/)
2. Sign in with your Atlassian account (create one if needed).
3. Click **Create** and choose **OAuth 2.0 integration**.
4. Enter the app details (e.g., App name: "ByteChef Jira Integration") and accept Atlassian's developer terms, then click **Create**.
5. Click on **Permissions**.
6. Find Jira API and click **Add** and then click **Configure**.
7. Configure permissions (scopes):
* In the Permissions tab, add the following scopes required by ByteChef Jira component:
* manage:jira-webhook
* read:jira-work
* write:jira-work
* read:jira-user
* You can adjust scopes later if your workflows need more/less access.
8. Configure a redirect (callback) URL:
* Go to the **Authorization** tab and add the Callback URL:
* `https://app.bytechef.io/callback` (Cloud)
* `http://127.0.0.1:5173/callback` (Local dev)
9. Retrieve credentials:
* Open the **Settings** page of your app and copy the **Client ID** and **Client Secret**.
Notes:
* Jira Cloud only: This connection uses Atlassian Cloud APIs. After consent, ByteChef automatically discovers the correct Jira site base URL.
## Actions [#actions]
### Assign Issue [#assign-issue]
Name: assignIssue
`Assigns an existing issue to a specific user.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :-----------------------------------------------------------------: | :----------------------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends On project | ID of the issue that will be assigned. | true |
| accountId | Account ID | STRING | ID of the account user who will be assigned the issue. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Assign Issue",
"name" : "assignIssue",
"parameters" : {
"project" : "",
"issueId" : "",
"accountId" : ""
},
"type" : "jira/v1/assignIssue"
}
```
#### Output [#output]
This action does not produce any output.
#### Find Project ID, Issue ID and Account ID [#find-project-id-issue-id-and-account-id]
To find the Project ID, click [here](/reference/components/jira_v1#how-to-find-the-project-id).
To find the Issue ID, click [here](/reference/components/jira_v1#how-to-find-the-issue-id).
To find the Account ID, click [here](/reference/components/jira_v1#how-to-find-the-account-id).
### Create Issue [#create-issue]
Name: createIssue
`Creates a new issue.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---------: | :-------------: | :-----------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project to create the issue in. | true |
| summary | Summary | STRING | A brief summary of the issue. | true |
| issuetype | Issue Type ID | STRING Depends On project | ID of the issue type. | true |
| parent | Parent Issue ID | STRING Depends On project | ID of the parent issue. | true |
| assignee | Assignee ID | STRING | ID of the user who will be assigned to the issue. | false |
| priority | Priority ID | STRING | ID of the priority of the issue. | false |
| description | Description | STRING | Description of the issue. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Issue",
"name" : "createIssue",
"parameters" : {
"project" : "",
"summary" : "",
"issuetype" : "",
"parent" : "",
"assignee" : "",
"priority" : "",
"description" : ""
},
"type" : "jira/v1/createIssue"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :--: | :----: | :--------------------------------------: |
| id | STRING | The ID of the created issue or subtask. |
| key | STRING | The key of the created issue or subtask. |
| self | STRING | The URL of the created issue or subtask. |
#### Output Example [#output-example]
```json
{
"id" : "",
"key" : "",
"self" : ""
}
```
#### Find Project ID, Issue Type ID, Parent Issue ID, Assignee ID and Priority ID [#find-project-id-issue-type-id-parent-issue-id-assignee-id-and-priority-id]
To find the Project ID, click [here](/reference/components/jira_v1#how-to-find-the-project-id).
To find the Issue Type ID, click [here](/reference/components/jira_v1#how-to-find-the-issue-type-id).
To find the Parent Issue ID, click [here](/reference/components/jira_v1#how-to-find-the-parent-issue-id).
To find the Assignee ID, click [here](/reference/components/jira_v1#how-to-find-the-assignee-id).
To find the Priority ID, click [here](/reference/components/jira_v1#how-to-find-the-priority-id).
### Create Issue Comment [#create-issue-comment]
Name: createIssueComment
`Adds a comment to an issue.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-----: | :--------: | :-----------------------------------------------------------------: | :----------------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends On project | ID of the issue where the comment will be added. | true |
| comment | Comment | STRING | The text of the comment. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Issue Comment",
"name" : "createIssueComment",
"parameters" : {
"project" : "",
"issueId" : "",
"comment" : ""
},
"type" : "jira/v1/createIssueComment"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :--------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: |
| id | STRING | The ID of the comment. |
| self | STRING | The URL of the comment. |
| author | OBJECT Properties \{STRING(accountId), STRING(accountType), BOOLEAN(active), \{STRING(16x16), STRING(24x24), STRING(32x32), STRING(48x48)}(avatarUrls)} | |
| displayName | STRING | The display name of the user. |
| emailAddress | STRING | The email address of the user. |
| self | STRING | The URL of the user. |
| timeZone | STRING | The time zone specified in the user's profile. |
| body | OBJECT Properties \{} | The comment text in Atlassian Document Format. |
| created | STRING | The date and time at which the comment was created. |
| jsdAuthorCanSeeRequest | BOOLEAN Options true , false | Whether the comment was added from an email sent by a person who is not part of the issue. |
| jsdPublic | BOOLEAN Options true , false | Whether the comment is visible in Jira Service Desk. |
| properties | ARRAY Items \[\{STRING(key), \{}(value)}] | |
| renderedBody | STRING | The rendered version of the comment. |
| updateAuthor | OBJECT Properties \{STRING(accountId), STRING(accountType), BOOLEAN(active), \{STRING(16x16), STRING(24x24), STRING(32x32), STRING(48x48), STRING(displayName), STRING(emailAddress), STRING(self), STRING(timeZone)}(avatarUrls)} | |
| updated | STRING | The date and time at which the comment was updated last. |
| visibility | OBJECT Properties \{STRING(identifier), STRING(type), STRING(value)} | |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"self" : "",
"author" : {
"accountId" : "",
"accountType" : "",
"active" : false,
"avatarUrls" : {
"16x16" : "",
"24x24" : "",
"32x32" : "",
"48x48" : ""
}
},
"displayName" : "",
"emailAddress" : "",
"timeZone" : "",
"body" : { },
"created" : "",
"jsdAuthorCanSeeRequest" : false,
"jsdPublic" : false,
"properties" : [ {
"key" : "",
"value" : { }
} ],
"renderedBody" : "",
"updateAuthor" : {
"accountId" : "",
"accountType" : "",
"active" : false,
"avatarUrls" : {
"16x16" : "",
"24x24" : "",
"32x32" : "",
"48x48" : "",
"displayName" : "",
"emailAddress" : "",
"self" : "",
"timeZone" : ""
}
},
"updated" : "",
"visibility" : {
"identifier" : "",
"type" : "",
"value" : ""
}
}
```
#### Find Project ID and Issue ID [#find-project-id-and-issue-id]
To find the Project ID, click [here](/reference/components/jira_v1#how-to-find-the-project-id).
To find the Issue ID, click [here](/reference/components/jira_v1#how-to-find-the-issue-id).
### Edit Issue [#edit-issue]
Name: editIssue
`Edits an issue.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-----------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends On project | ID of the issue. | true |
| summary | Summary | STRING | The summary that will be edited. | false |
| description | Description | STRING | The description that will be edited. | false |
| addLabels | Add Labels | ARRAY Items \[STRING] | List of labels that will be added to the issue. | false |
| removeLabels | Remove Labels | ARRAY Items \[STRING] | List of labels that will be removed from the issue. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Edit Issue",
"name" : "editIssue",
"parameters" : {
"project" : "",
"issueId" : "",
"summary" : "",
"description" : "",
"addLabels" : [ "" ],
"removeLabels" : [ "" ]
},
"type" : "jira/v1/editIssue"
}
```
#### Output [#output-3]
This action does not produce any output.
#### Find Project ID and Issue ID [#find-project-id-and-issue-id-1]
To find the Project ID, click [here](/reference/components/jira_v1#how-to-find-the-project-id).
To find the Issue ID, click [here](/reference/components/jira_v1#how-to-find-the-issue-id).
### Get Issue [#get-issue]
Name: getIssue
`Get issue details in selected project.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-----: | :--------: | :-----------------------------------------------------------------: | :-------------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends On project | | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Get Issue",
"name" : "getIssue",
"parameters" : {
"project" : "",
"issueId" : ""
},
"type" : "jira/v1/getIssue"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------: |
| id | STRING | The ID of the issue. |
| key | STRING | The key of the issue. |
| self | STRING | The URL of the issue details. |
| fields | OBJECT Properties \{\{STRING(id), STRING(name)}(issuetype), \{STRING(id), STRING(name)}(project), \{STRING(id), STRING(name)}(priority), \{STRING(accountId), STRING(displayName)}(assignee), STRING(summary)} | |
#### Output Example [#output-example-2]
```json
{
"id" : "",
"key" : "",
"self" : "",
"fields" : {
"issuetype" : {
"id" : "",
"name" : ""
},
"project" : {
"id" : "",
"name" : ""
},
"priority" : {
"id" : "",
"name" : ""
},
"assignee" : {
"accountId" : "",
"displayName" : ""
},
"summary" : ""
}
}
```
#### Find Project ID and Issue ID [#find-project-id-and-issue-id-2]
To find the Project ID, click [here](/reference/components/jira_v1#how-to-find-the-project-id).
To find the Issue ID, click [here](/reference/components/jira_v1#how-to-find-the-issue-id).
### List Issue Comments [#list-issue-comments]
Name: listIssueComments
`Return all comments for an issue.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends On project | ID of the issue. | true |
| orderBy | Order By | STRING Options +created , -created | Order the results by a field. | false |
| maxResults | Max Results | INTEGER | The maximum number of items to return per page. | false |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "List Issue Comments",
"name" : "listIssueComments",
"parameters" : {
"project" : "",
"issueId" : "",
"orderBy" : "",
"maxResults" : 1
},
"type" : "jira/v1/listIssueComments"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :--------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: |
| maxResults | INTEGER | The maximum number of items that could be returned. |
| startAt | INTEGER | The index of the first item returned. |
| total | INTEGER | The number of items returned. |
| comments | ARRAY Items \[\{STRING(id), STRING(self), \{STRING(type), INTEGER(version), \[\{STRING(text)}]\(content)}(body), \{STRING(accountId), STRING(accountType), BOOLEAN(active), STRING(emailAddress), STRING(displayName), STRING(self), STRING(timezone)}(author), STRING(created), STRING(updated)}] | List of comments on the issue |
#### Output Example [#output-example-3]
```json
{
"maxResults" : 1,
"startAt" : 1,
"total" : 1,
"comments" : [ {
"id" : "",
"self" : "",
"body" : {
"type" : "",
"version" : 1,
"content" : [ {
"text" : ""
} ]
},
"author" : {
"accountId" : "",
"accountType" : "",
"active" : false,
"emailAddress" : "",
"displayName" : "",
"self" : "",
"timezone" : ""
},
"created" : "",
"updated" : ""
} ]
}
```
#### Find Project ID and Issue ID [#find-project-id-and-issue-id-3]
To find the Project ID, click [here](/reference/components/jira_v1#how-to-find-the-project-id).
To find the Issue ID, click [here](/reference/components/jira_v1#how-to-find-the-issue-id).
### Search Issues [#search-issues]
Name: searchForIssuesUsingJql
`Search for issues using JQL.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-----------------------------------------------------------------------------------------: | :------: |
| jql | JQL | STRING | The JQL that defines the search. If no JQL expression is provided, all issues are returned. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Search Issues",
"name" : "searchForIssuesUsingJql",
"parameters" : {
"jql" : ""
},
"type" : "jira/v1/searchForIssuesUsingJql"
}
```
#### Output [#output-6]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :--: | :----: | :------------------: |
| id | STRING | The ID of the issue. |
#### Output Example [#output-example-4]
```json
[ {
"id" : ""
} ]
```
### Transition Issue [#transition-issue]
Name: transitionIssue
`Move an issue to another status.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :------: | :--------: | :-----------------------------------------------------------------: | :--------------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project where the issue is located. | false |
| issueId | Issue ID | STRING Depends On project | ID of the issue to be assigned. | true |
| statusId | Status ID | STRING Depends On issueId | ID of the status you want to put the issue in. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Transition Issue",
"name" : "transitionIssue",
"parameters" : {
"project" : "",
"issueId" : "",
"statusId" : ""
},
"type" : "jira/v1/transitionIssue"
}
```
#### Output [#output-7]
This action does not produce any output.
#### Find Project ID, Issue ID and Status ID [#find-project-id-issue-id-and-status-id]
To find the Project ID, click [here](/reference/components/jira_v1#how-to-find-the-project-id).
To find the Issue ID, click [here](/reference/components/jira_v1#how-to-find-the-issue-id).
To find the Status ID, click [here](/reference/components/jira_v1#how-to-find-the-status-id).
## Triggers [#triggers]
### New Issue [#new-issue]
Name: newIssue
`Triggers when a new issue is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-14]
| Name | Label | Type | Description | Required |
| :-------: | :-----------: | :-----------------------------------------------------------------: | :-------------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project where new issue is created. | true |
| issuetype | Issue Type ID | STRING Depends On project | ID of the issue type. | false |
#### Output [#output-8]
Type: OBJECT
#### Properties [#properties-15]
| Name | Type | Description |
| :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------: |
| id | STRING | The ID of the issue. |
| key | STRING | The key of the issue. |
| self | STRING | The URL of the issue details. |
| fields | OBJECT Properties \{\{STRING(id), STRING(name)}(issuetype), \{STRING(id), STRING(name)}(project), \{STRING(id), STRING(name)}(priority), \{STRING(accountId), STRING(displayName)}(assignee), STRING(summary)} | |
#### JSON Example [#json-example]
```json
{
"label" : "New Issue",
"name" : "newIssue",
"parameters" : {
"project" : "",
"issuetype" : ""
},
"type" : "jira/v1/newIssue"
}
```
#### Find Project ID and Issue Type ID [#find-project-id-and-issue-type-id]
To find the Project ID, click [here](/reference/components/jira_v1#how-to-find-the-project-id).
To find the Issue Type ID, click [here](/reference/components/jira_v1#how-to-find-the-issue-type-id).
### Updated Issue [#updated-issue]
Name: updatedIssue
`Triggers when an issue is updated.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-16]
| Name | Label | Type | Description | Required |
| :-------: | :-----------: | :-----------------------------------------------------------------: | :----------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project where issues is updated. | true |
| issuetype | Issue Type ID | STRING Depends On project | ID of the issue type. | false |
#### Output [#output-9]
Type: OBJECT
#### Properties [#properties-17]
| Name | Type | Description |
| :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------: |
| id | STRING | The ID of the issue. |
| key | STRING | The key of the issue. |
| self | STRING | The URL of the issue details. |
| fields | OBJECT Properties \{\{STRING(id), STRING(name)}(issuetype), \{STRING(id), STRING(name)}(project), \{STRING(id), STRING(name)}(priority), \{STRING(accountId), STRING(displayName)}(assignee), STRING(summary)} | |
#### JSON Example [#json-example-1]
```json
{
"label" : "Updated Issue",
"name" : "updatedIssue",
"parameters" : {
"project" : "",
"issuetype" : ""
},
"type" : "jira/v1/updatedIssue"
}
```
#### Find Project ID and Issue Type ID [#find-project-id-and-issue-type-id-1]
To find the Project ID, click [here](/reference/components/jira_v1#how-to-find-the-project-id).
To find the Issue Type ID, click [here](/reference/components/jira_v1#how-to-find-the-issue-type-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Project ID [#how-to-find-the-project-id]
The Project ID is a unique numeric value that can be found via the API.
* **Method 1: Via API**
Use the `GET /projects/search` endpoint to retrieve a list of all projects and their numeric IDs.
### How to find the Issue ID [#how-to-find-the-issue-id]
The Issue ID is a unique numeric value that can be found via the API.
* **Method 1: Via API**
Use the `GET /search/jql` endpoint to retrieve a list of all issues and their numeric IDs.
### How to find the Account ID [#how-to-find-the-account-id]
The Account ID is a unique numeric value that can be found via the API.
* **Method 1: Via API**
Use the `GET /users/search` endpoint to retrieve a list of all users and their numeric IDs.
### How to find the Parent Issue ID [#how-to-find-the-parent-issue-id]
The Parent Issue ID is a unique numeric value that can be found via the API.
* **Method 1: Via API**
Use the `GET /search/jql` endpoint to retrieve a list of all issues and their numeric IDs.
### How to find the Assignee ID [#how-to-find-the-assignee-id]
The Assignee ID is a unique numeric value that can be found via the API.
* **Method 1: Via API**
Use the `GET /users/search` endpoint to retrieve a list of all users and their numeric IDs.
### How to find the Priority ID [#how-to-find-the-priority-id]
The Priority ID is a unique numeric value that can be found via the API.
* **Method 1: Via API**
Use the `GET /priority` endpoint to retrieve a list of all priorities and their numeric IDs.
### How to find the Issue Type ID [#how-to-find-the-issue-type-id]
The Issue Type ID is a unique numeric value that can be found via the API.
* **Method 1: Via API**
Use the `GET /issuetype/project` endpoint to retrieve a list of all issue types and their numeric IDs.
### How to find the Status ID [#how-to-find-the-status-id]
The Status ID is a unique numeric value that can be found via the API.
* **Method 1: Via API**
Use the `GET /issue/ISSUE_ID/transitions` endpoint to retrieve a list of all status and their numeric IDs.
# ByteChef Reference: JotForm
URL: /reference/components/jotform_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/jotform_v1.mdx
JotForm is an online form builder that enables users to create customized forms for various purposes without needing coding skills.
Categories: Surveys and Feedback
Type: jotform/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :-----------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| region | Region | STRING Options us , eu , hipaa | | true |
| key | Key | STRING | | true |
| value | API Key | STRING | | true |
## Connection Setup [#connection-setup]
To connect ByteChef with Jotform, you need a Jotform API key.
1. Log into your [Jotform account](https://www.jotform.com/myaccount/api).
2. Navigate to the **API** Section.
3. Click **Create New Key**.
4. In the **Permissions** dropdown, select **Full Access**.
5. Give your key a name, like `Bytechef Integration`.
6. Copy the generated API Key.
## Actions [#actions]
### Get Form Submissions [#get-form-submissions]
Name: getFormSubmissions
`Get all submissions for a specific form.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :-----------------------------------------: | :------: |
| formId | Form ID | STRING | ID of the form to retrieve submissions for. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Form Submissions",
"name" : "getFormSubmissions",
"parameters" : {
"formId" : ""
},
"type" : "jotform/v1/getFormSubmissions"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :----------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| content | ARRAY Items \[\{STRING(id), STRING(form\_id), STRING(status), STRING(new), STRING(notes)}] | |
#### Output Example [#output-example]
```json
{
"content" : [ {
"id" : "",
"form_id" : "",
"status" : "",
"new" : "",
"notes" : ""
} ]
}
```
## Triggers [#triggers]
### New Submission [#new-submission]
Name: newSubmission
`Triggers when someone submits a response to a form.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :----------------------------------------------: | :------: |
| formId | Form ID | STRING | The ID of the form to watch for new submissions. | true |
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Submission",
"name" : "newSubmission",
"parameters" : {
"formId" : ""
},
"type" : "jotform/v1/newSubmission"
}
```
#### How to find Form ID [#how-to-find-form-id]
1. Log into your Jotform Account.
2. Hover over the form in your dashboard and click **Edit Form**.
3. Look at the URL in your browser's address bar. The URL will look similar to: `https://www.jotform.com/build/1111111111111`.
4. The long number in the URL (between `/build/` and anything that follows) is your **Form ID**. In the example, the Form ID is `1111111111111`.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: JSON File
URL: /reference/components/json-file_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/json-file_v1.mdx
Reads and writes data from a JSON file.
Categories: Helpers
Type: jsonFile/v1
## Actions [#actions]
### Read from File [#read-from-file]
Name: read
`Reads data from a JSON file.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: | :------: |
| fileType | File Type | STRING Options JSON , JSONL | The file type to choose. | true |
| fileEntry | File Entry | FILE\_ENTRY | The object property which contains a reference to the JSON file to read from. | true |
| isArray | Is Array | BOOLEAN Options true , false | The object input is array? | false |
| path | Path | STRING | The path where the array is e.g 'data'. Leave blank to use the top level object. | false |
| pageSize | Page Size | INTEGER | The amount of child elements to return in a page. | false |
| pageNumber | Page Number | INTEGER | The page number to get. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Read from File",
"name" : "read",
"parameters" : {
"fileType" : "",
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"isArray" : false,
"path" : "",
"pageSize" : 1,
"pageNumber" : 1
},
"type" : "jsonFile/v1/read"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Write to File [#write-to-file]
Name: write
`Writes the data to a JSON file.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: | :------: |
| fileType | File Type | STRING Options JSON , JSONL | The file type to choose. | true |
| type | Type | STRING Options OBJECT , ARRAY | The value type. | false |
| source | Source | OBJECT Properties \{} | The object to write to the file. | true |
| source | Source | ARRAY Items \[] | The array to write to the file. | true |
| filename | Filename | STRING | Filename to set for binary data. By default, "file.json" will be used. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Write to File",
"name" : "write",
"parameters" : {
"fileType" : "",
"type" : "",
"source" : [ ],
"filename" : ""
},
"type" : "jsonFile/v1/write"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
# ByteChef Reference: JSON Helper
URL: /reference/components/json-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/json-helper_v1.mdx
JSON helper component provides actions for parsing and stringifying JSON.
Categories: Helpers
Type: jsonHelper/v1
## Actions [#actions]
### Convert from JSON String [#convert-from-json-string]
Name: parse
`Converts the JSON string to object/array.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----: | :-------------------------------------: | :------: |
| source | Source | STRING | The JSON string to convert to the data. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Convert from JSON String",
"name" : "parse",
"parameters" : {
"source" : ""
},
"type" : "jsonHelper/v1/parse"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Convert to JSON String [#convert-to-json-string]
Name: stringify
`Writes the object/array to a JSON string.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----------------------------------------------------------------------------------------------: | :---------------------------------: | :------: |
| type | Type | STRING Options OBJECT , ARRAY | The value type. | false |
| source | Source | OBJECT Properties \{} | The data to convert to JSON string. | true |
| source | Source | ARRAY Items \[] | The data to convert to JSON string. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Convert to JSON String",
"name" : "stringify",
"parameters" : {
"type" : "",
"source" : [ ]
},
"type" : "jsonHelper/v1/stringify"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: JWT Helper
URL: /reference/components/jwt-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/jwt-helper_v1.mdx
JWT helper component provides actions for signing and verifying JWT tokens.
Categories: Helpers
Type: jwtHelper/v1
## Actions [#actions]
### Sign [#sign]
Name: sign
`Creates JWT token.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :--------------------------------------------------------------------------------------------: | :-----------------------: | :------: |
| payload | Payload | ARRAY Items \[\{STRING(key), STRING(value)}(\$item)] | Payload of the JWT token. | true |
| secret | Secret | STRING | Secret of the JWT token. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Sign",
"name" : "sign",
"parameters" : {
"payload" : [ {
"key" : "",
"value" : ""
} ],
"secret" : ""
},
"type" : "jwtHelper/v1/sign"
}
```
#### Output [#output]
Type: STRING
### Verify [#verify]
Name: verify
`Verify JWT token.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :---------------------------: | :------: |
| jwtToken | JWT Token | STRING | JWT token you want to verify. | true |
| secret | Secret | STRING | Secret of the JWT token. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Verify",
"name" : "verify",
"parameters" : {
"jwtToken" : "",
"secret" : ""
},
"type" : "jwtHelper/v1/verify"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Keap
URL: /reference/components/keap_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/keap_v1.mdx
Keap is a customer comprehensive customer relationship management platform designed to help small businesses streamline sales, marketing, and customer management processes in one integrated system.
Categories: CRM
Type: keap/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Actions [#actions]
### Create Company [#create-company]
Name: createCompany
`Creates a new company.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| address | CompanyAddress | OBJECT Properties \{\{STRING(country\_code), STRING(line1), STRING(line2), STRING(locality), STRING(region), STRING(zip\_code), STRING(zip\_four)}(address), STRING(company\_name), \[\{\{}(content), INTEGER(id)}]\(custom\_fields), STRING(email\_address), \{STRING(number), STRING(type)}(fax\_number), STRING(notes), STRING(opt\_in\_reason), \{STRING(extension), STRING(number), STRING(type)}(phone\_number), STRING(website)} | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Company",
"name" : "createCompany",
"parameters" : {
"address" : {
"address" : {
"country_code" : "",
"line1" : "",
"line2" : "",
"locality" : "",
"region" : "",
"zip_code" : "",
"zip_four" : ""
},
"company_name" : "",
"custom_fields" : [ {
"content" : { },
"id" : 1
} ],
"email_address" : "",
"fax_number" : {
"number" : "",
"type" : ""
},
"notes" : "",
"opt_in_reason" : "",
"phone_number" : {
"extension" : "",
"number" : "",
"type" : ""
},
"website" : ""
}
},
"type" : "keap/v1/createCompany"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| address | OBJECT Properties \{STRING(country\_code), STRING(line1), STRING(line2), STRING(locality), STRING(region), STRING(zip\_code), STRING(zip\_four)} | |
| company\_name | STRING | |
| custom\_fields | ARRAY Items \[\{\{}(content), INTEGER(id)}] | |
| email\_address | STRING | |
| email\_opted\_in | BOOLEAN Options true , false | |
| email\_status | STRING Options UnengagedMarketable , SingleOptIn , DoubleOptin , Confirmed , UnengagedNonMarketable , NonMarketable , Lockdown , Bounce , HardBounce , Manual , Admin , System , ListUnsubscribe , Feedback , Spam , Invalid , Deactivated | |
| fax\_number | OBJECT Properties \{STRING(number), STRING(type)} | |
| id | INTEGER | |
| notes | STRING | |
| phone\_number | OBJECT Properties \{STRING(extension), STRING(number), STRING(type)} | |
| website | STRING | |
#### Output Example [#output-example]
```json
{
"address" : {
"country_code" : "",
"line1" : "",
"line2" : "",
"locality" : "",
"region" : "",
"zip_code" : "",
"zip_four" : ""
},
"company_name" : "",
"custom_fields" : [ {
"content" : { },
"id" : 1
} ],
"email_address" : "",
"email_opted_in" : false,
"email_status" : "",
"fax_number" : {
"number" : "",
"type" : ""
},
"id" : 1,
"notes" : "",
"phone_number" : {
"extension" : "",
"number" : "",
"type" : ""
},
"website" : ""
}
```
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------------: | :---------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| addresses | Addresses | ARRAY Items \[\{STRING(country\_code), STRING(field), STRING(line1), STRING(line2), STRING(locality), STRING(postal\_code), STRING(region), STRING(zip\_code), STRING(zip\_four)}] | | false |
| anniversary | Anniversary | DATE\_TIME | | false |
| birthday | Birthday | DATE\_TIME | | false |
| company | RequestCompanyReference | OBJECT Properties \{INTEGER(id)} | | false |
| contact\_type | Contact Type | STRING | | false |
| custom\_fields | Custom Fields | ARRAY Items \[\{\{}(content), INTEGER(id)}] | | false |
| email\_addresses | Email Addresses | ARRAY Items \[\{STRING(email), STRING(field)}] | | false |
| family\_name | Family Name | STRING | | false |
| fax\_numbers | Fax Numbers | ARRAY Items \[\{STRING(field), STRING(number), STRING(type)}] | | false |
| given\_name | Given Name | STRING | | false |
| job\_title | Job Title | STRING | | false |
| lead\_source\_id | Lead Source Id | INTEGER | | false |
| middle\_name | Middle Name | STRING | | false |
| opt\_in\_reason | Opt In Reason | STRING | | false |
| origin | CreateContactOrigin | OBJECT Properties \{STRING(ip\_address)} | | false |
| owner\_id | Owner Id | INTEGER | | false |
| phone\_numbers | Phone Numbers | ARRAY Items \[\{STRING(extension), STRING(field), STRING(number), STRING(type)}] | | false |
| preferred\_locale | Preferred Locale | STRING | | false |
| preferred\_name | Preferred Name | STRING | | false |
| prefix | Prefix | STRING | | false |
| social\_accounts | Social Accounts | ARRAY Items \[\{STRING(name), STRING(type)}] | | false |
| source\_type | Source Type | STRING Options APPOINTMENT , FORMAPIHOSTED , FORMAPIINTERNAL , WEBFORM , INTERNALFORM , LANDINGPAGE , IMPORT , MANUAL , API , OTHER , UNKNOWN | | false |
| spouse\_name | Spouse Name | STRING | | false |
| suffix | Suffix | STRING | | false |
| time\_zone | Time Zone | STRING | | false |
| website | Website | STRING | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"addresses" : [ {
"country_code" : "",
"field" : "",
"line1" : "",
"line2" : "",
"locality" : "",
"postal_code" : "",
"region" : "",
"zip_code" : "",
"zip_four" : ""
} ],
"anniversary" : "2021-01-01T00:00:00",
"birthday" : "2021-01-01T00:00:00",
"company" : {
"id" : 1
},
"contact_type" : "",
"custom_fields" : [ {
"content" : { },
"id" : 1
} ],
"email_addresses" : [ {
"email" : "",
"field" : ""
} ],
"family_name" : "",
"fax_numbers" : [ {
"field" : "",
"number" : "",
"type" : ""
} ],
"given_name" : "",
"job_title" : "",
"lead_source_id" : 1,
"middle_name" : "",
"opt_in_reason" : "",
"origin" : {
"ip_address" : ""
},
"owner_id" : 1,
"phone_numbers" : [ {
"extension" : "",
"field" : "",
"number" : "",
"type" : ""
} ],
"preferred_locale" : "",
"preferred_name" : "",
"prefix" : "",
"social_accounts" : [ {
"name" : "",
"type" : ""
} ],
"source_type" : "",
"spouse_name" : "",
"suffix" : "",
"time_zone" : "",
"website" : ""
},
"type" : "keap/v1/createContact"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| ScoreValue | STRING | |
| addresses | ARRAY Items \[\{STRING(country\_code), STRING(field), STRING(line1), STRING(line2), STRING(locality), STRING(postal\_code), STRING(region), STRING(zip\_code), STRING(zip\_four)}] | |
| anniversary | DATE\_TIME | |
| birthday | DATE\_TIME | |
| company | OBJECT Properties \{STRING(company\_name), INTEGER(id)} | |
| company\_name | STRING | |
| contact\_type | STRING | |
| custom\_fields | ARRAY Items \[\{\{}(content), INTEGER(id)}] | |
| date\_created | DATE\_TIME | |
| email\_addresses | ARRAY Items \[\{STRING(email), STRING(field)}] | |
| email\_opted\_in | BOOLEAN Options true , false | |
| email\_status | STRING Options UnengagedMarketable , SingleOptIn , DoubleOptin , Confirmed , UnengagedNonMarketable , NonMarketable , Lockdown , Bounce , HardBounce , Manual , Admin , System , ListUnsubscribe , Feedback , Spam , Invalid , Deactivated | |
| family\_name | STRING | |
| fax\_numbers | ARRAY Items \[\{STRING(field), STRING(number), STRING(type)}] | |
| given\_name | STRING | |
| id | INTEGER | |
| job\_title | STRING | |
| last\_updated | DATE\_TIME | |
| lead\_source\_id | INTEGER | |
| middle\_name | STRING | |
| opt\_in\_reason | STRING | |
| origin | OBJECT Properties \{DATE\_TIME(date), STRING(ip\_address)} | |
| owner\_id | INTEGER | |
| phone\_numbers | ARRAY Items \[\{STRING(extension), STRING(field), STRING(number), STRING(type)}] | |
| preferred\_locale | STRING | |
| preferred\_name | STRING | |
| prefix | STRING | |
| relationships | ARRAY Items \[\{INTEGER(id), INTEGER(linked\_contact\_id), INTEGER(relationship\_type\_id)}] | |
| social\_accounts | ARRAY Items \[\{STRING(name), STRING(type)}] | |
| source\_type | STRING Options APPOINTMENT , FORMAPIHOSTED , FORMAPIINTERNAL , WEBFORM , INTERNALFORM , LANDINGPAGE , IMPORT , MANUAL , API , OTHER , UNKNOWN | |
| spouse\_name | STRING | |
| suffix | STRING | |
| tag\_ids | ARRAY Items \[INTEGER] | |
| time\_zone | STRING | |
| website | STRING | |
#### Output Example [#output-example-1]
```json
{
"ScoreValue" : "",
"addresses" : [ {
"country_code" : "",
"field" : "",
"line1" : "",
"line2" : "",
"locality" : "",
"postal_code" : "",
"region" : "",
"zip_code" : "",
"zip_four" : ""
} ],
"anniversary" : "2021-01-01T00:00:00",
"birthday" : "2021-01-01T00:00:00",
"company" : {
"company_name" : "",
"id" : 1
},
"company_name" : "",
"contact_type" : "",
"custom_fields" : [ {
"content" : { },
"id" : 1
} ],
"date_created" : "2021-01-01T00:00:00",
"email_addresses" : [ {
"email" : "",
"field" : ""
} ],
"email_opted_in" : false,
"email_status" : "",
"family_name" : "",
"fax_numbers" : [ {
"field" : "",
"number" : "",
"type" : ""
} ],
"given_name" : "",
"id" : 1,
"job_title" : "",
"last_updated" : "2021-01-01T00:00:00",
"lead_source_id" : 1,
"middle_name" : "",
"opt_in_reason" : "",
"origin" : {
"date" : "2021-01-01T00:00:00",
"ip_address" : ""
},
"owner_id" : 1,
"phone_numbers" : [ {
"extension" : "",
"field" : "",
"number" : "",
"type" : ""
} ],
"preferred_locale" : "",
"preferred_name" : "",
"prefix" : "",
"relationships" : [ {
"id" : 1,
"linked_contact_id" : 1,
"relationship_type_id" : 1
} ],
"social_accounts" : [ {
"name" : "",
"type" : ""
} ],
"source_type" : "",
"spouse_name" : "",
"suffix" : "",
"tag_ids" : [ 1 ],
"time_zone" : "",
"website" : ""
}
```
### Create Task [#create-task]
Name: createTask
`Creates a new task.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------------: | :---------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| completed | Completed | BOOLEAN Options true , false | | false |
| completion\_date | Completion Date | DATE\_TIME | | false |
| contact | BasicContact | OBJECT Properties \{STRING(email), STRING(first\_name), INTEGER(id), STRING(last\_name)} | | false |
| creation\_date | Creation Date | DATE\_TIME | | false |
| description | Description | STRING | | false |
| due\_date | Due Date | DATE\_TIME | | false |
| funnel\_id | Funnel Id | INTEGER | | false |
| jgraph\_id | Jgraph Id | INTEGER | | false |
| modification\_date | Modification Date | DATE\_TIME | | false |
| priority | Priority | INTEGER | | false |
| remind\_time | Remind Time | INTEGER | Value in minutes before start\_date to show pop-up reminder. Acceptable values are in \[`5`,`10`,`15`,`30`,`60`,`120`,`240`,`480`,`1440`,`2880`] | false |
| title | Title | STRING | | false |
| type | Type | STRING | | false |
| url | Url | STRING | | false |
| user\_id | User Id | INTEGER | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"completed" : false,
"completion_date" : "2021-01-01T00:00:00",
"contact" : {
"email" : "",
"first_name" : "",
"id" : 1,
"last_name" : ""
},
"creation_date" : "2021-01-01T00:00:00",
"description" : "",
"due_date" : "2021-01-01T00:00:00",
"funnel_id" : 1,
"jgraph_id" : 1,
"modification_date" : "2021-01-01T00:00:00",
"priority" : 1,
"remind_time" : 1,
"title" : "",
"type" : "",
"url" : "",
"user_id" : 1
},
"type" : "keap/v1/createTask"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :----------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------: |
| completed | BOOLEAN Options true , false | |
| completion\_date | DATE\_TIME | |
| contact | OBJECT Properties \{STRING(email), STRING(first\_name), INTEGER(id), STRING(last\_name)} | |
| creation\_date | DATE\_TIME | |
| description | STRING | |
| due\_date | DATE\_TIME | |
| funnel\_id | INTEGER | |
| jgraph\_id | INTEGER | |
| modification\_date | DATE\_TIME | |
| priority | INTEGER | |
| remind\_time | INTEGER | Value in minutes before start\_date to show pop-up reminder. Acceptable values are in \[`5`,`10`,`15`,`30`,`60`,`120`,`240`,`480`,`1440`,`2880`] |
| title | STRING | |
| type | STRING | |
| url | STRING | |
| user\_id | INTEGER | |
#### Output Example [#output-example-2]
```json
{
"completed" : false,
"completion_date" : "2021-01-01T00:00:00",
"contact" : {
"email" : "",
"first_name" : "",
"id" : 1,
"last_name" : ""
},
"creation_date" : "2021-01-01T00:00:00",
"description" : "",
"due_date" : "2021-01-01T00:00:00",
"funnel_id" : 1,
"jgraph_id" : 1,
"modification_date" : "2021-01-01T00:00:00",
"priority" : 1,
"remind_time" : 1,
"title" : "",
"type" : "",
"url" : "",
"user_id" : 1
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Keywords
URL: /reference/components/keywords_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/keywords_v1.mdx
Flags or masks the input if any listed keyword appears in it.
Categories: Artificial Intelligence
Type: keywords/v1
# ByteChef Reference: Klaviyo
URL: /reference/components/klaviyo_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/klaviyo_v1.mdx
Klaviyo is a marketing automation platform primarily used for email and SMS marketing, especially by e-commerce businesses.
Categories: Marketing Automation
Type: klaviyo/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to the dashboard at [https://www.klaviyo.com/login?next=/account](https://www.klaviyo.com/login?next=/account).
2. Click on your account.
3. Click on Settings.
4. Click on API keys.
5. Under the Private API Keys section, select Create Private API Key.
6. Name your API key and select Full Access Key.
7. Click Create.
8. Copy the API key. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Get Lists [#get-lists]
Name: getLists
`Get all lists in an account.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :-------------------------------------------------------------: | :-----------------------------------------------------: | :------: |
| listFields | List Fields | ARRAY Items \[STRING] | List of fields to include for each related list object. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Lists",
"name" : "getLists",
"parameters" : {
"listFields" : [ "" ]
},
"type" : "klaviyo/v1/getLists"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | ARRAY Items \[\{STRING(type), STRING(id), \{STRING(name), STRING(created), STRING(updated), STRING(opt\_in\_process)}(attributes), \{STRING(self)}(links), \{\{\{STRING(self), STRING(related)}(links)}(profiles), \{\[\{STRING(type), STRING(id)}]\(data), \{STRING(self), STRING(related)}(links)}(tags), \{\[\{STRING(type), STRING(id)}]\(data), \{STRING(self), STRING(related)}(links)}(flow-triggers)}(relationships)}] | |
| links | OBJECT Properties \{STRING(self), STRING(first), STRING(last), STRING(prev), STRING(next)} | |
#### Output Example [#output-example]
```json
{
"data" : [ {
"type" : "",
"id" : "",
"attributes" : {
"name" : "",
"created" : "",
"updated" : "",
"opt_in_process" : ""
},
"links" : {
"self" : ""
},
"relationships" : {
"profiles" : {
"links" : {
"self" : "",
"related" : ""
}
},
"tags" : {
"data" : [ {
"type" : "",
"id" : ""
} ],
"links" : {
"self" : "",
"related" : ""
}
},
"flow-triggers" : {
"data" : [ {
"type" : "",
"id" : ""
} ],
"links" : {
"self" : "",
"related" : ""
}
}
}
} ],
"links" : {
"self" : "",
"first" : "",
"last" : "",
"prev" : "",
"next" : ""
}
}
```
### Subscribe Profiles [#subscribe-profiles]
Name: subscribeProfiles
`Subscribe one or more profiles to email marketing, SMS marketing or both.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :----------: | :-------------------------------------------------------------: | :----------------------------------------------------------------------: | :------: |
| profileId | Profile ID | ARRAY Items \[STRING] | The IDs of the profile to subscribe. | true |
| subscription | Subscription | ARRAY Items \[STRING] | The subscription parameters to subscribe to on the email or sms channel. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Subscribe Profiles",
"name" : "subscribeProfiles",
"parameters" : {
"profileId" : [ "" ],
"subscription" : [ "" ]
},
"type" : "klaviyo/v1/subscribeProfiles"
}
```
#### Output [#output-1]
This action does not produce any output.
#### Find Profile ID [#find-profile-id]
To find the Profile ID, click [here](/reference/components/klaviyo_v1#how-to-find-profile-id).
### Update Profile [#update-profile]
Name: updateProfile
`Update the profile with the given profile ID.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :----: | :------------------------------------------------------------------------------------------------------: | :------: |
| profileId | Profile ID | STRING | Primary key that uniquely identifies this profile. | true |
| email | Email | STRING | Individual's email address. | false |
| phone\_number | Phone Number | STRING | Individual's phone number in E.164 format. | false |
| first\_name | First Name | STRING | Individual's first name. | false |
| last\_name | Last Name | STRING | Individual's last name. | false |
| organization | Organization | STRING | Name of the company or organization within the company for whom the individual works. | false |
| locale | Locale | STRING | The locale of the profile, in the IETF BCP 47 language tag format like (ISO 639-1/2)-(ISO 3166 alpha-2). | false |
| title | Title | STRING | Individual's job title. | false |
| image | Image | STRING | URL pointing to the location of a profile image. | false |
| address1 | Address1 | STRING | First line of street address. | false |
| address2 | Address2 | STRING | Second line of street address. | false |
| city | City | STRING | City name. | false |
| country | Country | STRING | Country name. | false |
| region | Region | STRING | Region within a country, such as state or province. | false |
| zip | Zip | STRING | Zip code. | false |
| timezone | Timezone | STRING | Time zone name. We recommend using time zones from the IANA Time Zone Database.. | false |
| ip | IP | STRING | IP address. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update Profile",
"name" : "updateProfile",
"parameters" : {
"profileId" : "",
"email" : "",
"phone_number" : "",
"first_name" : "",
"last_name" : "",
"organization" : "",
"locale" : "",
"title" : "",
"image" : "",
"address1" : "",
"address2" : "",
"city" : "",
"country" : "",
"region" : "",
"zip" : "",
"timezone" : "",
"ip" : ""
},
"type" : "klaviyo/v1/updateProfile"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :---: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(type), STRING(id), \{STRING(email), STRING(phone\_number), STRING(external\_id), STRING(anonymous\_id), STRING(first\_name), STRING(last\_name), STRING(organization), STRING(locale), STRING(title), STRING(image), STRING(created), STRING(updated), STRING(last\_event\_date), \{STRING(address1), STRING(address2), STRING(city), STRING(country), \{}(latitude), \{}(longitude), STRING(region), STRING(zip), STRING(timezone), STRING(ip)}(location), \{}(properties), \{\{\{BOOLEAN(can\_receive\_email\_marketing), STRING(consent), DATE\_TIME(consent\_timestamp), DATE\_TIME(last\_updated), STRING(method), STRING(method\_detail), STRING(custom\_method\_detail), BOOLEAN(double\_optin), \[STRING($reason), DATE_TIME\($timestamp)]\(suppression), \[STRING($list_id), STRING\($reason), DATE\_TIME(\$timestamp)]\(list\_suppressions)}(marketing)}(email), \{\{BOOLEAN(can\_receive\_sms\_marketing), STRING(consent), DATE\_TIME(consent\_timestamp), STRING(method), STRING(method\_detail), DATE\_TIME(last\_updated)}(marketing), \{BOOLEAN(can\_receive\_sms\_transactional), STRING(consent), DATE\_TIME(consent\_timestamp), STRING(method), STRING(method\_detail), DATE\_TIME(last\_updated)}(transactional)}(sms), \{\{BOOLEAN(can\_receive\_push\_marketing), STRING(consent), DATE\_TIME(consent\_timestamp)}(marketing)}(mobile\_push)}(subscriptions), \{NUMBER(historic\_clv), NUMBER(predicted\_clv), NUMBER(total\_clv), NUMBER(historic\_number\_of\_orders), NUMBER(predicted\_number\_of\_orders), NUMBER(average\_days\_between\_orders), NUMBER(average\_order\_value), NUMBER(churn\_probability), DATE\_TIME(expected\_date\_of\_next\_order)}(predictive\_analytics)}(attributes), \{STRING(self)}(links), \{\{\{STRING(type), STRING(id)}(data), \{STRING(self), STRING(related)}(links)}(lists), \{\{STRING(type), STRING(id)}(data), \{STRING(self), STRING(related)}(links)}(segments), \{\{STRING(type), STRING(id)}(data), \{STRING(self), STRING(related)}(links)}(push-tokens)}(relationships)} | |
| links | OBJECT Properties \{STRING(self)} | Links. |
#### Output Example [#output-example-1]
```json
{
"data" : {
"type" : "",
"id" : "",
"attributes" : {
"email" : "",
"phone_number" : "",
"external_id" : "",
"anonymous_id" : "",
"first_name" : "",
"last_name" : "",
"organization" : "",
"locale" : "",
"title" : "",
"image" : "",
"created" : "",
"updated" : "",
"last_event_date" : "",
"location" : {
"address1" : "",
"address2" : "",
"city" : "",
"country" : "",
"latitude" : { },
"longitude" : { },
"region" : "",
"zip" : "",
"timezone" : "",
"ip" : ""
},
"properties" : { },
"subscriptions" : {
"email" : {
"marketing" : {
"can_receive_email_marketing" : false,
"consent" : "",
"consent_timestamp" : "2021-01-01T00:00:00",
"last_updated" : "2021-01-01T00:00:00",
"method" : "",
"method_detail" : "",
"custom_method_detail" : "",
"double_optin" : false,
"suppression" : [ "", "2021-01-01T00:00:00" ],
"list_suppressions" : [ "", "", "2021-01-01T00:00:00" ]
}
},
"sms" : {
"marketing" : {
"can_receive_sms_marketing" : false,
"consent" : "",
"consent_timestamp" : "2021-01-01T00:00:00",
"method" : "",
"method_detail" : "",
"last_updated" : "2021-01-01T00:00:00"
},
"transactional" : {
"can_receive_sms_transactional" : false,
"consent" : "",
"consent_timestamp" : "2021-01-01T00:00:00",
"method" : "",
"method_detail" : "",
"last_updated" : "2021-01-01T00:00:00"
}
},
"mobile_push" : {
"marketing" : {
"can_receive_push_marketing" : false,
"consent" : "",
"consent_timestamp" : "2021-01-01T00:00:00"
}
}
},
"predictive_analytics" : {
"historic_clv" : 0.0,
"predicted_clv" : 0.0,
"total_clv" : 0.0,
"historic_number_of_orders" : 0.0,
"predicted_number_of_orders" : 0.0,
"average_days_between_orders" : 0.0,
"average_order_value" : 0.0,
"churn_probability" : 0.0,
"expected_date_of_next_order" : "2021-01-01T00:00:00"
}
},
"links" : {
"self" : ""
},
"relationships" : {
"lists" : {
"data" : {
"type" : "",
"id" : ""
},
"links" : {
"self" : "",
"related" : ""
}
},
"segments" : {
"data" : {
"type" : "",
"id" : ""
},
"links" : {
"self" : "",
"related" : ""
}
},
"push-tokens" : {
"data" : {
"type" : "",
"id" : ""
},
"links" : {
"self" : "",
"related" : ""
}
}
}
},
"links" : {
"self" : ""
}
}
```
#### Find Profile ID [#find-profile-id-1]
To find the Profile ID, click [here](/reference/components/klaviyo_v1#how-to-find-profile-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Profile ID [#how-to-find-profile-id]
* **Method 1: Via API**
Use the `GET /api/profiles` endpoint to retrieve a list of all profiles and their IDs.
* **Method 2: Via UI**
Go to the Klaviyo dashboard. On the left bar, go to Audience and then Profiles. Open the profile that you want to use and you can find Unique ID under Information/Profile details. You can also find the same ID in the URL when you open the profile. For example in `https://www.klaviyo.com/profile/123`, profile ID is 123.
The Profile ID can also be found in the output of the following actions:
* **Update Profile**
# ByteChef Reference: Knowledge Base
URL: /reference/components/knowledgeBase_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/knowledgeBase_v1.mdx
Search ByteChef's internal knowledge base to retrieve relevant document chunks using semantic similarity search powered by vector embeddings.
Categories: Artificial Intelligence
Type: knowledgeBase/v1
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the knowledge base by metadata filter.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| knowledgeBaseId | Knowledge Base | INTEGER | The knowledge base to delete documents from. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"knowledgeBaseId" : 1,
"metadataFilter" : [ { } ]
},
"type" : "knowledgeBase/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Data [#load-data]
Name: load
`Loads data into the knowledge base.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :-------------------------------------------------------------: | :---------------------------------------------------------: | :------: |
| knowledgeBaseId | Knowledge Base | INTEGER | The knowledge base to load documents into. | true |
| additionalMetadata | Additional Metadata | OBJECT Properties \{} | Metadata key-value pairs to attach to the stored documents. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Data",
"name" : "load",
"parameters" : {
"knowledgeBaseId" : 1,
"additionalMetadata" : { }
},
"type" : "knowledgeBase/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Data [#search-data]
Name: search
`Query data from the knowledge base. Supports three modes: tag-only search, vector search, or combined tag filtering with vector search.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :-------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------: | :------: |
| knowledgeBaseId | Knowledge Base | INTEGER | The knowledge base to search. | true |
| query | Query | STRING | The search query for semantic similarity search. Leave empty for filter-only search. | false |
| tagNames | Tags | ARRAY Items \[STRING] | Filter results by tags. Documents with ANY of the selected tags will be returned (OR logic). | false |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | Maximum number of results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Minimum similarity score (0.0 to 1.0). Only results with similarity above this threshold will be returned. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Data",
"name" : "search",
"parameters" : {
"knowledgeBaseId" : 1,
"query" : "",
"tagNames" : [ "" ],
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "knowledgeBase/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the knowledge base by deleting existing ones matching the selected document or chunk and loading new ones.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------------------------: | :-----------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------: | :------: |
| updateMultiple | Update Multiple | BOOLEAN Options true , false | Whether to update multiple documents or chunks. | true |
| knowledgeBaseId | Knowledge Base | INTEGER | The knowledge base to update documents in. | true |
| knowledgeBaseDocumentId | Document | INTEGER Depends On knowledgeBaseId | The document to update in the knowledge base. | false |
| knowledgeBaseDocumentChunkId | Document Chunk | INTEGER Depends On knowledgeBaseDocumentId | The specific chunk to update. If not selected, all chunks of the selected document will be replaced. | false |
| additionalMetadata | Additional Metadata | OBJECT Properties \{} | Additional metadata key-value pairs to add to the stored documents. | false |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are AND-ed; groups are OR-ed. | false |
| content | Content | STRING | The text content to update the knowledge base with. If not provided, uses the configured document reader. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"updateMultiple" : false,
"knowledgeBaseId" : 1,
"knowledgeBaseDocumentId" : 1,
"knowledgeBaseDocumentChunkId" : 1,
"additionalMetadata" : { },
"metadataFilter" : [ { } ],
"content" : ""
},
"type" : "knowledgeBase/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Liferay
URL: /reference/components/liferay_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/liferay_v1.mdx
Liferay is an open-source digital experience platform for enterprise content management (ECM) and portal development.
Categories: Productivity and Collaboration
Type: liferay/v1
## Connections [#connections]
Version: 1
### OAuth2 [#oauth2]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client ID | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
### API Key [#api-key]
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :----: | :----------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| key | Key | STRING | | true |
| value | Value | STRING | | true |
| addTo | Add to | STRING Options HEADER , QUERY\_PARAMETERS | | true |
### Bearer Token [#bearer-token]
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
### Basic Auth [#basic-auth]
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :---------: | :------: |
| username | Username | STRING | | true |
| password | Password | STRING | | true |
## Connection Setup [#connection-setup]
### API Key [#api-key-1]
### Bearer Token [#bearer-token-1]
1. Click on **Open Application Menu**.
2. Navigate to Settings → APIs to generate an access token.
3. Choose the duration (e.g. 30 days, 6 months, 1 year, or indefinite) for when the access token expires.
4. Click **Generate Token**.
5. To use the new token, click **Copy** and paste it into Bytechef connection.
### Basic Auth [#basic-auth-1]
1. Use your username and password to create Liferay connection in Bytechef.
### OAuth [#oauth]
1. Navigate to your Liferay portal.
2. Click this icon to open **Applications Menu**.
3. Click on **Control Panel**
4. Click on **OAuth 2 Administration**
5. Click on **New**
6. Enter name of your OAuth application.
7. Enter a redirect URI, e.g., `https://app.bytechef.io/callback`, `http://127.0.0.1:5173/callback`
8. Enable **Trusted Application**.
9. Click on **Save**
10. Here you can see your **Client ID** and **Client Secret**.
11. Click on **Scopes**
12. Click on **Liferay.Headless.Discovery.OpenAPI**
13. Enable scopes you need.
14. Click on **Save**
15. Done 🚀
## Actions [#actions]
### Headless Request [#headless-request]
Name: headlessRequest
`Executes a Liferay Headless API action using the configured endpoint.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :--------------------------------------------------------------------------------------------: | :---------------------------------------: | :------: |
| application | Application | STRING | Liferay REST Application you want to use. | true |
| endpoint | Endpoint | STRING Depends On application | API endpoint where requests are sent. | true |
| properties | | DYNAMIC\_PROPERTIES Depends On application, endpoint | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Headless Request",
"name" : "headlessRequest",
"parameters" : {
"application" : "",
"endpoint" : "",
"properties" : { }
},
"type" : "liferay/v1/headlessRequest"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### JSON WS Services [#json-ws-services]
Name: jsonWsRequest
`Sends a JSON-based HTTP request to a configured external web service endpoint.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| contextName | Context Name | STRING Options portal , account , asset , assetlist , audit , backgroundtask , batchengine , blogs , calendar , comment , commerce , contact , ct , ddl , ddm , depot , dispatch , fragment , journal , kaleo , kaleoforms , kb , layout , layoututilitypage , listtype , marketplace , mb , notification , oauthclient , object , portallanguageoverride , redirect , remoteapp , sap , savedcontententry , segments , sharing , sitenavigation , stylebook , sxp , translation , trash , wiki | Context name of JSON web service you want to use. | true |
| service | Service ID | INTEGER Depends On contextName | ID of the service you want to access. | true |
| parameters | | DYNAMIC\_PROPERTIES Depends On service | | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "JSON WS Services",
"name" : "jsonWsRequest",
"parameters" : {
"contextName" : "",
"service" : 1,
"parameters" : { }
},
"type" : "liferay/v1/jsonWsRequest"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Context Name and Service ID [#find-context-name-and-service-id]
To find the Context Name, click [here](/reference/components/liferay_v1#how-to-find-the-context-name).
To find the Service ID, click [here](/reference/components/liferay_v1#how-to-find-the-service-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Application [#how-to-find-the-application]
* **Method 1: Via API**
Use the `GET /o/openapi/openapi.json` endpoint to retrieve a list of all applications.
* \**Method 2: Via UI*
Go to `[server]:[port]/o/api`, click on REST Applications and there you have a list of all applications.
### How to find the Endpoint [#how-to-find-the-endpoint]
* **Method 1: Via API**
Use the `GET /o/APPLICATION/openapi.json"` endpoint to retrieve a list of all endpoints in specific application.
* \**Method 2: Via UI*
Go to `[server]:[port]/o/api`, choose the REST Application you want and there you have a list of all endpoints.
If endpoint starts with a version, you need to remove that part. For example if endpoint is `/v1.0/accounts`, your need to use `/accounts`.
### How to find the Context Name [#how-to-find-the-context-name]
* \**Method 1: Via UI*
Go to `[server]:[port]/api/jsonws`, click on Context Name and there you have a list of all contexts.
### How to find the Service ID [#how-to-find-the-service-id]
* **Method 1: Via API**
Use the `GET "/api/jsonws?contextName=CONTEXT_NAME&discover=""` endpoint to retrieve a list of all service IDs in specific context.
# ByteChef Reference: Linear
URL: /reference/components/linear_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/linear_v1.mdx
Linear is a project management and issue tracking tool designed primarily for software teams.
Categories: Project Management
Type: linear/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to the dashboard at [https://linear.app/login](https://linear.app/login).
2. You need to create a new OAuth2 Application to get credentials. First click on your profile.
3. Click on Settings.
4. Under Administration section, choose API.
5. Click on New OAuth application.
6. Fill information and enable Public.
7. Enable Webhooks and fill information. Then click Create.
8. Copy the Client ID and Client secret. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Create Issue [#create-issue]
Name: createIssue
`Creates a new issue.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :--------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: | :------: |
| title | Issue Title | STRING | The title of the new issue. | true |
| teamId | Team ID | STRING | The ID of the team where this issue should be created. | true |
| statusId | Status | STRING | The status of the issue. | true |
| priority | Priority | INTEGER Options 0 , 1 , 2 , 3 , 4 | The priority of the issue. | false |
| assigneeId | Assignee ID | STRING | The identifier of the user to assign the issue to. | false |
| description | Description | STRING | The detailed description of the issue. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Issue",
"name" : "createIssue",
"parameters" : {
"title" : "",
"teamId" : "",
"statusId" : "",
"priority" : 1,
"assigneeId" : "",
"description" : ""
},
"type" : "linear/v1/createIssue"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :------------------------------------: |
| success | BOOLEAN Options true , false | Whether the operation was successful. |
| issue | OBJECT Properties \{STRING(id), STRING(title)} | The issue that was created or updated. |
#### Output Example [#output-example]
```json
{
"success" : false,
"issue" : {
"id" : "",
"title" : ""
}
}
```
#### Find Team ID, Status ID and Assignee ID [#find-team-id-status-id-and-assignee-id]
To find the Team ID, click [here](/reference/components/linear_v1#how-to-find-the-team-id).
To find the Status ID, click [here](/reference/components/linear_v1#how-to-find-the-issue-status-id).
To find the Assignee ID, click [here](/reference/components/linear_v1#how-to-find-the-assignee-id).
### Update Issue [#update-issue]
Name: updateIssue
`Update an issue.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :--------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: | :------: |
| teamId | Team ID | STRING | The ID of the team where this issue should be created. | true |
| issueId | Issue ID | STRING Depends On teamId | The identifier of the issue to update. | true |
| title | Issue Title | STRING | The title of the new issue. | false |
| statusId | Status | STRING | The status of the issue. | false |
| priority | Priority | INTEGER Options 0 , 1 , 2 , 3 , 4 | The priority of the issue. | false |
| assigneeId | Assignee ID | STRING | The identifier of the user to assign the issue to. | false |
| description | Description | STRING | The detailed description of the issue. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Update Issue",
"name" : "updateIssue",
"parameters" : {
"teamId" : "",
"issueId" : "",
"title" : "",
"statusId" : "",
"priority" : 1,
"assigneeId" : "",
"description" : ""
},
"type" : "linear/v1/updateIssue"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :------------------------------------: |
| success | BOOLEAN Options true , false | Whether the operation was successful. |
| issue | OBJECT Properties \{STRING(id), STRING(title)} | The issue that was created or updated. |
#### Output Example [#output-example-1]
```json
{
"success" : false,
"issue" : {
"id" : "",
"title" : ""
}
}
```
#### Find Team ID, Issue ID, Status ID and Assignee ID [#find-team-id-issue-id-status-id-and-assignee-id]
To find the Team ID, click [here](/reference/components/linear_v1#how-to-find-the-team-id).
To find the Issue ID, click [here](/reference/components/linear_v1#how-to-find-the-issue-id).
To find the Status ID, click [here](/reference/components/linear_v1#how-to-find-the-issue-status-id).
To find the Assignee ID, click [here](/reference/components/linear_v1#how-to-find-the-assignee-id).
### Create Project [#create-project]
Name: createProject
`Creates a new project.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :--------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------: | :------: |
| name | Project Name | STRING | The name of the project. | true |
| teamId | Team ID | STRING | The ID of the team where this project should be created. | true |
| statusId | Status | STRING | The status of the project. | false |
| priority | Priority | INTEGER Options 0 , 1 , 2 , 3 , 4 | The priority of the project. | false |
| startDate | Start Date | DATE | The planned start date of the project. | false |
| description | Description | STRING | The detailed description of the project. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Project",
"name" : "createProject",
"parameters" : {
"name" : "",
"teamId" : "",
"statusId" : "",
"priority" : 1,
"startDate" : "2021-01-01",
"description" : ""
},
"type" : "linear/v1/createProject"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :--------------------------------------: |
| success | BOOLEAN Options true , false | Whether the operation was successful. |
| project | OBJECT Properties \{STRING(id), STRING(name)} | The project that was created or updated. |
#### Output Example [#output-example-2]
```json
{
"success" : false,
"project" : {
"id" : "",
"name" : ""
}
}
```
#### Find Team ID and Status ID [#find-team-id-and-status-id]
To find the Team ID, click [here](/reference/components/linear_v1#how-to-find-the-team-id).
To find the Status ID, click [here](/reference/components/linear_v1#how-to-find-the-project-status-id).
### Update Project [#update-project]
Name: updateProject
`Update a project.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------: | :------: |
| projectId | Project ID | STRING | The identifier of the project to update. | true |
| name | Project Name | STRING | The name of the project. | false |
| statusId | Status | STRING | The status of the project. | false |
| priority | Priority | INTEGER Options 0 , 1 , 2 , 3 , 4 | The priority of the project. | false |
| startDate | Start Date | DATE | The planned start date of the project. | false |
| description | Description | STRING | The detailed description of the issue. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Project",
"name" : "updateProject",
"parameters" : {
"projectId" : "",
"name" : "",
"statusId" : "",
"priority" : 1,
"startDate" : "2021-01-01",
"description" : ""
},
"type" : "linear/v1/updateProject"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :--------------------------------------: |
| success | BOOLEAN Options true , false | Whether the operation was successful. |
| project | OBJECT Properties \{STRING(id), STRING(name)} | The project that was created or updated. |
#### Output Example [#output-example-3]
```json
{
"success" : false,
"project" : {
"id" : "",
"name" : ""
}
}
```
#### Find Project ID and Status ID [#find-project-id-and-status-id]
To find the Project ID, click [here](/reference/components/linear_v1#how-to-find-the-project-id).
To find the Status ID, click [here](/reference/components/linear_v1#how-to-find-the-project-status-id).
### Create Comment [#create-comment]
Name: createComment
`Creates a new comment.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :-----: | :----------: | :----------------------------------------------------------------: | :----------------------------------------------------: | :------: |
| teamId | Team ID | STRING | The ID of the team where this issue should be created. | false |
| issueId | Issue ID | STRING Depends On teamId | The identifier of the issue to update. | true |
| body | Comment Body | STRING | The comment content in markdown format. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Create Comment",
"name" : "createComment",
"parameters" : {
"teamId" : "",
"issueId" : "",
"body" : ""
},
"type" : "linear/v1/createComment"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-----: | :-----------------------------------------------------------------------------------------------------------: | :-----------------------------------: |
| success | BOOLEAN Options true , false | Whether the operation was successful. |
| comment | OBJECT Properties \{STRING(id), \{STRING(id)}(issue), STRING(body)} | The comment that was created. |
#### Output Example [#output-example-4]
```json
{
"success" : false,
"comment" : {
"id" : "",
"issue" : {
"id" : ""
},
"body" : ""
}
}
```
#### Find Team ID and Issue ID [#find-team-id-and-issue-id]
To find the Team ID, click [here](/reference/components/linear_v1#how-to-find-the-team-id).
To find the Issue ID, click [here](/reference/components/linear_v1#how-to-find-the-issue-id).
### Raw Graphql Query [#raw-graphql-query]
Name: rawGraphqlQuery
`Perform a raw Graphql query.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----: | :--------------------------: | :------: |
| query | Query | STRING | The query to perform. | true |
| variables | Variables | STRING | The variables for the query. | false |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Raw Graphql Query",
"name" : "rawGraphqlQuery",
"parameters" : {
"query" : "",
"variables" : ""
},
"type" : "linear/v1/rawGraphqlQuery"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------: | :------------: |
| data | OBJECT Properties \{} | Response data. |
#### Output Example [#output-example-5]
```json
{
"data" : { }
}
```
## Triggers [#triggers]
### New Issue [#new-issue]
Name: newIssue
`Triggers when new issue is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------: | :------: |
| allPublicTeams | All Public Teams | BOOLEAN Options true , false | If true, the webhook will be created for all public teams. | true |
| teamId | Team ID | STRING | | true |
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| id | STRING | The unique identifier of the entity. |
| title | STRING | The issue's title. |
| team | OBJECT Properties \{STRING(id), STRING(name)} | The team that the issue is associated with. |
| state | OBJECT Properties \{STRING(name)} | The workflow state that the issue is associated with. |
| priority | STRING | The priority of the issue. |
| assignee | OBJECT Properties \{STRING(id), STRING(name)} | The user to whom the issue is assigned to. |
| description | STRING | The issue's description in markdown format. |
#### JSON Example [#json-example]
```json
{
"label" : "New Issue",
"name" : "newIssue",
"parameters" : {
"allPublicTeams" : false,
"teamId" : ""
},
"type" : "linear/v1/newIssue"
}
```
#### Find Team ID [#find-team-id]
To find the Team ID, click [here](/reference/components/linear_v1#how-to-find-the-team-id).
### Updated Issue [#updated-issue]
Name: updatedIssue
`Triggers when an issue is updated.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------: | :------: |
| allPublicTeams | All Public Teams | BOOLEAN Options true , false | If true, the webhook will be created for all public teams. | true |
| teamId | Team ID | STRING | | true |
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-16]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| id | STRING | The unique identifier of the entity. |
| title | STRING | The issue's title. |
| team | OBJECT Properties \{STRING(id), STRING(name)} | The team that the issue is associated with. |
| state | OBJECT Properties \{STRING(name)} | The workflow state that the issue is associated with. |
| priority | STRING | The priority of the issue. |
| assignee | OBJECT Properties \{STRING(id), STRING(name)} | The user to whom the issue is assigned to. |
| description | STRING | The issue's description in markdown format. |
#### JSON Example [#json-example-1]
```json
{
"label" : "Updated Issue",
"name" : "updatedIssue",
"parameters" : {
"allPublicTeams" : false,
"teamId" : ""
},
"type" : "linear/v1/updatedIssue"
}
```
#### Find Team ID [#find-team-id-1]
To find the Team ID, click [here](/reference/components/linear_v1#how-to-find-the-team-id).
### Removed Issue [#removed-issue]
Name: removedIssue
`Triggers when an issue is removed.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------: | :------: |
| allPublicTeams | All Public Teams | BOOLEAN Options true , false | If true, the webhook will be created for all public teams. | true |
| teamId | Team ID | STRING | | true |
#### Output [#output-8]
Type: OBJECT
#### Properties [#properties-18]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| id | STRING | The unique identifier of the entity. |
| title | STRING | The issue's title. |
| team | OBJECT Properties \{STRING(id), STRING(name)} | The team that the issue is associated with. |
| state | OBJECT Properties \{STRING(name)} | The workflow state that the issue is associated with. |
| priority | STRING | The priority of the issue. |
| assignee | OBJECT Properties \{STRING(id), STRING(name)} | The user to whom the issue is assigned to. |
| description | STRING | The issue's description in markdown format. |
#### JSON Example [#json-example-2]
```json
{
"label" : "Removed Issue",
"name" : "removedIssue",
"parameters" : {
"allPublicTeams" : false,
"teamId" : ""
},
"type" : "linear/v1/removedIssue"
}
```
#### Find Team ID [#find-team-id-2]
To find the Team ID, click [here](/reference/components/linear_v1#how-to-find-the-team-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Team ID [#how-to-find-the-team-id]
* **Method 1: Via API**
Use the `{teams{nodes{id name}}}` query to retrieve a list of all teams and their IDs.
The Team ID can also be found in the output of the following triggers:
* **New Issue** Trigger
* **Removed Issue** Trigger
* **Updated Issue** Trigger
### How to find the Issue ID [#how-to-find-the-issue-id]
* **Method 1: Via API**
Use the `{issues{nodes{id title}}}` query to retrieve a list of all issues and their IDs.
The Issue ID can also be found in the output of the following actions and triggers:
* **Create Comment**
* **Create Issue**
* **Update Issue**
* **New Issue** Trigger
* **Removed Issue** Trigger
* **Updated Issue** Trigger
### How to find the Issue Status ID [#how-to-find-the-issue-status-id]
* **Method 1: Via API**
Use the `{workflowStates{nodes{id name}}}` query to retrieve a list of all statuses and their IDs.
### How to find the Assignee ID [#how-to-find-the-assignee-id]
* **Method 1: Via API**
Use the `{users{nodes{id displayName}}}` query to retrieve a list of all assignees and their IDs.
The Assignee ID can also be found in the output of the following triggers:
* **New Issue** Trigger
* **Removed Issue** Trigger
* **Updated Issue** Trigger
### How to find the Project Status ID [#how-to-find-the-project-status-id]
* **Method 1: Via API**
Use the `{projectStatuses {nodes {id name}}}` query to retrieve a list of all statuses and their IDs.
### How to find the Project ID [#how-to-find-the-project-id]
* **Method 1: Via API**
Use the `{projects{nodes{id name}}}` query to retrieve a list of all projects and their IDs.
The Project ID can also be found in the output of the following actions:
* **Create Project**
* **Update Project**
# ByteChef Reference: LinkedIn
URL: /reference/components/linkedin_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/linkedin_v1.mdx
LinkedIn is a professional networking platform that enables users to connect with colleagues, discover job opportunities, and share industry-related content.
Categories: Communication, Social Media
Type: linkedin/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
To integrate LinkedIn with ByteChef, you will need a LinkedIn account and access to a LinkedIn Company Page.
1. Go to the `https://www.linkedin.com/developers`.
2. Click on **My apps**.
3. Click on **Create app**.
4. Fill in the required fields:
* **App name**: Enter a name for your application (e.g., `bytechef integration`).
* **LinkedIn Page**: Enter a LinkedIn Company Page or use the Create a new LinkedIn Page link to create one on-the-fly.
* **App logo**: Upload an image for your application.
* **Legal agreement**: Check the box to agree to the Legal agreement.
5. Click on **Create app**.
6. This should open the Products tab. Select the products/APIs you want to enable for your app.
7. Request access for the **Share on LinkedIn**
8. Request access for the **Sign In with LinkedIn using OpenID Connect**
9. Go to the **Auth** tab.
10. Specify the URL where users will be redirected after authorization (e.g., `https://app.bytechef.io/callback`)
11. Copy the **Client ID** and **Client Secret** for later use.
To post as an organization, you need to verify your app as being associated with this company.
1. Go to the **Settings** tab.
2. Click **Verify**.
3. Click **Generate URL**.
4. Copy URL and send it to a Company Page admin for verfication.
5. Once verification is complete, return to the **Products** tab and enable the **Advertising API** to allow posting as an organization.
## Actions [#actions]
### Create Post [#create-post]
Name: createPost
`Create a post on LinkedIn.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :-----------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: | :------: |
| author | Post As | STRING Options PERSON , ORGANIZATION | Choose whether to post as a Person or Organization. | true |
| urn | Organization Number | STRING | Enter the organization number in the URN field. For example, 03262013 not urn:li:company:03262013. | true |
| commentary | Text | STRING | The user generated commentary for the post. | true |
| contentType | Media Category | STRING Options ARTICLE , DOCUMENT , IMAGES | Type of media to be posted. | false |
| visibility | Visibility | STRING Options PUBLIC , CONNECTIONS | Visibility restrictions on content. | true |
| images | Images | ARRAY Items \[FILE\_ENTRY(\$image)] | Images to be posted. | true |
| source | Article URL | STRING | A URL of the article. Typically the URL that was ingested to maintain URL parameters. | true |
| title | Article Title | STRING | Custom or saved title of the article. | false |
| description | Article Description | STRING | Custom or saved description of the article. | false |
| thumbnail | Article Thumbnail | FILE\_ENTRY | The thumbnail image to be associated with the article. | false |
| document | Document | FILE\_ENTRY | The document to be posted. | true |
| title | Document Title | STRING | The title of the document. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Post",
"name" : "createPost",
"parameters" : {
"author" : "",
"urn" : "",
"commentary" : "",
"contentType" : "",
"visibility" : "",
"images" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"source" : "",
"title" : "",
"description" : "",
"thumbnail" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"document" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "linkedin/v1/createPost"
}
```
#### Output [#output]
Type: STRING
#### Find Organization Number [#find-organization-number]
To find the Organization Number, click [here](/reference/components/linkedin_v1#how-to-find-your-linkedin-organization-number).
### Delete Post [#delete-post]
Name: deletePost
`Delete a post from LinkedIn.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required | |
| :--: | :---: | :----: | :---------: | :------: | ---- |
| urn | URN | STRING | ugcPostUrn | shareUrn | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Post",
"name" : "deletePost",
"parameters" : {
"urn" : ""
},
"type" : "linkedin/v1/deletePost"
}
```
#### Output [#output-1]
This action does not produce any output.
## Triggers [#triggers]
### New Post [#new-post]
Name: newPost
`Triggers when a new post is created in a specific organization.`
Type: POLLING
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :-----------------: | :----: | :--------------------------------------------------: | :------: |
| urn | Organization Number | STRING | Number of the organization to monitor for new posts. | true |
#### Output [#output-2]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: |
| isReshareDisabledByAuthor | BOOLEAN Options true , false | Indicates whether resharing of the post has been disabled by the author. |
| createdAt | INTEGER | Time at which the resource was created in milliseconds since epoch. |
| lifecycleState | STRING | The state of the content. |
| lastModifiedAt | INTEGER | Time at which the resource was last modified in milliseconds since epoch. |
| visibility | STRING | Visibility restrictions on content. |
| publishedAt | INTEGER | The time at which the content was published represented in epoch time. |
| author | STRING | URN of the author of the content. |
| id | STRING | Unique ID for the object. |
| distribution | OBJECT Properties \{STRING(feedDistribution), \[STRING]\(thirdPartyDistributionChannels)} | Distribution of the post both in LinkedIn and externally. |
| content | OBJECT Properties \{\{STRING(description), STRING(thumbnail), STRING(source), STRING(title)}(article), \{STRING(id), STRING(title), STRING(altText)}(media), \{\[\{STRING(id), STRING(title), STRING(altText)}]\(images), STRING(altText)}(multiImage)} | The posted content. |
| commentary | STRING | The user generated commentary for the post. |
| lifecycleStateInfo | OBJECT Properties \{BOOLEAN(isEditedByAuthor)} | Additional information about the lifecycle state for PUBLISH\_REQUESTED or PUBLISH\_FAILED. |
#### JSON Example [#json-example]
```json
{
"label" : "New Post",
"name" : "newPost",
"parameters" : {
"urn" : ""
},
"type" : "linkedin/v1/newPost"
}
```
#### Find Organization Number [#find-organization-number-1]
To find the Organization Number, click [here](/reference/components/linkedin_v1#how-to-find-your-linkedin-organization-number).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find your LinkedIn Organization Number [#how-to-find-your-linkedin-organization-number]
1. Log in to LinkedIn and open the Organization Page for your company (you need to be an administrator of the page).
2. Look at the URL in your web browser's address bar.
3. Find the numeric value that appears immediately after `/company/` or `/organization/` in the URL. For example: in `https://www.linkedin.com/company/12345678/` the Organization Number is `12345678`.
4. Copy this number and paste it into the **Organization Number** field in ByteChef.
# ByteChef Reference: LiteLLM
URL: /reference/components/lite-llm_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/lite-llm_v1.mdx
LiteLLM is a self-hosted AI gateway proxy that provides a unified OpenAI-compatible API for 100+ LLM providers, enabling model fallbacks, load balancing, and spend tracking through a single endpoint.
Categories: Artificial Intelligence
Type: liteLlm/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :--------------------------------------------------------------------------------------------------------------: | :------: |
| token | API Key | STRING | The master key or virtual key for your LiteLLM proxy. Leave empty if your proxy does not require authentication. | false |
## Connection Setup [#connection-setup]
1. Install LiteLLM: `pip install litellm`.
2. Create a config file (`litellm_config.yaml`) with your model providers.
3. Start the proxy: `litellm --config litellm_config.yaml --port 4000`.
4. In ByteChef, set the **Base URL** to your proxy address (e.g., `http://localhost:4000/v1`).
5. If your proxy requires authentication, enter your **Master Key** as the API key.
6. Done.
For more details, see the [LiteLLM Proxy documentation](https://docs.litellm.ai/docs/simple_proxy).
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------------: | :-------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options gpt-4o , gpt-4o-mini , gpt-4.1 , gpt-4.1-mini , gpt-4.1-nano , o3 , o3-mini , o4-mini , claude-sonnet-4-20250514 , claude-3-5-sonnet-20241022 , claude-3-5-haiku-20241022 , gemini-2.5-flash , gemini-2.5-pro , gemini-2.0-flash , deepseek-chat , deepseek-reasoner , mistral-large-latest , codestral-latest | ID of the model to use. The available models depend on your LiteLLM proxy configuration. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| logitBias | Logit Bias | OBJECT Properties \{} | Modify the likelihood of specified tokens appearing in the completion. | false |
| logprobs | Logprobs | BOOLEAN Options true , false | Return log probabilities. | false |
| maxCompletionTokens | Max Completion Tokens | INTEGER | Maximum tokens in completion. | false |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| reasoning | Reasoning effort | STRING Options none , low , medium , high | Constrains effort on reasoning. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. | false |
| seed | Seed | INTEGER | Keeping the same seed would output the same response. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topLogprobs | Top Logprobs | INTEGER | Number of top log probabilities to return (0-20). | false |
| topK | Top K | INTEGER | Specify the number of token choices the generative uses to generate the next token. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| verbosity | Verbosity | STRING Options low , medium , high | Adjusts response verbosity. Lower levels yield shorter answers. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"userPrompt" : "",
"format" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"frequencyPenalty" : 0.0,
"logitBias" : { },
"logprobs" : false,
"maxCompletionTokens" : 1,
"maxTokens" : 1,
"presencePenalty" : 0.0,
"reasoning" : "",
"seed" : 1,
"stop" : [ "" ],
"temperature" : 0.0,
"topLogprobs" : 1,
"topK" : 1,
"topP" : 0.0,
"verbosity" : "",
"user" : ""
},
"type" : "liteLlm/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: LLM PII
URL: /reference/components/llmPii_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/llmPii_v1.mdx
LLM-assisted detection and masking of PII (names, addresses, emails, etc.).
Categories: Artificial Intelligence
Type: llmPii/v1
# ByteChef Reference: Logger
URL: /reference/components/logger_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/logger_v1.mdx
Logs a value to the system log.
Categories: Helpers
Type: logger/v1
## Actions [#actions]
### Debug [#debug]
Name: debug
`null`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------: | :------: |
| text | | STRING | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Debug",
"name" : "debug",
"parameters" : {
"text" : ""
},
"type" : "logger/v1/debug"
}
```
#### Output [#output]
This action does not produce any output.
### Error [#error]
Name: error
`null`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------: | :------: |
| text | | STRING | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Error",
"name" : "error",
"parameters" : {
"text" : ""
},
"type" : "logger/v1/error"
}
```
#### Output [#output-1]
This action does not produce any output.
### Info [#info]
Name: info
`null`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------: | :------: |
| text | | STRING | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Info",
"name" : "info",
"parameters" : {
"text" : ""
},
"type" : "logger/v1/info"
}
```
#### Output [#output-2]
This action does not produce any output.
### Warn [#warn]
Name: warn
`null`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------: | :------: |
| text | | STRING | | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Warn",
"name" : "warn",
"parameters" : {
"text" : ""
},
"type" : "logger/v1/warn"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Loops
URL: /reference/components/loops_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/loops_v1.mdx
Loops is an email marketing and transactional email platform built for modern SaaS companies, helping businesses automate onboarding, product updates, and lifecycle messaging with simple workflows, API integrations, and scalable contact management.
Categories: Advertising
Type: loops/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :-------------------------------------------------------------------------: | :------: |
| token | API Key | STRING | To find your API key go to Settings -> API in Loops and click Generate key. | true |
## Connection Setup [#connection-setup]
### Generate API Key [#generate-api-key]
1. Login to your [Loops](https://app.loops.so/)
2. Click here to go to *Settings*.
3. Click on *API*.
4. Click on *Generate key* button.
5. By clicking here you can copy your *API Key*.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Create a new contact with an email address and any other contact properties.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| email | Email Address | STRING | The contact’s email address. | true |
| firstName | First Name | STRING | The contact’s first name. | false |
| lastName | Last Name | STRING | The contact’s last name. | false |
| userGroup | User Group | STRING | You can use groups to segment users when sending emails. Currently, a contact can only be in one user group. Groups like “Users”, “VIPs”, “Investors” or “Customers” | false |
| userId | User ID | STRING | A unique user ID (for example, from an external application). | false |
| mailingLists | Mailing Lists | ARRAY Items \[STRING] | List of mailing lists the user will be subscribed to. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"email" : "",
"firstName" : "",
"lastName" : "",
"userGroup" : "",
"userId" : "",
"mailingLists" : [ "" ]
},
"type" : "loops/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------: |
| success | BOOLEAN Options true , false | Indicates whether the contact was created successfully. |
| id | STRING | The internal ID of the new contact. |
#### Output Example [#output-example]
```json
{
"success" : false,
"id" : ""
}
```
#### How to find Mailing List ID [#how-to-find-mailing-list-id]
1. Go to *Setting*.
2. Click on *Lists*.
3. There you will see your *Mailing lists*.
4. Copy ID of the desired mailing list.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Mailchimp
URL: /reference/components/mailchimp_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mailchimp_v1.mdx
Mailchimp is a marketing automation and email marketing platform.
Categories: Marketing Automation
Type: mailchimp/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to your Mailchimp account.
2. Click on your profile icon in the top right corner.
3. Select **Account & billing**.
4. Click on **Extras** tab.
5. Click on **Registered Apps**.
6. Enter a name, description, and any other required fields.
7. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://127.0.0.1:5173//callback`
8. Click **Create**.
9. Copy **Client ID** and **Client Secret**.
## Actions [#actions]
### Add Member to List [#add-member-to-list]
Name: addMemberToList
`Adds a new member to the list.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------------------: | :-------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| listId | List ID | STRING | The unique ID for the list. | true |
| skip\_merge\_validation | Skip Merge Validation | BOOLEAN Options true , false | If skip\_merge\_validation is true, member data will be accepted without merge field values, even if the merge field is usually required. This defaults to false. | false |
| email\_address | Email Address | STRING | Email address for a subscriber. | true |
| status | Status | STRING Options subscribed , unsubscribed , cleaned , pending , transactional | Subscriber's current status. | true |
| email\_type | Email Type | STRING Options html , text | Type of email this member asked to get ('html' or 'text'). | false |
| merge\_fields | Merge Fields | OBJECT Properties \{} | A dictionary of merge fields where the keys are the merge tags. | false |
| interests | Interests | OBJECT Properties \{} | The key of this object's properties is the ID of the interest in question. | false |
| language | Language | STRING | If set/detected, the subscriber's language. | false |
| vip | Vip | BOOLEAN Options true , false | VIP status for subscriber. | false |
| location | Location | OBJECT Properties \{NUMBER(latitude), NUMBER(longitude)} | Subscriber location information. | false |
| marketing\_permissions | Marketing Permissions | ARRAY Items \[\{STRING(marketing\_permission\_id), BOOLEAN(enabled)}] | The marketing permissions for the subscriber. | false |
| ip\_signup | Ip Signup | STRING | IP address the subscriber signed up from. | false |
| timestamp\_signup | Timestamp Signup | STRING | The date and time the subscriber signed up for the list in ISO 8601 format. | false |
| ip\_opt | Ip Opt | STRING | The IP address the subscriber used to confirm their opt-in status. | false |
| timestamp\_opt | Timestamp Opt | STRING | The date and time the subscriber confirmed their opt-in status in ISO 8601 format. | false |
| tags | Tags | ARRAY Items \[STRING] | The tags that are associated with a member. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Member to List",
"name" : "addMemberToList",
"parameters" : {
"listId" : "",
"skip_merge_validation" : false,
"email_address" : "",
"status" : "",
"email_type" : "",
"merge_fields" : { },
"interests" : { },
"language" : "",
"vip" : false,
"location" : {
"latitude" : 0.0,
"longitude" : 0.0
},
"marketing_permissions" : [ {
"marketing_permission_id" : "",
"enabled" : false
} ],
"ip_signup" : "",
"timestamp_signup" : "",
"ip_opt" : "",
"timestamp_opt" : "",
"tags" : [ "" ]
},
"type" : "mailchimp/v1/addMemberToList"
}
```
#### Output [#output]
***Sample Output:***
`{tags_count=0, unique_email_id=string, email_client=string, consents_to_one_to_one_messaging=true, source=string, last_changed=2019-08-24T14:15:22, vip=true, member_rating=0, web_id=0, _links=[{href=string, schema=string, targetSchema=string, method=GET, rel=string}], id=string, timestamp_signup=2019-08-24T14:15:22, interests={property1=true, property2=true}, language=string, email_type=string, marketing_permissions=[{enabled=true, marketing_permission_id=string, text=string}], tags=[{name=string, id=0}], ip_signup=string, location={timezone=string, dstoff=0, latitude=0, region=string, longitude=0, gmtoff=0, country_code=string}, ip_opt=string, timestamp_opt=2019-08-24T14:15:22, unsubscribe_reason=string, status=subscribed, email_address=string, last_note={note_id=0, created_by=string, note=string, created_at=2019-08-24T14:15:22}, contact_id=string, stats={avg_open_rate=0, avg_click_rate=0, ecommerce_data={currency_code=USD, number_of_orders=0, total_revenue=0}}, merge_fields={property1=, property2=}, full_name=string, list_id=string}`
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| id | STRING | The MD5 hash of the lowercase version of the list member's email address. |
| email\_address | STRING | Email address for a subscriber. |
| unique\_email\_id | STRING | An identifier for the address across all of Mailchimp. |
| contact\_id | STRING | As Mailchimp evolves beyond email, you may eventually have contacts without email addresses. While the id is the MD5 hash of their email address, this contact\_id is agnostic of contact’s inclusion of an email address. |
| full\_name | STRING | The contact's full name. |
| web\_id | STRING | The ID used in the Mailchimp web application. View this member in your Mailchimp account at https\://\{dc}.admin.mailchimp.com/lists/members/view?id=\{web\_id}. |
| email\_type | STRING | Type of email this member asked to get ('html' or 'text'). |
| status | STRING Options subscribed , unsubscribed , cleaned , pending , transactional | Subscriber's current status. |
| unsubscribe\_reason | STRING | A subscriber's reason for unsubscribing. |
| consents\_to\_one\_to\_one\_messaging | BOOLEAN Options true , false | Indicates whether a contact consents to 1:1 messaging. |
| merge\_fields | OBJECT Properties \{} | A dictionary of merge fields where the keys are the merge tags. See the Merge Fields documentation for more about the structure. |
| interests | OBJECT Properties \{} | The key of this object's properties is the ID of the interest in question. |
| stats | OBJECT Properties \{NUMBER(avg\_open\_rate), NUMBER(avg\_click\_rate), \{NUMBER(total\_revenue), NUMBER(number\_of\_orders), STRING(currency\_code)}(ecommerce\_data)} | Open and click rates for this subscriber. |
| ip\_signup | STRING | IP address the subscriber signed up from. |
| timestamp\_signup | STRING | The date and time the subscriber signed up for the list in ISO 8601 format. |
| ip\_opt | STRING | The IP address the subscriber used to confirm their opt-in status. |
| timestamp\_opt | STRING | The date and time the subscriber confirmed their opt-in status in ISO 8601 format. |
| member\_rating | INTEGER | Star rating for this member, between 1 and 5. |
| last\_changed | STRING | The date and time the member's info was last changed in ISO 8601 format. |
| language | STRING | If set/detected, the subscriber's language. |
| vip | BOOLEAN Options true , false | VIP status for subscriber. |
| email\_client | STRING | The list member's email client. |
| location | OBJECT Properties \{NUMBER(latitude), NUMBER(longitude), INTEGER(gmtoff), INTEGER(dstoff), STRING(country\_code), STRING(timezone), STRING(region)} | Subscriber location information. |
| marketing\_permissions | ARRAY Items \[\{STRING(marketing\_permission\_id), STRING(text), BOOLEAN(enabled)}] | The marketing permissions for the subscriber. |
| last\_note | OBJECT Properties \{INTEGER(note\_id), STRING(created\_at), STRING(created\_by), STRING(note)} | The most recent Note added about this member. |
| source | STRING | The source from which the subscriber was added to this list. |
| tags\_count | INTEGER | The number of tags applied to this member. |
| tags | OBJECT Properties \{INTEGER(id), STRING(name)} | Returns up to 50 tags applied to this member. |
| list\_id | STRING | The list id. |
| \_links | ARRAY Items \[\{STRING(rel), STRING(href), STRING(method), STRING(targetSchema), STRING(schema)}] | The list of link types and descriptions for the API schema documents. |
#### Output Example [#output-example]
```json
{
"id" : "",
"email_address" : "",
"unique_email_id" : "",
"contact_id" : "",
"full_name" : "",
"web_id" : "",
"email_type" : "",
"status" : "",
"unsubscribe_reason" : "",
"consents_to_one_to_one_messaging" : false,
"merge_fields" : { },
"interests" : { },
"stats" : {
"avg_open_rate" : 0.0,
"avg_click_rate" : 0.0,
"ecommerce_data" : {
"total_revenue" : 0.0,
"number_of_orders" : 0.0,
"currency_code" : ""
}
},
"ip_signup" : "",
"timestamp_signup" : "",
"ip_opt" : "",
"timestamp_opt" : "",
"member_rating" : 1,
"last_changed" : "",
"language" : "",
"vip" : false,
"email_client" : "",
"location" : {
"latitude" : 0.0,
"longitude" : 0.0,
"gmtoff" : 1,
"dstoff" : 1,
"country_code" : "",
"timezone" : "",
"region" : ""
},
"marketing_permissions" : [ {
"marketing_permission_id" : "",
"text" : "",
"enabled" : false
} ],
"last_note" : {
"note_id" : 1,
"created_at" : "",
"created_by" : "",
"note" : ""
},
"source" : "",
"tags_count" : 1,
"tags" : {
"id" : 1,
"name" : ""
},
"list_id" : "",
"_links" : [ {
"rel" : "",
"href" : "",
"method" : "",
"targetSchema" : "",
"schema" : ""
} ]
}
```
## Triggers [#triggers]
### Subscribe [#subscribe]
Name: subscribe
`Triggers when an Audience subscriber is added to the list.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :--------------------------------------------------------------------------: | :------: |
| listId | List Id | STRING | The list id of intended audience to which you would like to add the contact. | true |
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------: |
| data | OBJECT Properties \{STRING(email), STRING(email\_type), STRING(id), STRING(ip\_opt), STRING(ip\_signup), STRING(list\_id), \{STRING(EMAIL), STRING(FNAME), STRING(INTERESTS), STRING(LNAME)}(merges)} | |
| fired\_at | DATE\_TIME | The date and time the webhook was triggered. |
| type | STRING | The type of webhook that was triggered. |
#### JSON Example [#json-example]
```json
{
"label" : "Subscribe",
"name" : "subscribe",
"parameters" : {
"listId" : ""
},
"type" : "mailchimp/v1/subscribe"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: MailerLite
URL: /reference/components/mailerlite_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mailerlite_v1.mdx
MailerLite is an intuitive email marketing platform that offers automation, landing pages, and subscriber management for businesses and creators.
Categories: Marketing Automation
Type: mailerLite/v1
## Connections [#connections]
Version: 1
### bearer\_token [#bearer_token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-------: | :----: | :---------------------------------: | :------: |
| token | API Token | STRING | API Token needed for authorization. | true |
## Connection Setup [#connection-setup]
### Find API Token [#find-api-token]
1. Navigate to your MailerLite dashboard.
2. Click on **Integrations**.
3. Click on **API**.
4. Click on **Generate new token**.
5. Enter name of your API token.
6. Enable **Terms of Use**.
7. Click on **Create token**.
8. **Copy** your API token because you will not be able to see the full token again.
9. Exit the popup window.
## Actions [#actions]
### Add Subscriber to Group [#add-subscriber-to-group]
Name: addSubscriberToGroup
`Adding a subscriber to a selected group.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :----: | :------------------------------------------------------: | :------: |
| subscriber\_id | Subscriber Email | STRING | ID of the user that will be added to the selected group. | true |
| group\_id | Group ID | STRING | ID of the group to which the user will be added. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Subscriber to Group",
"name" : "addSubscriberToGroup",
"parameters" : {
"subscriber_id" : "",
"group_id" : ""
},
"type" : "mailerLite/v1/addSubscriberToGroup"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), STRING(name), INTEGER(active\_count), INTEGER(sent\_count), INTEGER(opens\_count), \{NUMBER(float), STRING(string)}(open\_rate), INTEGER(clicks\_count), \{NUMBER(float), STRING(string)}(click\_rate), INTEGER(unsubscribed\_count), INTEGER(unconfirmed\_count), INTEGER(bounced\_count), INTEGER(junk\_count), STRING(created\_at)} | |
#### Output Example [#output-example]
```json
{
"data" : {
"id" : "",
"name" : "",
"active_count" : 1,
"sent_count" : 1,
"opens_count" : 1,
"open_rate" : {
"float" : 0.0,
"string" : ""
},
"clicks_count" : 1,
"click_rate" : {
"float" : 0.0,
"string" : ""
},
"unsubscribed_count" : 1,
"unconfirmed_count" : 1,
"bounced_count" : 1,
"junk_count" : 1,
"created_at" : ""
}
}
```
#### Find Subscriber ID [#find-subscriber-id]
To find the Subscriber ID, click [here](/reference/components/mailerlite_v1#how-to-find-the-subscriber-id).
#### Find Group ID [#find-group-id]
To find the Group ID, click [here](/reference/components/mailerlite_v1#how-to-find-the-group-id).
### Create or Update Subscriber [#create-or-update-subscriber]
Name: createOrUpdateSubscriber
`Create new user or update an existing user.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :------: | :----: | :---------------------------------------------------------: | :------: |
| email | null | STRING | The email address of the subscriber. | true |
| group\_id | Group ID | STRING | ID of the group to which you want to add the subscriber to. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create or Update Subscriber",
"name" : "createOrUpdateSubscriber",
"parameters" : {
"email" : "",
"group_id" : ""
},
"type" : "mailerLite/v1/createOrUpdateSubscriber"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), STRING(email), STRING(status), STRING(source), INTEGER(sent), INTEGER(opens\_count), INTEGER(clicks\_count), INTEGER(open\_rate), INTEGER(click\_rate), STRING(subscribed\_at), STRING(created\_at), STRING(updated\_at), \[]\(fields), \[]\(groups)} | |
#### Output Example [#output-example-1]
```json
{
"data" : {
"id" : "",
"email" : "",
"status" : "",
"source" : "",
"sent" : 1,
"opens_count" : 1,
"clicks_count" : 1,
"open_rate" : 1,
"click_rate" : 1,
"subscribed_at" : "",
"created_at" : "",
"updated_at" : "",
"fields" : [ ],
"groups" : [ ]
}
}
```
#### Find Group ID [#find-group-id-1]
To find the Group ID, click [here](/reference/components/mailerlite_v1#how-to-find-the-group-id).
### Remove Subscriber from Group [#remove-subscriber-from-group]
Name: removeSubscriberFromGroup
`Remove selected subscriber from the group.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------------: | :--------: | :----: | :------------------------------------------------------: | :------: |
| subscriber\_id | Subscriber | STRING | ID of the user that will be added to the selected group. | true |
| group\_id | Group ID | STRING | ID of the group to which the user will be added. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Remove Subscriber from Group",
"name" : "removeSubscriberFromGroup",
"parameters" : {
"subscriber_id" : "",
"group_id" : ""
},
"type" : "mailerLite/v1/removeSubscriberFromGroup"
}
```
#### Output [#output-2]
This action does not produce any output.
#### Find Subscriber ID [#find-subscriber-id-1]
To find the Subscriber ID, click [here](/reference/components/mailerlite_v1#how-to-find-the-subscriber-id).
#### Find Group ID [#find-group-id-2]
To find the Group ID, click [here](/reference/components/mailerlite_v1#how-to-find-the-group-id).
## Triggers [#triggers]
### Subscriber Added to the Group [#subscriber-added-to-the-group]
Name: subscriberAddedToGroup
`Triggers when a subscriber is added to the group.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(account\_id), STRING(id), STRING(email), STRING(status), STRING(source), INTEGER(sent), INTEGER(opens\_count), INTEGER(clicks\_count), INTEGER(open\_rate), INTEGER(click\_rate), STRING(subscribed\_at), STRING(created\_at), STRING(updated\_at), \[]\(fields), \[]\(groups)} | |
#### JSON Example [#json-example]
```json
{
"label" : "Subscriber Added to the Group",
"name" : "subscriberAddedToGroup",
"type" : "mailerLite/v1/subscriberAddedToGroup"
}
```
### Subscriber Created [#subscriber-created]
Name: subscriberCreated
`Triggers when a subscriber is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), STRING(email), STRING(status), STRING(source), INTEGER(sent), INTEGER(opens\_count), INTEGER(clicks\_count), INTEGER(open\_rate), INTEGER(click\_rate), \{}(ip\_address), STRING(subscribed\_at), STRING(unsubscribed\_at), STRING(created\_at), STRING(updated\_at), STRING(deleted\_at), STRING(forget\_at), \[]\(fields), \[]\(groups), STRING(account\_id)} | |
#### JSON Example [#json-example-1]
```json
{
"label" : "Subscriber Created",
"name" : "subscriberCreated",
"type" : "mailerLite/v1/subscriberCreated"
}
```
### Subscriber Unsubscribed [#subscriber-unsubscribed]
Name: subscriberUnsubscribed
`Triggers when a subscriber unsubscribes.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(account\_id), STRING(id), STRING(email), STRING(status), STRING(source), INTEGER(sent), INTEGER(opens\_count), INTEGER(clicks\_count), INTEGER(open\_rate), INTEGER(click\_rate), STRING(subscribed\_at), STRING(created\_at), STRING(updated\_at), \[]\(fields), \[]\(groups)} | |
#### JSON Example [#json-example-2]
```json
{
"label" : "Subscriber Unsubscribed",
"name" : "subscriberUnsubscribed",
"type" : "mailerLite/v1/subscriberUnsubscribed"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Subscriber ID [#how-to-find-the-subscriber-id]
1. Login into your MailerLite account.
2. Click on **Subscribers** in left side panel.
3. Find subscriber you want to find ID of and click on it.
4. In the URL from your browser's address bar.
5. Copy the value that appears after `subscribers/`.
#### Example [#example]
Given the URL:
```text
https://dashboard.mailerlite.com/subscribers/190607012343580336
```
The Subscriber ID is:
```text
190607012343580336
```
### How to find the Group ID [#how-to-find-the-group-id]
1. Login into your MailerLite account.
2. Click on **Subscribers** in left side panel.
3. Click on **Groups** tab.
4. Find group you want to find ID of and click on **View group**.
5. Copy the URL from your browser's address bar.
6. Find the `group` query parameter in the URL.
7. Copy the value that appears after `group=`.
#### Example [#example-1]
Given the URL:
```text
https://dashboard.mailerlite.com/subscribers?...&group=150651902266180716
```
The Group ID is:
```text
150651902266180716
```
# ByteChef Reference: Map
URL: /reference/components/map_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/map_v1.mdx
Produces a new collection of values by mapping each value in list through defined task, in parallel. When execution is finished on all items, the `map` task will return a list of execution results in an order which corresponds to the order of the source list.
Type: map/v1
## Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----------: | :-------------------------------------------------------: | :----------------------------: | :------: |
| items | List of items | ARRAY Items \[] | List of items to iterate over. | false |
# ByteChef Reference: MariaDB Vector Store
URL: /reference/components/mariaDbVectorStore_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mariaDbVectorStore_v1.mdx
MariaDB Vector Store uses MariaDB 11.7+ native vector storage and similarity search capabilities to store and query document embeddings.
Categories: Artificial Intelligence
Type: mariaDbVectorStore/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :--------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: | :------: |
| url | JDBC URL | STRING | MariaDB JDBC connection URL (e.g., jdbc:mariadb://localhost:3306/mydb). | true |
| username | Username | STRING | MariaDB database username. | true |
| password | Password | STRING | MariaDB database password. | true |
| tableName | Table Name | STRING | Name of the database table used to store vector embeddings. | false |
| schemaName | Schema Name | STRING | Database schema name. If not specified, the default schema is used. | false |
| distanceType | Distance Type | STRING Options COSINE , EUCLIDEAN | Distance function used for vector similarity comparison. | false |
| dimensions | Dimensions | INTEGER | Number of dimensions for the vector embeddings. If not specified, inferred from the embedding model. | false |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to create the vector store table automatically if it does not exist. | false |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "mariaDbVectorStore/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "mariaDbVectorStore/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "mariaDbVectorStore/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "mariaDbVectorStore/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Math Helper
URL: /reference/components/math-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/math-helper_v1.mdx
Helper component to perform mathematical operations.
Categories: Helpers
Type: mathHelper/v1
## Actions [#actions]
### Addition [#addition]
Name: addition
`Add two numbers.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| firstNumber | First Number | NUMBER | | true |
| secondNumber | Second Number | NUMBER | | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Addition",
"name" : "addition",
"parameters" : {
"firstNumber" : 0.0,
"secondNumber" : 0.0
},
"type" : "mathHelper/v1/addition"
}
```
#### Output [#output]
Type: NUMBER
### Division [#division]
Name: division
`Divide two numbers.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :-------------------: | :------: |
| firstNumber | First Number | NUMBER | Number to be divided. | true |
| secondNumber | Second Number | NUMBER | Number to divide by. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Division",
"name" : "division",
"parameters" : {
"firstNumber" : 0.0,
"secondNumber" : 0.0
},
"type" : "mathHelper/v1/division"
}
```
#### Output [#output-1]
Type: NUMBER
### Modulo [#modulo]
Name: modulo
`Get the remainder of the division of two numbers.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :-------------------: | :------: |
| firstNumber | First Number | NUMBER | Number to be divided. | true |
| secondNumber | Second Number | NUMBER | Number to divide by. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Modulo",
"name" : "modulo",
"parameters" : {
"firstNumber" : 0.0,
"secondNumber" : 0.0
},
"type" : "mathHelper/v1/modulo"
}
```
#### Output [#output-2]
Type: NUMBER
### Multiplication [#multiplication]
Name: multiplication
`Multiply two numbers.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| firstNumber | First Number | NUMBER | | true |
| secondNumber | Second Number | NUMBER | | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Multiplication",
"name" : "multiplication",
"parameters" : {
"firstNumber" : 0.0,
"secondNumber" : 0.0
},
"type" : "mathHelper/v1/multiplication"
}
```
#### Output [#output-3]
Type: NUMBER
### Subtraction [#subtraction]
Name: subtraction
`Subtract two numbers.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :----------------------: | :------: |
| firstNumber | First Number | NUMBER | Number to subtract from. | true |
| secondNumber | Second Number | NUMBER | Number to subtract. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Subtraction",
"name" : "subtraction",
"parameters" : {
"firstNumber" : 0.0,
"secondNumber" : 0.0
},
"type" : "mathHelper/v1/subtraction"
}
```
#### Output [#output-4]
Type: NUMBER
# ByteChef Reference: Mattermost
URL: /reference/components/mattermost_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mattermost_v1.mdx
Mattermost is an open-source, self-hosted messaging platform designed for secure team collaboration and communication.
Categories: Communication
Type: mattermost/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----: | :---------: | :------: |
| domain | Domain | STRING | | true |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Go to **System Console**.
2. Scroll to **INTEGRATIONS** and click on **Integration Management**.
3. Scroll to **Enable Personal Access Tokens** and click true.
4. In **System Console** find **USER MANAGEMENT** and click on **Users**.
5. Identify the account you want to create a personal access token with. By default, only System Admins have permissions to create a personal access token. To create an access token with a non-admin account, you must first give it the appropriate permissions. Find the user account, then select **Manage Roles** from the dropdown.
6. Select **Allow this account to generate personal access tokens** and **post:all** and then click **Save**.
7. Go back to your profile and go to **Account Settings**.
8. Go to **Security** and under Personal Access Token click **Edit**.
9. Select **Create Token**.
10. Enter a description for the token and then select **Save**.
11. Copy the access token and use it in ByteChef.
## Actions [#actions]
### Send message [#send-message]
Name: sendMessage
`Send message to a channel.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :----: | :--------------------------------: | :------: |
| channel\_id | Channel Id | STRING | The channel ID to send message to. | true |
| message | Message | STRING | The message contents. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send message",
"name" : "sendMessage",
"parameters" : {
"channel_id" : "",
"message" : ""
},
"type" : "mattermost/v1/sendMessage"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------: |
| id | STRING | ID of the message. |
| create\_at | INTEGER | The time in milliseconds a post was created. |
| update\_at | INTEGER | The time in milliseconds a post was last updated. |
| edit\_at | INTEGER | The time in milliseconds a post was last edited. |
| delete\_at | INTEGER | The time in milliseconds a post was deleted. |
| is\_pinned | BOOLEAN Options true , false | True if post is pinned to the channel it is in. |
| user\_id | STRING | ID of the user. |
| channel\_id | STRING | ID of the channel. |
| root\_id | STRING | Post ID if post is created as a comment on another post. |
| parent\_id | STRING | |
| original\_id | STRING | |
| message | STRING | The actual content of the message. |
| type | STRING | |
| props | OBJECT Properties \{} | |
| hashtags | STRING | Any hashtags included in the message content. |
| pending\_post\_id | STRING | |
| reply\_count | INTEGER | Number of replies to this message. |
| last\_reply\_at | INTEGER | The time in milliseconds of the most recent reply. |
| participants | OBJECT Properties \{} | |
| is\_following | BOOLEAN Options true , false | |
| metadata | OBJECT Properties \{\[\{STRING(type), STRING(url), \{}(data)}]\(embeds), \[\{STRING(id), STRING(creator\_id), STRING(name), INTEGER(create\_at), INTEGER(update\_at), INTEGER(delete\_at)}]\(emojis), \[\{STRING(id), STRING(user\_id), STRING(post\_id), INTEGER(create\_at), INTEGER(update\_at), INTEGER(delete\_at), STRING(name), STRING(extension), INTEGER(size), STRING(mime\_type), INTEGER(width), INTEGER(height), BOOLEAN(has\_preview\_image)}]\(files), \[\{INTEGER(height), INTEGER(width)}]\(images), \[\{STRING(user\_id), STRING(post\_id), STRING(emoji\_name), INTEGER(create\_at)}]\(reactions)} | Additional information used to display the post. |
#### Output Example [#output-example]
```json
{
"id" : "",
"create_at" : 1,
"update_at" : 1,
"edit_at" : 1,
"delete_at" : 1,
"is_pinned" : false,
"user_id" : "",
"channel_id" : "",
"root_id" : "",
"parent_id" : "",
"original_id" : "",
"message" : "",
"type" : "",
"props" : { },
"hashtags" : "",
"pending_post_id" : "",
"reply_count" : 1,
"last_reply_at" : 1,
"participants" : { },
"is_following" : false,
"metadata" : {
"embeds" : [ {
"type" : "",
"url" : "",
"data" : { }
} ],
"emojis" : [ {
"id" : "",
"creator_id" : "",
"name" : "",
"create_at" : 1,
"update_at" : 1,
"delete_at" : 1
} ],
"files" : [ {
"id" : "",
"user_id" : "",
"post_id" : "",
"create_at" : 1,
"update_at" : 1,
"delete_at" : 1,
"name" : "",
"extension" : "",
"size" : 1,
"mime_type" : "",
"width" : 1,
"height" : 1,
"has_preview_image" : false
} ],
"images" : [ {
"height" : 1,
"width" : 1
} ],
"reactions" : [ {
"user_id" : "",
"post_id" : "",
"emoji_name" : "",
"create_at" : 1
} ]
}
}
```
#### Find Channel ID [#find-channel-id]
To find the Channel ID, click [here](/reference/components/mattermost_v1#how-to-find-the-channel-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Channel ID [#how-to-find-the-channel-id]
* **Method 1: Via API**
Use the `GET /channels` endpoint to retrieve a list of all channels and their numeric IDs.
* **Method 2: Via UI**
Open the channel from left side bar. Select the channel name at the top. Click on View Info and there you have a Channel ID.
The Channel ID can also be found in the output of the following actions:
* **Send Message**
# ByteChef Reference: Mautic
URL: /reference/components/mautic_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mautic_v1.mdx
Simplifying campaign design and optimization with a user-friendly click-and-drag interface allowing you to build complex campaigns.
Categories: Marketing Automation
Type: mautic/v1
## Connections [#connections]
Version: 1
### Mautic Basic Auth [#mautic-basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| baseUrl | Base URL | STRING | Open your Mautic instance and copy the URL from the address bar. If your dashboard link is "[https://mautic.ddev.site/s/dashboard](https://mautic.ddev.site/s/dashboard)", set your base URL as "[https://mautic.ddev.site/](https://mautic.ddev.site/)". | true |
| username | Username | STRING | | true |
| password | Password | STRING | | true |
## Actions [#actions]
### Create Company [#create-company]
Name: createCompany
`Creates a new company.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------------: | :------------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: | :------: |
| companyname | Company Name | STRING | | true |
| isPublished | Is Published | INTEGER Options 1 , 0 | Will the company be published after creation. | true |
| overwriteWithBlank | Overwrite With Blank | BOOLEAN Options true , false | If true, then empty values are set to fields.Otherwise empty values are skipped. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Company",
"name" : "createCompany",
"parameters" : {
"companyname" : "",
"isPublished" : 1,
"overwriteWithBlank" : false
},
"type" : "mautic/v1/createCompany"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------: |
| id | STRING | ID of the company. |
| isPublished | BOOLEAN Options true , false | Whether the company is published. |
| dateAdded | DATE | Date/time company was created. |
| createdBy | INTEGER | ID of the user that created the company. |
| createdByUser | STRING | Name of the user that created the company. |
| dateModified | DATE | Date/time company was last modified. |
| modifiedBy | INTEGER | ID of the user that last modified the company. |
| modifiedByUser | STRING | Name of the user that last modified the company. |
| fields | ARRAY Items \[] | Custom fields for the company. |
#### Output Example [#output-example]
```json
{
"id" : "",
"isPublished" : false,
"dateAdded" : "2021-01-01",
"createdBy" : 1,
"createdByUser" : "",
"dateModified" : "2021-01-01",
"modifiedBy" : 1,
"modifiedByUser" : "",
"fields" : [ ]
}
```
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------------: | :------------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: | :------: |
| firstname | First Name | STRING | | true |
| lastname | Last Name | STRING | | true |
| email | Email | STRING | | true |
| overwriteWithBlank | Overwrite With Blank | BOOLEAN Options true , false | If true, then empty values are set to fields.Otherwise empty values are skipped. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"firstname" : "",
"lastname" : "",
"email" : "",
"overwriteWithBlank" : false
},
"type" : "mautic/v1/createContact"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------: |
| id | STRING | ID of the contact. |
| isPublished | BOOLEAN Options true , false | Whether the contact is published. |
| dateAdded | DATE | Date/time contact was created. |
| createdBy | INTEGER | ID of the user that created the contact. |
| createdByUser | STRING | Name of the user that created the contact. |
| dateModified | DATE | Date/time company was last modified. |
| modifiedBy | INTEGER | ID of the user that last modified the contact. |
| modifiedByUser | STRING | Name of the user that last modified the contact. |
| owner | OBJECT Properties \{} | User object that owns the contact. |
| points | INTEGER | Contact's current number of points. |
| lastActive | DATE | Date/time for when the contact was last recorded as active. |
| dateIdentified | DATE | Date/time when the contact identified themselves. |
| color | STRING | Hex value given to contact from Point Trigger definitions based on the number of points the contact has been awarded. |
| ipAddresses | ARRAY Items \[] | Array of IPs currently associated with this contact. |
| fields | ARRAY Items \[] | Custom fields for the contact. |
| tags | ARRAY Items \[] | Array of tags associated with this contact. |
| utmtags | ARRAY Items \[] | Array of UTM Tags associated with this contact. |
| doNotContact | ARRAY Items \[] | Array of Do Not Contact objects. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"isPublished" : false,
"dateAdded" : "2021-01-01",
"createdBy" : 1,
"createdByUser" : "",
"dateModified" : "2021-01-01",
"modifiedBy" : 1,
"modifiedByUser" : "",
"owner" : { },
"points" : 1,
"lastActive" : "2021-01-01",
"dateIdentified" : "2021-01-01",
"color" : "",
"ipAddresses" : [ ],
"fields" : [ ],
"tags" : [ ],
"utmtags" : [ ],
"doNotContact" : [ ]
}
```
### Get Company [#get-company]
Name: getCompany
`Get individual company.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--: | :--------: | :----: | :-------------------------------------: | :------: |
| id | Company ID | STRING | ID of the company you want to retrieve. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Company",
"name" : "getCompany",
"parameters" : {
"id" : ""
},
"type" : "mautic/v1/getCompany"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------: |
| id | STRING | ID of the company. |
| isPublished | BOOLEAN Options true , false | Whether the company is published. |
| dateAdded | DATE | Date/time company was created. |
| createdBy | INTEGER | ID of the user that created the company. |
| createdByUser | STRING | Name of the user that created the company. |
| dateModified | DATE | Date/time company was last modified. |
| modifiedBy | INTEGER | ID of the user that last modified the company. |
| modifiedByUser | STRING | Name of the user that last modified the company. |
| fields | ARRAY Items \[] | Custom fields for the company. |
#### Output Example [#output-example-2]
```json
{
"id" : "",
"isPublished" : false,
"dateAdded" : "2021-01-01",
"createdBy" : 1,
"createdByUser" : "",
"dateModified" : "2021-01-01",
"modifiedBy" : 1,
"modifiedByUser" : "",
"fields" : [ ]
}
```
### Get Contact [#get-contact]
Name: getContact
`Get individual contact.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--: | :--------: | :----: | :-------------------------------------: | :------: |
| id | Contact ID | STRING | ID of the contact you want to retrieve. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Get Contact",
"name" : "getContact",
"parameters" : {
"id" : ""
},
"type" : "mautic/v1/getContact"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------: |
| id | STRING | ID of the contact. |
| isPublished | BOOLEAN Options true , false | Whether the contact is published. |
| dateAdded | DATE | Date/time contact was created. |
| createdBy | INTEGER | ID of the user that created the contact. |
| createdByUser | STRING | Name of the user that created the contact. |
| dateModified | DATE | Date/time company was last modified. |
| modifiedBy | INTEGER | ID of the user that last modified the contact. |
| modifiedByUser | STRING | Name of the user that last modified the contact. |
| owner | OBJECT Properties \{} | User object that owns the contact. |
| points | INTEGER | Contact's current number of points. |
| lastActive | DATE | Date/time for when the contact was last recorded as active. |
| dateIdentified | DATE | Date/time when the contact identified themselves. |
| color | STRING | Hex value given to contact from Point Trigger definitions based on the number of points the contact has been awarded. |
| ipAddresses | ARRAY Items \[] | Array of IPs currently associated with this contact. |
| fields | ARRAY Items \[] | Custom fields for the contact. |
| tags | ARRAY Items \[] | Array of tags associated with this contact. |
| utmtags | ARRAY Items \[] | Array of UTM Tags associated with this contact. |
| doNotContact | ARRAY Items \[] | Array of Do Not Contact objects. |
#### Output Example [#output-example-3]
```json
{
"id" : "",
"isPublished" : false,
"dateAdded" : "2021-01-01",
"createdBy" : 1,
"createdByUser" : "",
"dateModified" : "2021-01-01",
"modifiedBy" : 1,
"modifiedByUser" : "",
"owner" : { },
"points" : 1,
"lastActive" : "2021-01-01",
"dateIdentified" : "2021-01-01",
"color" : "",
"ipAddresses" : [ ],
"fields" : [ ],
"tags" : [ ],
"utmtags" : [ ],
"doNotContact" : [ ]
}
```
# ByteChef Reference: MCP Client
URL: /reference/components/mcp-client_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mcp-client_v1.mdx
Connects to external MCP servers to discover and call their tools.
Categories: Helpers, Developer Tools
Type: mcpClient/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :----: | :-------------------------------------: | :------: |
| authorizationUrl | Authorization URL | STRING | | true |
| tokenUrl | Token URL | STRING | | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| headerPrefix | Header Prefix | STRING | | false |
| scopes | Scopes | STRING | Optional comma-delimited list of scopes | false |
### OAuth2 Client Credentials [#oauth2-client-credentials]
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :-------------------------------------: | :------: |
| tokenUrl | Token URL | STRING | | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| headerPrefix | Header Prefix | STRING | | false |
| scopes | Scopes | STRING | Optional comma-delimited list of scopes | false |
## Actions [#actions]
### Call Tool [#call-tool]
Name: callTool
`Connects to an MCP server and calls a specific tool with the provided arguments.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------: | :-------: | :-------------------------------------------------------------------------------: | :---------------------------------------------: | :------: |
| toolName | Tool Name | STRING | The name of the tool to call on the MCP server. | true |
| toolArguments | | DYNAMIC\_PROPERTIES Depends On toolName | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Call Tool",
"name" : "callTool",
"parameters" : {
"toolName" : "",
"toolArguments" : { }
},
"type" : "mcpClient/v1/callTool"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Merge Helper
URL: /reference/components/mergeHelper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mergeHelper_v1.mdx
Combine multiple inputs into one output.
Categories: Helpers
Type: mergeHelper/v1
## Actions [#actions]
### Append [#append]
Name: append
`Takes multiple input items and combines them into a single array by appending all entries, keeping all keys.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-------------------------------------------------------: | :-----------------------------------------------------------------: | :------: |
| inputs | Inputs | ARRAY Items \[] | A collection of objects, arrays, or nested structures to be merged. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Append",
"name" : "append",
"parameters" : {
"inputs" : [ ]
},
"type" : "mergeHelper/v1/append"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Combine [#combine]
Name: combine
`Combine data from two inputs.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------: | :------: |
| combineBy | Combine By | STRING Options matchingFields , position , allPossibleCombinations | Determines how input items are combined. | true |
| fieldToMatch | Field to Match | STRING | The field to match for combining items. | true |
| input1 | Input 1 | ARRAY Items \[] | The first input to combine. | true |
| input2 | Input 2 | ARRAY Items \[] | The second input to combine. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Combine",
"name" : "combine",
"parameters" : {
"combineBy" : "",
"fieldToMatch" : "",
"input1" : [ ],
"input2" : [ ]
},
"type" : "mergeHelper/v1/combine"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### SQL Query [#sql-query]
Name: sqlQuery
`Write SQL Query to merge the data with DuckDB.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :---------------------------------------------------------------------------------------: | :-----------------------------------------------------------------: | :------: |
| inputs | Inputs | ARRAY Items \[\{STRING(tableName), \{}(value)}] | A collection of objects, arrays, or nested structures to be merged. | true |
| sqlQuery | SQL Query | STRING | The SQL query to execute. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "SQL Query",
"name" : "sqlQuery",
"parameters" : {
"inputs" : [ {
"tableName" : "",
"value" : { }
} ],
"sqlQuery" : ""
},
"type" : "mergeHelper/v1/sqlQuery"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Microsoft Dynamics CRM
URL: /reference/components/microsoft-dynamics-crm_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/microsoft-dynamics-crm_v1.mdx
Microsoft Dynamics CRM is a customer relationship management software that helps businesses manage customer interactions, sales, marketing, and customer service processes efficiently.
Categories: CRM
Type: microsoftDynamicsCrm/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------------: | :----: | :---------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| tenantId | Tenant Id | STRING | | true |
| hostUrl | Host URL | STRING | Host URL without trailing slash. For example **[https://demo.crm.dynamics.com](https://demo.crm.dynamics.com)** | true |
| proxyUrl | Proxy URL with Port | STRING | Only to use for establishing connections (only needed when proxying requests). For example **[https://proxy.com:8080](https://proxy.com:8080)**. | false |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/microsoft-graph-application-setup_v1).
### Grant Necessary Permissions [#grant-necessary-permissions]
1. Open the Azure Portal: [https://portal.azure.com/](https://portal.azure.com/)
2. Click on **App registrations**.
3. Click on **All applications**.
4. Click on the application you want to connect to Microsoft Dynamics CRM.
5. Click on **API permissions**.
6. Select **Dynamics CRM**.
7. Select **Delegated permissions**.
8. Select the following scopes:
* `user_impersonation`
9. After selecting all the scopes, click on **Update permissions**
## Actions [#actions]
### Create Record [#create-record]
Name: createRecord
`Creates a new record.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :---------------------------------------------------------------------------------: | :---------------------------------------------------------------: | :------: |
| entityType | Entity Type | STRING | Select or map the entity for which you want to create the record. | true |
| fields | | DYNAMIC\_PROPERTIES Depends On entityType | | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Record",
"name" : "createRecord",
"parameters" : {
"entityType" : "",
"fields" : { }
},
"type" : "microsoftDynamicsCrm/v1/createRecord"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Delete Record [#delete-record]
Name: deleteRecord
`Creates a new record.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :--------------------------------------------------------------------: | :-------------------------------------------------------------: | :------: |
| entityType | Entity Type | STRING | Select or map the entity name whose records you want to delete. | true |
| recordId | Record ID | STRING Depends On entityType | | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Record",
"name" : "deleteRecord",
"parameters" : {
"entityType" : "",
"recordId" : ""
},
"type" : "microsoftDynamicsCrm/v1/deleteRecord"
}
```
#### Output [#output-1]
This action does not produce any output.
### Get Record [#get-record]
Name: getRecord
`Retrieves an existing record.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :--------------------------------------------------------------------: | :---------------------------------------------------------------: | :------: |
| entityType | Entity Type | STRING | Select or map the entity name whose records you want to retrieve. | true |
| recordId | Record ID | STRING Depends On entityType | | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Record",
"name" : "getRecord",
"parameters" : {
"entityType" : "",
"recordId" : ""
},
"type" : "microsoftDynamicsCrm/v1/getRecord"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### List Records [#list-records]
Name: listRecords
`Retrieves all records of a given entity type.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----: | :---------------------------------------------------------------: | :------: |
| entityType | Entity Type | STRING | Select or map the entity name whose records you want to retrieve. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Records",
"name" : "listRecords",
"parameters" : {
"entityType" : ""
},
"type" : "microsoftDynamicsCrm/v1/listRecords"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Record [#update-record]
Name: updateRecord
`Updates an existing record.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :---------------------------------------------------------------------------------: | :---------------------------------------------------------------: | :------: |
| entityType | Entity Type | STRING | Select or map the entity for which you want to update the record. | true |
| recordId | Record ID | STRING Depends On entityType | | true |
| fields | | DYNAMIC\_PROPERTIES Depends On entityType | | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Update Record",
"name" : "updateRecord",
"parameters" : {
"entityType" : "",
"recordId" : "",
"fields" : { }
},
"type" : "microsoftDynamicsCrm/v1/updateRecord"
}
```
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
## Triggers [#triggers]
### New Account [#new-account]
Name: newAccount
`Triggers when new account is created.`
Type: POLLING
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Account",
"name" : "newAccount",
"type" : "microsoftDynamicsCrm/v1/newAccount"
}
```
### Updated Account [#updated-account]
Name: updatedAccount
`Triggers when an account is updated.`
Type: POLLING
#### Output [#output-6]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-1]
```json
{
"label" : "Updated Account",
"name" : "updatedAccount",
"type" : "microsoftDynamicsCrm/v1/updatedAccount"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Microsoft Excel
URL: /reference/components/microsoft-excel_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/microsoft-excel_v1.mdx
Microsoft Excel is a spreadsheet program used for organizing, analyzing, and visualizing data in tabular form.
Categories: Productivity and Collaboration
Type: microsoftExcel/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| tenantId | Tenant Id | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/microsoft-graph-application-setup_v1).
### Grant Necessary Permissions [#grant-necessary-permissions]
1. Open the Azure Portal: [https://portal.azure.com/](https://portal.azure.com/)
2. Click on **App registrations**.
3. Click on **All applications**.
4. Click on application you want to connect to Microsoft Excel.
5. Click on **API permissions**.
6. Click on **Microsoft Graph (1)**.
7. Select following scopes:
* Files.ReadWrite
* offline\_access
8. After selecting all the scopes click on **Update permissions**
## Actions [#actions]
### Append Row [#append-row]
Name: appendRow
`Append a row of values to an existing worksheet.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------------: | :----------------------: | :---------------------------------------------------------------------------------------------------------------------: | :-------------------------: | :------: |
| workbookId | Workbook ID | STRING | The ID of the workbook. | true |
| worksheetName | Worksheet | STRING Depends On workbookId | The name of the worksheet. | true |
| isTheFirstRowHeader | Is the First Row Header? | BOOLEAN Options true , false | If the first row is header. | true |
| row | | DYNAMIC\_PROPERTIES Depends On isTheFirstRowHeader, worksheetName, workbookId | | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Append Row",
"name" : "appendRow",
"parameters" : {
"workbookId" : "",
"worksheetName" : "",
"isTheFirstRowHeader" : false,
"row" : { }
},
"type" : "microsoftExcel/v1/appendRow"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Workbook ID [#find-workbook-id]
To find the Workbook ID, click [here](/reference/components/microsoft-excel_v1#how-to-find-workbook-id).
#### Find Worksheet Name [#find-worksheet-name]
To find the Worksheet name, click [here](/reference/components/microsoft-excel_v1#how-to-find-worksheet-name).
### Clear Worksheet [#clear-worksheet]
Name: clearWorksheet
`Clear a worksheet of all values.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----------------: | :----------------------: | :---------------------------------------------------------------------------------------------: | :-------------------------: | :------: |
| workbookId | Workbook ID | STRING | The ID of the workbook. | true |
| worksheetName | Worksheet | STRING Depends On workbookId | The name of the worksheet. | true |
| isTheFirstRowHeader | Is the First Row Header? | BOOLEAN Options true , false | If the first row is header. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Clear Worksheet",
"name" : "clearWorksheet",
"parameters" : {
"workbookId" : "",
"worksheetName" : "",
"isTheFirstRowHeader" : false
},
"type" : "microsoftExcel/v1/clearWorksheet"
}
```
#### Output [#output-1]
This action does not produce any output.
#### Find Workbook ID [#find-workbook-id-1]
To find the Workbook ID, click [here](/reference/components/microsoft-excel_v1#how-to-find-workbook-id).
#### Find Worksheet Name [#find-worksheet-name-1]
To find the Worksheet name, click [here](/reference/components/microsoft-excel_v1#how-to-find-worksheet-name).
### Create Worksheet [#create-worksheet]
Name: createWorksheet
`Creates a new worksheet in the specified workbook.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :------------: | :----: | :----------------------------: | :------: |
| workbookId | Workbook ID | STRING | The ID of the workbook. | true |
| name | Worksheet Name | STRING | The name of the new worksheet. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Worksheet",
"name" : "createWorksheet",
"parameters" : {
"workbookId" : "",
"name" : ""
},
"type" : "microsoftExcel/v1/createWorksheet"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------: | :-----: | :----------------------------------: |
| @odata.context | STRING | The OData context URL. |
| @odata.id | STRING | The OData ID. |
| id | STRING | The ID of the new worksheet. |
| position | INTEGER | The position of the new worksheet. |
| name | STRING | The name of the new worksheet. |
| visibility | STRING | The visibility of the new worksheet. |
#### Output Example [#output-example]
```json
{
"@odata.context" : "",
"@odata.id" : "",
"id" : "",
"position" : 1,
"name" : "",
"visibility" : ""
}
```
#### Find Workbook ID [#find-workbook-id-2]
To find the Workbook ID, click [here](/reference/components/microsoft-excel_v1#how-to-find-workbook-id).
### Delete Row [#delete-row]
Name: deleteRow
`Delete row on an existing sheet.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----------: | :---------: | :--------------------------------------------------------------------: | :------------------------: | :------: |
| workbookId | Workbook ID | STRING | The ID of the workbook. | true |
| worksheetName | Worksheet | STRING Depends On workbookId | The name of the worksheet. | true |
| rowNumber | Row Number | INTEGER | The row number to delete. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete Row",
"name" : "deleteRow",
"parameters" : {
"workbookId" : "",
"worksheetName" : "",
"rowNumber" : 1
},
"type" : "microsoftExcel/v1/deleteRow"
}
```
#### Output [#output-3]
This action does not produce any output.
#### Find Workbook ID [#find-workbook-id-3]
To find the Workbook ID, click [here](/reference/components/microsoft-excel_v1#how-to-find-workbook-id).
#### Find Worksheet Name [#find-worksheet-name-2]
To find the Worksheet name, click [here](/reference/components/microsoft-excel_v1#how-to-find-worksheet-name).
### Find Row by Number [#find-row-by-number]
Name: findRowByNum
`Get row values from the worksheet by the row number.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :-----------------: | :----------------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------: | :------: |
| workbookId | Workbook ID | STRING | The ID of the workbook. | true |
| worksheetName | Worksheet | STRING Depends On workbookId | The name of the worksheet. | true |
| isTheFirstRowHeader | Is the First Row Header? | BOOLEAN Options true , false | If the first row is header. | true |
| rowNumber | Row Number | INTEGER | The row number to get the values from. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Find Row by Number",
"name" : "findRowByNum",
"parameters" : {
"workbookId" : "",
"worksheetName" : "",
"isTheFirstRowHeader" : false,
"rowNumber" : 1
},
"type" : "microsoftExcel/v1/findRowByNum"
}
```
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Workbook ID [#find-workbook-id-4]
To find the Workbook ID, click [here](/reference/components/microsoft-excel_v1#how-to-find-workbook-id).
#### Find Worksheet Name [#find-worksheet-name-3]
To find the Worksheet name, click [here](/reference/components/microsoft-excel_v1#how-to-find-worksheet-name).
### List Worksheets [#list-worksheets]
Name: listWorksheets
`List all worksheets in the specified workbook.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----: | :---------------------: | :------: |
| workbookId | Workbook ID | STRING | The ID of the workbook. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "List Worksheets",
"name" : "listWorksheets",
"parameters" : {
"workbookId" : ""
},
"type" : "microsoftExcel/v1/listWorksheets"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--------: | :-----: | :----------------------------------: |
| @odata.id | STRING | The OData ID. |
| id | STRING | The ID of the new worksheet. |
| position | INTEGER | The position of the new worksheet. |
| name | STRING | The name of the new worksheet. |
| visibility | STRING | The visibility of the new worksheet. |
#### Output Example [#output-example-1]
```json
{
"@odata.id" : "",
"id" : "",
"position" : 1,
"name" : "",
"visibility" : ""
}
```
#### Find Workbook ID [#find-workbook-id-5]
To find the Workbook ID, click [here](/reference/components/microsoft-excel_v1#how-to-find-workbook-id).
### Update Row [#update-row]
Name: updateRow
`Update a row in an existing worksheet.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :-----------------: | :----------------------: | :-------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------: | :------: |
| workbookId | Workbook ID | STRING | The ID of the workbook. | true |
| worksheetName | Worksheet | STRING Depends On workbookId | The name of the worksheet. | true |
| rowNumber | Row Number | INTEGER | The row number to update. | true |
| isTheFirstRowHeader | Is the First Row Header? | BOOLEAN Options true , false | If the first row is header. | true |
| updateWholeRow | Update Whole Row | BOOLEAN Options true , false | Whether to update the whole row or just specific columns. | true |
| row | | DYNAMIC\_PROPERTIES Depends On workbookId, worksheetName, isTheFirstRowHeader, updateWholeRow | | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Update Row",
"name" : "updateRow",
"parameters" : {
"workbookId" : "",
"worksheetName" : "",
"rowNumber" : 1,
"isTheFirstRowHeader" : false,
"updateWholeRow" : false,
"row" : { }
},
"type" : "microsoftExcel/v1/updateRow"
}
```
#### Output [#output-6]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Workbook ID [#find-workbook-id-6]
To find the Workbook ID, click [here](/reference/components/microsoft-excel_v1#how-to-find-workbook-id).
#### Find Worksheet Name [#find-worksheet-name-4]
To find the Worksheet name, click [here](/reference/components/microsoft-excel_v1#how-to-find-worksheet-name).
## Triggers [#triggers]
### New Row [#new-row]
Name: newRow
`Triggers when a new row is added.`
Type: POLLING
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :-----------------: | :----------------------: | :---------------------------------------------------------------------------------------------: | :-------------------------: | :------: |
| workbookId | Workbook ID | STRING | The ID of the workbook. | true |
| worksheetName | Worksheet | STRING Depends On workbookId | The name of the worksheet. | true |
| isTheFirstRowHeader | Is the First Row Header? | BOOLEAN Options true , false | If the first row is header. | true |
#### Output [#output-7]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Row",
"name" : "newRow",
"parameters" : {
"workbookId" : "",
"worksheetName" : "",
"isTheFirstRowHeader" : false
},
"type" : "microsoftExcel/v1/newRow"
}
```
#### Find Workbook ID [#find-workbook-id-7]
To find the Workbook ID, click [here](/reference/components/microsoft-excel_v1#how-to-find-workbook-id).
#### Find Worksheet Name [#find-worksheet-name-5]
To find the Worksheet name, click [here](/reference/components/microsoft-excel_v1#how-to-find-worksheet-name).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Workbook ID [#how-to-find-workbook-id]
#### Via API [#via-api]
Use the `GET https://graph.microsoft.com/v1.0/me/drive/items/root/search(q='.xlsx')` endpoint.
### How to find Worksheet Name [#how-to-find-worksheet-name]
To find a Worksheet Name, open the workbook. Below the worksheet you will find a bar with worksheet names.
# ByteChef Reference: Microsoft Application Setup
URL: /reference/components/microsoft-graph-application-setup_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/microsoft-graph-application-setup_v1.mdx
Steps for setting up Microsoft Graph API for every Microsoft component.
## Connection Setup [#connection-setup]
Connect Microsoft Graph to ByteChef using OAuth 2.0 Authorization Code.
1. Open the Azure Portal: [https://portal.azure.com/](https://portal.azure.com/)
2. Click on **Microsoft Entra ID**.
3. Click on **Add**.
4. Click on **App registrations**.
5. Fill the form:
* Name: e.g., "ByteChef Integration"
* Supported account types: pick one based on who will log in
* Redirect URI (optional for now): Platform = Web, URI = your ByteChef callback, e.g.:
* `https://app.bytechef.io/callback` (Cloud)
* `http://localhost:5173/callback` (Local dev)
6. Click "Register".
7. After registration, copy:
* Application (client) ID - used as Client ID in ByteChef
* Directory (tenant) ID - used as Tenant ID in ByteChef
8. In your app, open **Certificates & secrets**
9. Click on **+New client secret**.
10. Add a description and choose an expiry.
11. Create and copy the generated secret value → used as Client Secret in ByteChef. Store it securely.
For Microsoft Graph, the base URL is: [https://graph.microsoft.com/v1.0](https://graph.microsoft.com/v1.0)
# ByteChef Reference: Microsoft OneDrive
URL: /reference/components/microsoft-one-drive_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/microsoft-one-drive_v1.mdx
Microsoft OneDrive is a cloud storage service provided by Microsoft for storing, accessing, and sharing files online.
Categories: File Storage
Type: microsoftOneDrive/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| tenantId | Tenant Id | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/microsoft-graph-application-setup_v1).
### Grant Necessary Permissions [#grant-necessary-permissions]
1. Open the Azure Portal: [https://portal.azure.com/](https://portal.azure.com/)
2. Click on **App registrations**.
3. Click on **All applications**.
4. Click on application you want to connect to Microsoft OneDrive.
5. Click on **API permissions**.
6. Click on **Microsoft Graph (1)**.
7. Select following scopes:
* Files.ReadWrite
* offline\_access
8. After selecting all the scopes click on **Update permissions**
## Actions [#actions]
### Copy File [#copy-file]
Name: copyFile
`Copy a selected file to a different location within Microsoft OneDrive.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :-------------------: | :----: | :--------------------------------------------------------------------------------------------------------: | :------: |
| id | File ID | STRING | ID of the file to copy. | true |
| name | New File Name | STRING | The new name for the copy. If this isn't provided, the same name will be used as the original. | false |
| parentId | Destination Folder ID | STRING | The ID of the folder where the copied file will be stored. If not specified, the root folder will be used. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Copy File",
"name" : "copyFile",
"parameters" : {
"id" : "",
"name" : "",
"parentId" : ""
},
"type" : "microsoftOneDrive/v1/copyFile"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----------------: | :-----: | :-------------------------------------------------: |
| @odata.context | STRING | |
| id | STRING | ID of the copied file. |
| createdDateTime | STRING | The date and time when the copied file was created. |
| lastActionDateTime | STRING | |
| percentageComplete | INTEGER | Percentage completion of the copy operation. |
| resourceId | STRING | |
| resourceLocation | STRING | |
| status | STRING | Status of the copy operation. |
#### Output Example [#output-example]
```json
{
"@odata.context" : "",
"id" : "",
"createdDateTime" : "",
"lastActionDateTime" : "",
"percentageComplete" : 1,
"resourceId" : "",
"resourceLocation" : "",
"status" : ""
}
```
#### Find File ID [#find-file-id]
To find the File ID, click [here](/reference/components/microsoft-one-drive_v1#how-to-find-file-id).
#### Find Folder ID [#find-folder-id]
To find the Folder ID, click [here](/reference/components/microsoft-one-drive_v1#how-to-find-folder-id).
### Create New Folder [#create-new-folder]
Name: createNewFolder
`Creates a new empty folder in Microsoft OneDrive.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----: | :-----------------------------------------------------------------------------------------------------------------------------: | :------: |
| name | Folder Name | STRING | The name of the new folder. | true |
| parentId | Parent Folder ID | STRING | ID of the folder where the new folder will be created; if no folder is selected, the folder will be created in the root folder. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create New Folder",
"name" : "createNewFolder",
"parameters" : {
"name" : "",
"parentId" : ""
},
"type" : "microsoftOneDrive/v1/createNewFolder"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------------: | :-----------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the folder was created. |
| eTag | STRING | |
| id | STRING | ID of the folder. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the folder was last modified. |
| name | STRING | Name of the folder. |
| size | INTEGER | Size of the folder in bytes. |
| webUrl | STRING | URL to access the folder in a web browser. |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| folder | OBJECT Properties \{INTEGER(childCount)} | |
#### Output Example [#output-example-1]
```json
{
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"folder" : {
"childCount" : 1
}
}
```
### Create New Text File [#create-new-text-file]
Name: createNewTextFile
`Creates a new text file in Microsoft OneDrive.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :------: |
| name | File Name | STRING | The name of the new text file. | true |
| text | Text | STRING | The text content to add to file. | true |
| mimeType | File Type | STRING Options plain/text , text/csv , text/xml | Select file type. | true |
| parentId | Parent Folder ID | STRING | ID of the folder where the file should be created; if no folder is selected, the file will be created in the root folder. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create New Text File",
"name" : "createNewTextFile",
"parameters" : {
"name" : "",
"text" : "",
"mimeType" : "",
"parentId" : ""
},
"type" : "microsoftOneDrive/v1/createNewTextFile"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------------------: | :--------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the file was created. |
| eTag | STRING | |
| id | STRING | ID of the file. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the file was last modified. |
| name | STRING | Name of the created file. |
| size | INTEGER | Size of the file in bytes. |
| webUrl | STRING | URL to access the file in a web browser. |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| file | OBJECT Properties \{\{STRING(quickXorHash)}(hashes), STRING(mimeType)} | |
#### Output Example [#output-example-2]
```json
{
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"file" : {
"hashes" : {
"quickXorHash" : ""
},
"mimeType" : ""
}
}
```
#### Find Folder ID [#find-folder-id-1]
To find the Folder ID, click [here](/reference/components/microsoft-one-drive_v1#how-to-find-folder-id).
### Delete File [#delete-file]
Name: deleteFile
`Delete a selected file from Microsoft One Drive.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--: | :-----: | :----: | :-------------------------: | :------: |
| id | File ID | STRING | The id of a file to delete. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete File",
"name" : "deleteFile",
"parameters" : {
"id" : ""
},
"type" : "microsoftOneDrive/v1/deleteFile"
}
```
#### Output [#output-3]
This action does not produce any output.
#### Find File ID [#find-file-id-1]
To find the File ID, click [here](/reference/components/microsoft-one-drive_v1#how-to-find-file-id).
### Download File [#download-file]
Name: downloadFile
`Download a file from your Microsoft OneDrive.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :--: | :-----: | :----: | :-------------------------: | :------: |
| id | File ID | STRING | ID of the file to download. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Download File",
"name" : "downloadFile",
"parameters" : {
"id" : ""
},
"type" : "microsoftOneDrive/v1/downloadFile"
}
```
#### Output [#output-4]
Type: FILE\_ENTRY
#### Properties [#properties-9]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-3]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Find File ID [#find-file-id-2]
To find the File ID, click [here](/reference/components/microsoft-one-drive_v1#how-to-find-file-id).
### Get File [#get-file]
Name: getFile
`Retrieve a specified file from your Microsoft OneDrive.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :--: | :-----: | :----: | :-------------------------: | :------: |
| id | File ID | STRING | ID of the file to retrieve. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get File",
"name" : "getFile",
"parameters" : {
"id" : ""
},
"type" : "microsoftOneDrive/v1/getFile"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-11]
| Name | Type | Description |
| :------------------: | :--------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the file was created. |
| eTag | STRING | |
| id | STRING | ID of the file. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the file was last modified. |
| name | STRING | Name of the created file. |
| size | INTEGER | Size of the file in bytes. |
| webUrl | STRING | URL to access the file in a web browser. |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| file | OBJECT Properties \{\{STRING(quickXorHash)}(hashes), STRING(mimeType)} | |
#### Output Example [#output-example-4]
```json
{
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"file" : {
"hashes" : {
"quickXorHash" : ""
},
"mimeType" : ""
}
}
```
#### Find File ID [#find-file-id-3]
To find the File ID, click [here](/reference/components/microsoft-one-drive_v1#how-to-find-file-id).
### List Files [#list-files]
Name: listFiles
`List files in a OneDrive folder.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----: | :----------------------------------------------------------------------------------------------------------: | :------: |
| parentId | Parent Folder ID | STRING | ID of the folder from which you want to list files. If no folder is specified, the root folder will be used. | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "List Files",
"name" : "listFiles",
"parameters" : {
"parentId" : ""
},
"type" : "microsoftOneDrive/v1/listFiles"
}
```
#### Output [#output-6]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-13]
| Name | Type | Description |
| :------------------: | :--------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the file was created. |
| eTag | STRING | |
| id | STRING | ID of the file. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the file was last modified. |
| name | STRING | Name of the created file. |
| size | INTEGER | Size of the file in bytes. |
| webUrl | STRING | URL to access the file in a web browser. |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| file | OBJECT Properties \{\{STRING(quickXorHash)}(hashes), STRING(mimeType)} | |
#### Output Example [#output-example-5]
```json
[ {
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"file" : {
"hashes" : {
"quickXorHash" : ""
},
"mimeType" : ""
}
} ]
```
#### Find Folder ID [#find-folder-id-2]
To find the Folder ID, click [here](/reference/components/microsoft-one-drive_v1#how-to-find-folder-id).
### List Folders [#list-folders]
Name: listFolders
`List folders in a OneDrive folder.`
#### Properties [#properties-14]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----: | :------------------------------------------------------------------------------------------------------------: | :------: |
| parentId | Parent Folder ID | STRING | ID of the Folder from which you want to list folders. If no folder is specified, the root folder will be used. | false |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "List Folders",
"name" : "listFolders",
"parameters" : {
"parentId" : ""
},
"type" : "microsoftOneDrive/v1/listFolders"
}
```
#### Output [#output-7]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-15]
| Name | Type | Description |
| :------------------: | :-----------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the folder was created. |
| eTag | STRING | |
| id | STRING | ID of the folder. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the folder was last modified. |
| name | STRING | Name of the folder. |
| size | INTEGER | Size of the folder in bytes. |
| webUrl | STRING | URL to access the folder in a web browser. |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| folder | OBJECT Properties \{INTEGER(childCount)} | |
#### Output Example [#output-example-6]
```json
[ {
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"folder" : {
"childCount" : 1
}
} ]
```
#### Find Folder ID [#find-folder-id-3]
To find the Folder ID, click [here](/reference/components/microsoft-one-drive_v1#how-to-find-folder-id).
### Upload File [#upload-file]
Name: uploadFile
`Upload a file to your Microsoft OneDrive.`
#### Properties [#properties-16]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :---------: | :-------------------------------------------------------------------------------------------------------------------------: | :------: |
| parentId | Parent Folder ID | STRING | ID of the Folder where the file should be uploaded; if no folder is selected, the file will be uploaded in the root folder. | false |
| file | File Entry | FILE\_ENTRY | File to upload. | true |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Upload File",
"name" : "uploadFile",
"parameters" : {
"parentId" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "microsoftOneDrive/v1/uploadFile"
}
```
#### Output [#output-8]
Type: OBJECT
#### Properties [#properties-17]
| Name | Type | Description |
| :------------------: | :--------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the file was created. |
| eTag | STRING | |
| id | STRING | ID of the file. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the file was last modified. |
| name | STRING | Name of the created file. |
| size | INTEGER | Size of the file in bytes. |
| webUrl | STRING | URL to access the file in a web browser. |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| file | OBJECT Properties \{\{STRING(quickXorHash)}(hashes), STRING(mimeType)} | |
#### Output Example [#output-example-7]
```json
{
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"file" : {
"hashes" : {
"quickXorHash" : ""
},
"mimeType" : ""
}
}
```
#### Find Folder ID [#find-folder-id-4]
To find the Folder ID, click [here](/reference/components/microsoft-one-drive_v1#how-to-find-folder-id).
## Triggers [#triggers]
### New File [#new-file]
Name: newFile
`Triggers when file is uploaded to folder.`
Type: POLLING
#### Properties [#properties-18]
| Name | Label | Type | Description | Required |
| :-------: | :--------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------: | :------: |
| parentId | Parent Folder ID | STRING | ID of the folder to watch for new files. If no folder is specified, the root folder will be used. | false |
| recursive | Recursive | BOOLEAN Options true , false | Whether to watch subfolders recursively. If false, only the specified folder will be watched. May return many results. | false |
#### Output [#output-9]
Type: OBJECT
#### Properties [#properties-19]
| Name | Type | Description |
| :------------------: | :--------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the file was created. |
| eTag | STRING | |
| id | STRING | ID of the file. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the file was last modified. |
| name | STRING | Name of the created file. |
| size | INTEGER | Size of the file in bytes. |
| webUrl | STRING | URL to access the file in a web browser. |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| file | OBJECT Properties \{\{STRING(quickXorHash)}(hashes), STRING(mimeType)} | |
#### JSON Example [#json-example]
```json
{
"label" : "New File",
"name" : "newFile",
"parameters" : {
"parentId" : "",
"recursive" : false
},
"type" : "microsoftOneDrive/v1/newFile"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find File ID [#how-to-find-file-id]
The best way to find a file ID is to use the output of one of the Microsoft OneDrive actions or triggers. In the output, you will find an `id` property, which represents the file ID.
Some actions and triggers that return a file ID:
* **Create New Text File**
* **Get File**
* **List Files**
* **Upload File**
* **New File** trigger
### How to find Folder ID [#how-to-find-folder-id]
The best way to find a folder ID is to use the output of one of the Microsoft OneDrive actions. In the output, you will find an `id` property, which represents the folder ID.
Some actions that return a folder ID:
* **Create Folder**
* **List Folders**
# ByteChef Reference: Microsoft Outlook 365
URL: /reference/components/microsoft-outlook-365_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/microsoft-outlook-365_v1.mdx
Microsoft Outlook 365 is a comprehensive email and productivity platform that integrates email, calendar, contacts, and tasks to streamline communication and organization.
Categories: Communication, Calendars and Scheduling
Type: microsoftOutlook365/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| tenantId | Tenant Id | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/microsoft-graph-application-setup_v1).
### Grant Necessary Permissions [#grant-necessary-permissions]
1. Open the Azure Portal: [https://portal.azure.com/](https://portal.azure.com/)
2. Click on **App registrations**.
3. Click on **All applications**.
4. Click on application you want to connect to Microsoft Outlook.
5. Click on **API permissions**.
6. Click on **Microsoft Graph (1)**.
7. Select following scopes:
* Mail.ReadWrite
* Mail.Send
* MailboxSettings.Read
* Calendars.ReadWrite
* offline\_access
8. After selecting all the scopes click on **Update permissions**
## Actions [#actions]
### Create Event [#create-event]
Name: createEvent
`Creates a new event in the specified calendar.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------------------: | :---------------------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: | :------: |
| calendar | Calendar ID | STRING | The ID of the calendar to create the event in. | true |
| subject | Subject | STRING | The subject of the event. | false |
| allDay | All Day Event? | BOOLEAN Options true , false | Is the event all day? | true |
| start | Start Date | DATE | The start date of the event. | true |
| end | End Date | DATE | The end date of the event. | true |
| start | Start Date Time | DATE\_TIME | The start time of the event. | true |
| end | End Date Time | DATE\_TIME | The end time of the event. | true |
| attendees | Attendees | ARRAY Items \[STRING] | The attendees of the event. | false |
| isOnlineMeeting | Is Online Meeting? | BOOLEAN Options true , false | Is the event an online meeting? | false |
| reminderMinutesBeforeStart | Reminder Minutes Before Start | INTEGER | The number of minutes before the event start time that the reminder alert occurs. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Event",
"name" : "createEvent",
"parameters" : {
"calendar" : "",
"subject" : "",
"allDay" : false,
"start" : "2021-01-01T00:00:00",
"end" : "2021-01-01T00:00:00",
"attendees" : [ "" ],
"isOnlineMeeting" : false,
"reminderMinutesBeforeStart" : 1
},
"type" : "microsoftOutlook365/v1/createEvent"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: |
| iCalUId | STRING | ID for an event across calendars, |
| id | STRING | ID of the event. |
| subject | STRING | The text of the event's subject line. |
| startTime | DATE\_TIME | Start time of the event. |
| endTime | DATE\_TIME | End time of the event. |
| attendees | ARRAY Items \[STRING] | The attendees for the event. |
| isOnlineMeeting | BOOLEAN Options true , false | Indicates whether the event is an online meeting. |
| onlineMeetingUrl | STRING | URL for an online meeting. |
| reminderMinutesBeforeStart | BOOLEAN Options true , false | The number of minutes before the event start time that the reminder alert occurs. |
#### Output Example [#output-example]
```json
{
"iCalUId" : "",
"id" : "",
"subject" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"attendees" : [ "" ],
"isOnlineMeeting" : false,
"onlineMeetingUrl" : "",
"reminderMinutesBeforeStart" : false
}
```
### Delete Event [#delete-event]
Name: deleteEvent
`Deletes an event from the specified calendar.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------: | :---------: | :------------------------------------------------------------------: | :----------------------------------------------: | :------: |
| calendar | Calendar ID | STRING | The ID of the calendar to delete the event from. | true |
| event | Event ID | STRING Depends On calendar | ID of the event to delete. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Event",
"name" : "deleteEvent",
"parameters" : {
"calendar" : "",
"event" : ""
},
"type" : "microsoftOutlook365/v1/deleteEvent"
}
```
#### Output [#output-1]
This action does not produce any output.
### Forward Email [#forward-email]
Name: forwardEmail
`Forwards an email message to another recipient.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-------------------------------------------------------------------------------------------: | :------------------------------------: | :------: |
| id | Message ID | STRING | The ID of the message to forward. | true |
| toRecipients | To Recipients | ARRAY Items \[STRING] | The To: recipients for the message. | true |
| contentType | Content Type | STRING Options TEXT , HTML | The type of the content. | false |
| content | HTML Content | STRING | Body text of the email in HTML format. | false |
| content | Text Content | STRING | Body text of the email. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Forward Email",
"name" : "forwardEmail",
"parameters" : {
"id" : "",
"toRecipients" : [ "" ],
"contentType" : "",
"content" : ""
},
"type" : "microsoftOutlook365/v1/forwardEmail"
}
```
#### Output [#output-2]
This action does not produce any output.
### Get Email [#get-email]
Name: getEmail
`Gets the specified email message.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----: | :--------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: | :------: |
| id | Message ID | STRING | The ID of the message to retrieve. | true |
| format | Format | STRING Options SIMPLE , FULL | The format to return the message in. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Get Email",
"name" : "getEmail",
"parameters" : {
"id" : "",
"format" : ""
},
"type" : "microsoftOutlook365/v1/getEmail"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Get Events [#get-events]
Name: getEvents
`Gets a list of events in specified calendar.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :-------: | :---------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| calendar | Calendar ID | STRING | The ID of the calendar to retrieve events from. | true |
| dateRange | Date Range | OBJECT Properties \{DATE\_TIME(from), DATE\_TIME(to)} | Date range to find events that exist in this range. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Get Events",
"name" : "getEvents",
"parameters" : {
"calendar" : "",
"dateRange" : {
"from" : "2021-01-01T00:00:00",
"to" : "2021-01-01T00:00:00"
}
},
"type" : "microsoftOutlook365/v1/getEvents"
}
```
#### Output [#output-4]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :------------------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: |
| iCalUId | STRING | ID for an event across calendars, |
| id | STRING | ID of the event. |
| subject | STRING | The text of the event's subject line. |
| startTime | DATE\_TIME | Start time of the event. |
| endTime | DATE\_TIME | End time of the event. |
| attendees | ARRAY Items \[STRING] | The attendees for the event. |
| isOnlineMeeting | BOOLEAN Options true , false | Indicates whether the event is an online meeting. |
| onlineMeetingUrl | STRING | URL for an online meeting. |
| reminderMinutesBeforeStart | BOOLEAN Options true , false | The number of minutes before the event start time that the reminder alert occurs. |
#### Output Example [#output-example-1]
```json
[ {
"iCalUId" : "",
"id" : "",
"subject" : "",
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00",
"attendees" : [ "" ],
"isOnlineMeeting" : false,
"onlineMeetingUrl" : "",
"reminderMinutesBeforeStart" : false
} ]
```
### Get Free Time Slots [#get-free-time-slots]
Name: getFreeTimeSlots
`Gets the free time slots from the specified calendar.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :-------: | :---------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------: | :------: |
| calendar | Calendar ID | STRING | The ID of the calendar to retrieve free time slots from. | true |
| dateRange | Date Range | OBJECT Properties \{DATE\_TIME(from), DATE\_TIME(to)} | Date range to find free time. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get Free Time Slots",
"name" : "getFreeTimeSlots",
"parameters" : {
"calendar" : "",
"dateRange" : {
"from" : "2021-01-01T00:00:00",
"to" : "2021-01-01T00:00:00"
}
},
"type" : "microsoftOutlook365/v1/getFreeTimeSlots"
}
```
#### Output [#output-5]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :-------: | :--------: | :-------------------------------: |
| startTime | DATE\_TIME | Start time of the free time slot. |
| endTime | DATE\_TIME | End time of the free time slot. |
#### Output Example [#output-example-2]
```json
[ {
"startTime" : "2021-01-01T00:00:00",
"endTime" : "2021-01-01T00:00:00"
} ]
```
### Move Email [#move-email]
Name: moveEmail
`Moves a email to another folder within the user's mailbox. `
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :-----------: | :--------: | :----: | :----------------------------: | :------: |
| id | Message ID | STRING | The ID of the message to move. | true |
| destinationId | Folder ID | STRING | The destination folder ID. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Move Email",
"name" : "moveEmail",
"parameters" : {
"id" : "",
"destinationId" : ""
},
"type" : "microsoftOutlook365/v1/moveEmail"
}
```
#### Output [#output-6]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Reply to Email [#reply-to-email]
Name: replyToEmail
`Sends a reply to an email message.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :-------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| id | Message ID | STRING | The ID of the message to reply to. | true |
| from | From | STRING | The email address sending the mail. | true |
| bccRecipients | Bcc Recipients | ARRAY Items \[STRING] | The Bcc recipients for the message. | false |
| ccRecipients | Cc Recipients | ARRAY Items \[STRING] | The Cc recipients for the message. | false |
| contentType | Content Type | STRING Options TEXT , HTML | The type of the content. | false |
| content | HTML Content | STRING | Body text of the email in HTML format. | false |
| content | Text Content | STRING | Body text of the email. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | A list of attachments to send with the email. | false |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Reply to Email",
"name" : "replyToEmail",
"parameters" : {
"id" : "",
"from" : "",
"bccRecipients" : [ "" ],
"ccRecipients" : [ "" ],
"contentType" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "microsoftOutlook365/v1/replyToEmail"
}
```
#### Output [#output-7]
This action does not produce any output.
### Search Email [#search-email]
Name: searchEmail
`Lists the email messages in the signed-in user's mailbox.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :------: | :------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------: | :------: |
| format | Format | STRING Options SIMPLE , FULL | The format to return the message in. | true |
| from | From | STRING | The email address sending the mail. | false |
| to | To | STRING | The email address receiving the new mail. | false |
| subject | Subject | STRING | Words in the subject line. | false |
| category | Category | STRING | Messages in a certain category. | false |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Search Email",
"name" : "searchEmail",
"parameters" : {
"format" : "",
"from" : "",
"to" : "",
"subject" : "",
"category" : ""
},
"type" : "microsoftOutlook365/v1/searchEmail"
}
```
#### Output [#output-8]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Send Email [#send-email]
Name: sendEmail
`Sends a new email message.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------: | :------: |
| from | From | STRING | The email address sending the mail. | true |
| toRecipients | To Recipients | ARRAY Items \[STRING] | The To: recipients for the message. | true |
| subject | Subject | STRING | The subject of the message. | true |
| bccRecipients | Bcc Recipients | ARRAY Items \[STRING] | The Bcc recipients for the message. | false |
| ccRecipients | Cc Recipients | ARRAY Items \[STRING] | The Cc recipients for the message. | false |
| replyTo | Reply To | ARRAY Items \[STRING] | The email addresses to use when replying. | false |
| body | Body | OBJECT Properties \{STRING(contentType), STRING(content), STRING(content)} | The body of the message. It can be in HTML or text format. | true |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | A list of attachments to send with the email. | false |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Send Email",
"name" : "sendEmail",
"parameters" : {
"from" : "",
"toRecipients" : [ "" ],
"subject" : "",
"bccRecipients" : [ "" ],
"ccRecipients" : [ "" ],
"replyTo" : [ "" ],
"body" : {
"contentType" : "",
"content" : ""
},
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "microsoftOutlook365/v1/sendEmail"
}
```
#### Output [#output-9]
This action does not produce any output.
## Triggers [#triggers]
### New Email Batch [#new-email-batch]
Name: newEmailBatch
`Periodically triggers a workflow run and outputs a list of all new emails received since the last check.`
Type: POLLING
#### Properties [#properties-14]
| Name | Label | Type | Description | Required |
| :----: | :----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: | :------: |
| format | Format | STRING Options SIMPLE , FULL | The format to return the message in. | true |
#### Output [#output-10]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Email Batch",
"name" : "newEmailBatch",
"parameters" : {
"format" : ""
},
"type" : "microsoftOutlook365/v1/newEmailBatch"
}
```
### New Email [#new-email]
Name: newEmail
`Triggers a new workflow run for each new email received in your Inbox.`
Type: POLLING
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :----: | :----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: | :------: |
| format | Format | STRING Options SIMPLE , FULL | The format to return the message in. | true |
#### Output [#output-11]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-1]
```json
{
"label" : "New Email",
"name" : "newEmail",
"parameters" : {
"format" : ""
},
"type" : "microsoftOutlook365/v1/newEmail"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### Triggers: New Email vs New Email Batch [#triggers-new-email-vs-new-email-batch]
The Microsoft Outlook 365 component provides two **polling** triggers for new emails: **New Email** and **New Email Batch**.
Both triggers periodically poll your mailbox for new messages, but they differ in how they start workflows and what they output.
#### New Email [#new-email-1]
* Periodically polls your Inbox for messages received after the last check.
* For each new email found, **starts a separate workflow run**.
* For all new emails found in the same poll cycle, **starts their workflow runs at the same time**, so they execute in parallel (subject to your workspace concurrency limits).
* Provides **a single email** as the trigger output for each run (depending on the configured format, e.g. simple or full).
In other words, **one email = one workflow execution**.
#### New Email Batch [#new-email-batch-1]
* Periodically polls your Inbox for messages received after the last check.
* **Starts a single workflow run per poll**, regardless of how many new emails are found.
* Provides a **list (array) of all new emails** since the last run as the trigger output.
In other words, **many emails = one workflow execution with a list of messages**.
# ByteChef Reference: Microsoft SharePoint
URL: /reference/components/microsoft-share-point_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/microsoft-share-point_v1.mdx
Microsoft SharePoint is a web-based collaborative platform that integrates with Microsoft Office, providing document management, intranet, and content management features for organizations.
Categories: File Storage, Communication
Type: microsoftSharePoint/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| tenantId | Tenant Id | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/microsoft-graph-application-setup_v1).
### Grant Necessary Permissions [#grant-necessary-permissions]
1. Open the Azure Portal: [https://portal.azure.com/](https://portal.azure.com/)
2. Click on **App registrations**.
3. Click on **All applications**.
4. Click on application you want to connect to Microsoft SharePoint.
5. Click on **API permissions**.
6. Click on **Microsoft Graph (1)**.
7. Select following scopes:
* Sites.Manage.All
* Sites.ReadWrite.All
* offline\_access
8. After selecting all the scopes click on **Update permissions**
## Actions [#actions]
### Create Folder [#create-folder]
Name: createFolder
`Creates a new folder at path you specify.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :--------------: | :----------------------------------------------------------------: | :------------------------------------------------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| parentFolder | Parent Folder ID | STRING Depends On siteId | If no folder is selected, folder will be created in the root folder. | false |
| name | Folder Name | STRING | | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Folder",
"name" : "createFolder",
"parameters" : {
"siteId" : "",
"parentFolder" : "",
"name" : ""
},
"type" : "microsoftSharePoint/v1/createFolder"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------------: | :-------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the folder was created. |
| eTag | STRING | |
| id | STRING | ID of the folder. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the folder was last modified. |
| name | STRING | Name of the folder. |
| size | INTEGER | Size of the folder in bytes. |
| webUrl | STRING | URL to access the folder in a web browser. |
| cTag | STRING | |
| commentSettings | OBJECT Properties \{\{BOOLEAN(isDisabled)}(commentingDisabled)} | |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| folder | OBJECT Properties \{INTEGER(childCount)} | |
| shared | OBJECT Properties \{STRING(scope)} | |
#### Output Example [#output-example]
```json
{
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"cTag" : "",
"commentSettings" : {
"commentingDisabled" : {
"isDisabled" : false
}
},
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"folder" : {
"childCount" : 1
},
"shared" : {
"scope" : ""
}
}
```
#### Find Site ID [#find-site-id]
To find the Site ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-site-id).
#### Find Folder ID [#find-folder-id]
To find the Folder ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-folder-or-file-id).
### Create List [#create-list]
Name: createList
`Creates a new list`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :--------------: | :----: | :----------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| displayName | List Name | STRING | | true |
| description | List Description | STRING | | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create List",
"name" : "createList",
"parameters" : {
"siteId" : "",
"displayName" : "",
"description" : ""
},
"type" : "microsoftSharePoint/v1/createList"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------------: | :----------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the list was created. |
| description | STRING | Description of the list. |
| eTag | STRING | |
| id | STRING | ID of the list. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the list was last modified. |
| name | STRING | Name of the list. |
| webUrl | STRING | URL to access the list in a web browser. |
| displayName | STRING | The displayable title of the list. |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| list | OBJECT Properties \{BOOLEAN(contentTypesEnabled), BOOLEAN(hidden), STRING(template)} | |
#### Output Example [#output-example-1]
```json
{
"createdDateTime" : "2021-01-01T00:00:00",
"description" : "",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"webUrl" : "",
"displayName" : "",
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"list" : {
"contentTypesEnabled" : false,
"hidden" : false,
"template" : ""
}
}
```
#### Find Site ID [#find-site-id-1]
To find the Site ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-site-id).
### Create List Item [#create-list-item]
Name: createListItem
`Creates a new item in a list.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :-------------------------------------------------------------------------------------: | :----------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| listId | List ID | STRING Depends On siteId | | true |
| columns | | DYNAMIC\_PROPERTIES Depends On siteId, listId | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create List Item",
"name" : "createListItem",
"parameters" : {
"siteId" : "",
"listId" : "",
"columns" : { }
},
"type" : "microsoftSharePoint/v1/createListItem"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Site ID [#find-site-id-2]
To find the Site ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-site-id).
#### Find List ID [#find-list-id]
To find the List ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-list-id).
### Delete File or Folder [#delete-file-or-folder]
Name: deleteFileOrFolder
`Deletes specified file or folder.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :----: | :---------------: | :----------------------------------------------------------------: | :------------------------------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| id | File or Folder ID | STRING Depends On siteId | The ID of the file or folder that will be deleted. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete File or Folder",
"name" : "deleteFileOrFolder",
"parameters" : {
"siteId" : "",
"id" : ""
},
"type" : "microsoftSharePoint/v1/deleteFileOrFolder"
}
```
#### Output [#output-3]
This action does not produce any output.
#### Find Site ID [#find-site-id-3]
To find the Site ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-site-id).
#### Find Folder ID [#find-folder-id-1]
To find the Folder ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-folder-or-file-id).
### Download File [#download-file]
Name: downloadFile
`Download file from Microsoft SharePoint site.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----------------------------------------------------------------: | :-------------------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| fileId | File ID | STRING Depends On siteId | ID of the file that will be downloaded. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Download File",
"name" : "downloadFile",
"parameters" : {
"siteId" : "",
"fileId" : ""
},
"type" : "microsoftSharePoint/v1/downloadFile"
}
```
#### Output [#output-4]
Type: FILE\_ENTRY
#### Properties [#properties-8]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-2]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Find Site ID [#find-site-id-4]
To find the Site ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-site-id).
#### Find Folder ID [#find-folder-id-2]
To find the Folder ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-folder-or-file-id).
### Get File or Folder by ID [#get-file-or-folder-by-id]
Name: getFileOrFolderById
`Retrieves information about file or folder by its ID.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :----: | :---------------: | :----------------------------------------------------------------: | :---------------------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| id | File or Folder ID | STRING Depends On siteId | The ID of the file or folder to retrieve. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get File or Folder by ID",
"name" : "getFileOrFolderById",
"parameters" : {
"siteId" : "",
"id" : ""
},
"type" : "microsoftSharePoint/v1/getFileOrFolderById"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :------------------: | :-------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the folder was created. |
| eTag | STRING | |
| id | STRING | ID of the folder. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the folder was last modified. |
| name | STRING | Name of the folder. |
| size | INTEGER | Size of the folder in bytes. |
| webUrl | STRING | URL to access the folder in a web browser. |
| cTag | STRING | |
| commentSettings | OBJECT Properties \{\{BOOLEAN(isDisabled)}(commentingDisabled)} | |
| createdBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(id), STRING(displayName)}(user)} | |
| folder | OBJECT Properties \{INTEGER(childCount)} | |
| shared | OBJECT Properties \{STRING(scope)} | |
#### Output Example [#output-example-3]
```json
{
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"cTag" : "",
"commentSettings" : {
"commentingDisabled" : {
"isDisabled" : false
}
},
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"folder" : {
"childCount" : 1
},
"shared" : {
"scope" : ""
}
}
```
#### Find Site ID [#find-site-id-5]
To find the Site ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-site-id).
#### Find Folder ID [#find-folder-id-3]
To find the Folder ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-folder-or-file-id).
### Get Folder Contents [#get-folder-contents]
Name: getFolderContents
`The folder whose contents you want to list.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :----------: | :----------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| parentFolder | Parent Folder ID | STRING Depends On siteId | ID of the folder whose contents you want to list. If no folder is selected, root folder will be listed. | false |
| recursive | Include Subfolders | BOOLEAN Options true , false | Whether to include subfolders in the results. | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Get Folder Contents",
"name" : "getFolderContents",
"parameters" : {
"siteId" : "",
"parentFolder" : "",
"recursive" : false
},
"type" : "microsoftSharePoint/v1/getFolderContents"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| @odata.context | STRING | |
| value | ARRAY Items \[\{DATE\_TIME(createdDateTime), STRING(eTag), STRING(id), DATE\_TIME(lastModifiedDateTime), STRING(name), INTEGER(size), STRING(webUrl), STRING(cTag), \{\{BOOLEAN(isDisabled)}(commentingDisabled)}(commentSettings), \{\{STRING(id), STRING(displayName)}(user)}(createdBy), \{\{STRING(id), STRING(displayName)}(user)}(lastModifiedBy), \{INTEGER(childCount)}(folder), \{STRING(scope)}(shared)}] | |
#### Output Example [#output-example-4]
```json
{
"@odata.context" : "",
"value" : [ {
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"cTag" : "",
"commentSettings" : {
"commentingDisabled" : {
"isDisabled" : false
}
},
"createdBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"id" : "",
"displayName" : ""
}
},
"folder" : {
"childCount" : 1
},
"shared" : {
"scope" : ""
}
} ]
}
```
### Replace File [#replace-file]
Name: replaceFile
`Replace file in Microsoft SharePoint folder. You can replace two files that are of same type.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :----: | :--------: | :----------------------------------------------------------------: | :--------------------------------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| fileId | File ID | STRING Depends On siteId | ID of the file that will be replaced. | true |
| file | File Entry | FILE\_ENTRY | File that will be used to replace the existing file. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Replace File",
"name" : "replaceFile",
"parameters" : {
"siteId" : "",
"fileId" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "microsoftSharePoint/v1/replaceFile"
}
```
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :------------------: | :--------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the file was created. |
| eTag | STRING | eTag for the entire item (metadata + content). |
| id | STRING | ID of the file. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the file was last modified. |
| name | STRING | Name of the file. |
| size | INTEGER | Size of the file in bytes. |
| webUrl | STRING | URL to access the file in a web browser. |
| createdBy | OBJECT Properties \{\{STRING(email), STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(email), STRING(id), STRING(displayName)}(user)} | |
| file | OBJECT Properties \{\{STRING(quickXorHash)}(hashes), STRING(mimeType)} | |
#### Output Example [#output-example-5]
```json
{
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"createdBy" : {
"user" : {
"email" : "",
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"email" : "",
"id" : "",
"displayName" : ""
}
},
"file" : {
"hashes" : {
"quickXorHash" : ""
},
"mimeType" : ""
}
}
```
#### Find Site ID [#find-site-id-6]
To find the Site ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-site-id).
#### Find File ID [#find-file-id]
To find the File ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-folder-or-file-id).
### Upload File [#upload-file]
Name: uploadFile
`Upload file to Microsoft SharePoint folder.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :----------: | :--------------: | :----------------------------------------------------------------: | :-------------------------------------------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| parentFolder | Parent Folder ID | STRING Depends On siteId | If no folder is selected, file will be uploaded to root folder. | false |
| file | File Entry | FILE\_ENTRY | File to upload. | true |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Upload File",
"name" : "uploadFile",
"parameters" : {
"siteId" : "",
"parentFolder" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "microsoftSharePoint/v1/uploadFile"
}
```
#### Output [#output-8]
Type: OBJECT
#### Properties [#properties-16]
| Name | Type | Description |
| :------------------: | :--------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------: |
| createdDateTime | DATE\_TIME | The date and time when the file was created. |
| eTag | STRING | eTag for the entire item (metadata + content). |
| id | STRING | ID of the file. |
| lastModifiedDateTime | DATE\_TIME | The date and time when the file was last modified. |
| name | STRING | Name of the file. |
| size | INTEGER | Size of the file in bytes. |
| webUrl | STRING | URL to access the file in a web browser. |
| createdBy | OBJECT Properties \{\{STRING(email), STRING(id), STRING(displayName)}(user)} | |
| lastModifiedBy | OBJECT Properties \{\{STRING(email), STRING(id), STRING(displayName)}(user)} | |
| file | OBJECT Properties \{\{STRING(quickXorHash)}(hashes), STRING(mimeType)} | |
#### Output Example [#output-example-6]
```json
{
"createdDateTime" : "2021-01-01T00:00:00",
"eTag" : "",
"id" : "",
"lastModifiedDateTime" : "2021-01-01T00:00:00",
"name" : "",
"size" : 1,
"webUrl" : "",
"createdBy" : {
"user" : {
"email" : "",
"id" : "",
"displayName" : ""
}
},
"lastModifiedBy" : {
"user" : {
"email" : "",
"id" : "",
"displayName" : ""
}
},
"file" : {
"hashes" : {
"quickXorHash" : ""
},
"mimeType" : ""
}
}
```
#### Find Site ID [#find-site-id-7]
To find the Site ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-site-id).
#### Find Folder ID [#find-folder-id-4]
To find the Folder ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-folder-or-file-id).
## Triggers [#triggers]
### New File [#new-file]
Name: newFile
`Triggers when file is uploaded to folder.`
Type: POLLING
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :----------: | :--------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------: | :------: |
| siteId | Site ID | STRING | The ID of the SharePoint site. | true |
| parentFolder | Parent Folder ID | STRING Depends On siteId | If no folder is selected, root folder will be monitored for new file. | false |
| recursive | Recursive | BOOLEAN Options true , false | Whether to watch subfolders recursively. If false, only the specified folder will be watched. May return many results. | false |
#### Output [#output-9]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New File",
"name" : "newFile",
"parameters" : {
"siteId" : "",
"parentFolder" : "",
"recursive" : false
},
"type" : "microsoftSharePoint/v1/newFile"
}
```
#### Find Site ID [#find-site-id-8]
To find the Site ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-site-id).
#### Find Folder ID [#find-folder-id-5]
To find the Folder ID, click [here](/reference/components/microsoft-share-point_v1#how-to-find-your-folder-or-file-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find your Site ID [#how-to-find-your-site-id]
Only way of finding Site ID in Microsoft SharePoint is using Microsoft Graph API.
1. Go to your Microsoft SharePoint site.
2. If your URL is `https://company.sharepoint.com/sites/Finance` then your site name is `Finance`.
3. Then use this Microsoft Graph API endpoint; `GET https://graph.microsoft.com/v1.0/sites/company.sharepoint.com:/sites/Finance`
4. You will get your folder ID.
### How to find your Folder or File ID [#how-to-find-your-folder-or-file-id]
Only way of finding Folder or File ID in Microsoft SharePoint is using Microsoft Graph API endpoint: `GET https://graph.microsoft.com/v1.0/sites/{site-id}/drives`.
### How to find your List ID [#how-to-find-your-list-id]
1. Open the SharePoint site.
2. Go to the Site Contents.
3. Find your list and click on 3 vertical dots (...)
4. Click on Settings
5. Look at the browser URL.
6. If your URL is `https://6kqn7f.sharepoint.com/sites/Testsite/_layouts/15/listedit.aspx?List=2c8d8a57-10e1-43b7-b801-6cd5b328f55b`
7. Then your List ID is `2c8d8a57-10e1-43b7-b801-6cd5b328f55b`
# ByteChef Reference: Microsoft Teams
URL: /reference/components/microsoft-teams_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/microsoft-teams_v1.mdx
Microsoft Teams is a collaboration platform that combines workplace chat, video meetings, file storage, and application integration.
Categories: Communication
Type: microsoftTeams/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| tenantId | Tenant Id | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/microsoft-graph-application-setup_v1).
### Grant Necessary Permissions [#grant-necessary-permissions]
1. Open the Azure Portal: [https://portal.azure.com/](https://portal.azure.com/)
2. Click on **App registrations**.
3. Click on **All applications**.
4. Click on application you want to connect to Microsoft Teams.
5. Click on **API permissions**.
6. Click on **Microsoft Graph (1)**.
7. Select following scopes:
* Channel.Create
* Channel.ReadBasic.All
* ChannelMessage.Send
* Chat.ReadWrite
* Chat.Read
* ChatMember.Read
* Team.ReadBasic.All
* offline\_access
8. After selecting all the scopes click on **Update permissions**
### Grant Necessary Permissions - For Microsoft OneDrive (needed for sending attachments) [#grant-necessary-permissions---for-microsoft-onedrive-needed-for-sending-attachments]
1. Open the Azure Portal: [https://portal.azure.com/](https://portal.azure.com/)
2. Click on **App registrations**.
3. Click on **All applications**.
4. Click on application you want to connect to Microsoft OneDrive.
5. Click on **API permissions**.
6. Click on **Microsoft Graph (1)**.
7. Select following scopes:
* Files.Read
* Files.ReadWrite.All
* offline\_access
8. After selecting all the scopes click on **Update permissions**
## Actions [#actions]
### Create Channel [#create-channel]
Name: createChannel
`Creates a new channel within a team.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----: | :-----------------------------------------------: | :------: |
| teamId | Team ID | STRING | ID of the team where the channel will be created. | true |
| displayName | Channel Name | STRING | | true |
| description | Description | STRING | Description for the channel. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Channel",
"name" : "createChannel",
"parameters" : {
"teamId" : "",
"displayName" : "",
"description" : ""
},
"type" : "microsoftTeams/v1/createChannel"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------: |
| @odata.context | STRING | The OData context URL that indicates the metadata for the response. |
| id | STRING | ID of the channel. |
| createdDateTime | DATE\_TIME | The date and time when the channel was created. |
| displayName | STRING | Name of the channel that will appear to the user in Microsoft Teams. |
| description | STRING | Description of the channel. |
| isFavoriteByDefault | BOOLEAN Options true , false | Indicates whether the channel is marked as favorite by default. |
| email | STRING | The email address of the channel if it is enabled to receive emails. |
| webUrl | STRING | URL to access the channel in a web browser. |
| membershipType | STRING | The type of channel membership, e.g., standard or private. |
| isArchived | BOOLEAN Options true , false | Indicates whether the channel is archived. |
#### Output Example [#output-example]
```json
{
"@odata.context" : "",
"id" : "",
"createdDateTime" : "2021-01-01T00:00:00",
"displayName" : "",
"description" : "",
"isFavoriteByDefault" : false,
"email" : "",
"webUrl" : "",
"membershipType" : "",
"isArchived" : false
}
```
#### Find Team ID [#find-team-id]
To find the Team ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-team-id).
### Send Channel Message [#send-channel-message]
Name: sendChannelMessage
`Sends a message to a channel. Sending attachments is supported with Message Text Format is set to "html".`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :-----------------: | :-------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :------: |
| teamId | Team ID | STRING | ID of the team where the channel is located. | true |
| channelId | Channel ID | STRING Depends On teamId | Channel to send message to. | true |
| contentType | Message Text Format | STRING Options text , html | | true |
| content | Message Text | STRING | | true |
| attachments | Attachments | ARRAY Items \[STRING(\$attachment)] | The attachments to send with the message. The file to attach must already be in SharePoint. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send Channel Message",
"name" : "sendChannelMessage",
"parameters" : {
"teamId" : "",
"channelId" : "",
"contentType" : "",
"content" : "",
"attachments" : [ "" ]
},
"type" : "microsoftTeams/v1/sendChannelMessage"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------: |
| id | STRING | Unique identifier of the message. |
| replyToId | STRING | ID of the parent message if this is a reply. |
| etag | STRING | Entity tag for versioning. |
| messageType | STRING | Type of the message. |
| createdDateTime | STRING | Timestamp when the message was created. |
| lastModifiedDateTime | STRING | Timestamp when the message was last modified. |
| lastEditedDateTime | STRING | Timestamp when the message was last edited. |
| deletedDateTime | STRING | Timestamp when the message was deleted. |
| subject | STRING | Subject/title of the message. |
| summary | STRING | Summary of the message. |
| chatId | STRING | ID of the chat. |
| importance | STRING | Importance level of the message. |
| locale | STRING | Locale of the message. |
| webUrl | STRING | Web URL to access the message. |
| policyViolation | STRING | Policy violation details if applicable. |
| eventDetail | STRING | Event details associated with the message. |
| from | OBJECT Properties \{\{}(application), \{}(device), \{STRING(@odata.type), STRING(id), STRING(displayName), STRING(userIdentityType), STRING(tenantId)}(user)} | Information about the sender. |
| body | OBJECT Properties \{STRING(contentType), STRING(content)} | Plaintext/HTML representation of the content of the chat message. |
| channelIdentity | OBJECT Properties \{STRING(teamId), STRING(channelId)} | Channel identity where the message was posted. |
| attachments | ARRAY Items \[] | List of attachments included in the message. |
| mentions | ARRAY Items \[] | List of mentions in the message. |
| reactions | ARRAY Items \[] | List of reactions to the message. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"replyToId" : "",
"etag" : "",
"messageType" : "",
"createdDateTime" : "",
"lastModifiedDateTime" : "",
"lastEditedDateTime" : "",
"deletedDateTime" : "",
"subject" : "",
"summary" : "",
"chatId" : "",
"importance" : "",
"locale" : "",
"webUrl" : "",
"policyViolation" : "",
"eventDetail" : "",
"from" : {
"application" : { },
"device" : { },
"user" : {
"@odata.type" : "",
"id" : "",
"displayName" : "",
"userIdentityType" : "",
"tenantId" : ""
}
},
"body" : {
"contentType" : "",
"content" : ""
},
"channelIdentity" : {
"teamId" : "",
"channelId" : ""
},
"attachments" : [ ],
"mentions" : [ ],
"reactions" : [ ]
}
```
#### Find Team ID and Channel ID [#find-team-id-and-channel-id]
To find the Team ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-team-id).
To find the Channel ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-channel-id).
### Send Direct Message [#send-direct-message]
Name: sendDirectMessage
`Sends a direct message in an existing chat. Sending attachments is supported with Message Text Format set to "html".`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :-----------------: | :-------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :------: |
| chatId | Chat ID | STRING | | true |
| contentType | Message Text Format | STRING Options text , html | | true |
| content | Message Text | STRING | | true |
| attachments | Attachments | ARRAY Items \[STRING(\$attachment)] | The attachments to send with the message. The file to attach must already be in SharePoint. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Send Direct Message",
"name" : "sendDirectMessage",
"parameters" : {
"chatId" : "",
"contentType" : "",
"content" : "",
"attachments" : [ "" ]
},
"type" : "microsoftTeams/v1/sendDirectMessage"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------: |
| id | STRING | Unique identifier of the message. |
| replyToId | STRING | ID of the parent message if this is a reply. |
| etag | STRING | Entity tag for versioning. |
| messageType | STRING | Type of the message. |
| createdDateTime | STRING | Timestamp when the message was created. |
| lastModifiedDateTime | STRING | Timestamp when the message was last modified. |
| lastEditedDateTime | STRING | Timestamp when the message was last edited. |
| deletedDateTime | STRING | Timestamp when the message was deleted. |
| subject | STRING | Subject/title of the message. |
| summary | STRING | Summary of the message. |
| chatId | STRING | ID of the chat. |
| importance | STRING | Importance level of the message. |
| locale | STRING | Locale of the message. |
| webUrl | STRING | Web URL to access the message. |
| policyViolation | STRING | Policy violation details if applicable. |
| eventDetail | STRING | Event details associated with the message. |
| from | OBJECT Properties \{\{}(application), \{}(device), \{STRING(@odata.type), STRING(id), STRING(displayName), STRING(userIdentityType), STRING(tenantId)}(user)} | Information about the sender. |
| body | OBJECT Properties \{STRING(contentType), STRING(content)} | Plaintext/HTML representation of the content of the chat message. |
| channelIdentity | OBJECT Properties \{STRING(teamId), STRING(channelId)} | Channel identity where the message was posted. |
| attachments | ARRAY Items \[] | List of attachments included in the message. |
| mentions | ARRAY Items \[] | List of mentions in the message. |
| reactions | ARRAY Items \[] | List of reactions to the message. |
#### Output Example [#output-example-2]
```json
{
"id" : "",
"replyToId" : "",
"etag" : "",
"messageType" : "",
"createdDateTime" : "",
"lastModifiedDateTime" : "",
"lastEditedDateTime" : "",
"deletedDateTime" : "",
"subject" : "",
"summary" : "",
"chatId" : "",
"importance" : "",
"locale" : "",
"webUrl" : "",
"policyViolation" : "",
"eventDetail" : "",
"from" : {
"application" : { },
"device" : { },
"user" : {
"@odata.type" : "",
"id" : "",
"displayName" : "",
"userIdentityType" : "",
"tenantId" : ""
}
},
"body" : {
"contentType" : "",
"content" : ""
},
"channelIdentity" : {
"teamId" : "",
"channelId" : ""
},
"attachments" : [ ],
"mentions" : [ ],
"reactions" : [ ]
}
```
#### Find Chat ID [#find-chat-id]
To find the Chat ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-chat-id).
### Reply to Channel Message [#reply-to-channel-message]
Name: replyToChannelMessage
`Sends a reply to a channel message. Sending attachments is supported with Message Text Format is set to "html".`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---------: | :-----------------: | :-------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :------: |
| teamId | Team ID | STRING | ID of the team where the channel is located. | true |
| channelId | Channel ID | STRING Depends On teamId | Channel of the message that will get a reply. | true |
| messageId | Message ID | STRING | ID of the message that will get a reply. | true |
| contentType | Message Text Format | STRING Options text , html | | true |
| content | Message Text | STRING | | true |
| attachments | Attachments | ARRAY Items \[STRING(\$attachment)] | The attachments to send with the message. The file to attach must already be in SharePoint. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Reply to Channel Message",
"name" : "replyToChannelMessage",
"parameters" : {
"teamId" : "",
"channelId" : "",
"messageId" : "",
"contentType" : "",
"content" : "",
"attachments" : [ "" ]
},
"type" : "microsoftTeams/v1/replyToChannelMessage"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------: |
| id | STRING | Unique identifier of the message. |
| replyToId | STRING | ID of the parent message if this is a reply. |
| etag | STRING | Entity tag for versioning. |
| messageType | STRING | Type of the message. |
| createdDateTime | STRING | Timestamp when the message was created. |
| lastModifiedDateTime | STRING | Timestamp when the message was last modified. |
| lastEditedDateTime | STRING | Timestamp when the message was last edited. |
| deletedDateTime | STRING | Timestamp when the message was deleted. |
| subject | STRING | Subject/title of the message. |
| summary | STRING | Summary of the message. |
| chatId | STRING | ID of the chat. |
| importance | STRING | Importance level of the message. |
| locale | STRING | Locale of the message. |
| webUrl | STRING | Web URL to access the message. |
| policyViolation | STRING | Policy violation details if applicable. |
| eventDetail | STRING | Event details associated with the message. |
| from | OBJECT Properties \{\{}(application), \{}(device), \{STRING(@odata.type), STRING(id), STRING(displayName), STRING(userIdentityType), STRING(tenantId)}(user)} | Information about the sender. |
| body | OBJECT Properties \{STRING(contentType), STRING(content)} | Plaintext/HTML representation of the content of the chat message. |
| channelIdentity | OBJECT Properties \{STRING(teamId), STRING(channelId)} | Channel identity where the message was posted. |
| attachments | ARRAY Items \[] | List of attachments included in the message. |
| mentions | ARRAY Items \[] | List of mentions in the message. |
| reactions | ARRAY Items \[] | List of reactions to the message. |
#### Output Example [#output-example-3]
```json
{
"id" : "",
"replyToId" : "",
"etag" : "",
"messageType" : "",
"createdDateTime" : "",
"lastModifiedDateTime" : "",
"lastEditedDateTime" : "",
"deletedDateTime" : "",
"subject" : "",
"summary" : "",
"chatId" : "",
"importance" : "",
"locale" : "",
"webUrl" : "",
"policyViolation" : "",
"eventDetail" : "",
"from" : {
"application" : { },
"device" : { },
"user" : {
"@odata.type" : "",
"id" : "",
"displayName" : "",
"userIdentityType" : "",
"tenantId" : ""
}
},
"body" : {
"contentType" : "",
"content" : ""
},
"channelIdentity" : {
"teamId" : "",
"channelId" : ""
},
"attachments" : [ ],
"mentions" : [ ],
"reactions" : [ ]
}
```
#### Find Team ID and Channel ID [#find-team-id-and-channel-id-1]
To find the Team ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-team-id).
To find the Channel ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-channel-id).
To find the Message ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-message-id).
## Triggers [#triggers]
### New Channel Message [#new-channel-message]
Name: newChannelMessage
`Triggers when new message is received in selected channel.`
Type: POLLING
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------: | :------: |
| teamId | Team ID | STRING | ID of the team where the channel is located. | true |
| channelId | Channel ID | STRING Depends On teamId | Channel to monitor for new messages. | true |
| includeReplies | Include Replies | BOOLEAN Options true , false | Whether replies to a channel message will trigger the workflow. | true |
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------: |
| id | STRING | Unique identifier of the message. |
| replyToId | STRING | ID of the parent message if this is a reply. |
| etag | STRING | Entity tag for versioning. |
| messageType | STRING | Type of the message. |
| createdDateTime | STRING | Timestamp when the message was created. |
| lastModifiedDateTime | STRING | Timestamp when the message was last modified. |
| lastEditedDateTime | STRING | Timestamp when the message was last edited. |
| deletedDateTime | STRING | Timestamp when the message was deleted. |
| subject | STRING | Subject/title of the message. |
| summary | STRING | Summary of the message. |
| chatId | STRING | ID of the chat. |
| importance | STRING | Importance level of the message. |
| locale | STRING | Locale of the message. |
| webUrl | STRING | Web URL to access the message. |
| policyViolation | STRING | Policy violation details if applicable. |
| eventDetail | STRING | Event details associated with the message. |
| from | OBJECT Properties \{\{}(application), \{}(device), \{STRING(@odata.type), STRING(id), STRING(displayName), STRING(userIdentityType), STRING(tenantId)}(user)} | Information about the sender. |
| body | OBJECT Properties \{STRING(contentType), STRING(content)} | Plaintext/HTML representation of the content of the chat message. |
| channelIdentity | OBJECT Properties \{STRING(teamId), STRING(channelId)} | Channel identity where the message was posted. |
| attachments | ARRAY Items \[] | List of attachments included in the message. |
| mentions | ARRAY Items \[] | List of mentions in the message. |
| reactions | ARRAY Items \[] | List of reactions to the message. |
#### JSON Example [#json-example]
```json
{
"label" : "New Channel Message",
"name" : "newChannelMessage",
"parameters" : {
"teamId" : "",
"channelId" : "",
"includeReplies" : false
},
"type" : "microsoftTeams/v1/newChannelMessage"
}
```
#### Find Team ID and Channel ID [#find-team-id-and-channel-id-2]
To find the Team ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-team-id).
To find the Channel ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-channel-id).
### New Direct Message [#new-direct-message]
Name: newDirectMessage
`Triggers when new direct message is received.`
Type: POLLING
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :---------: | :------: |
| chatId | Chat ID | STRING | | true |
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------: |
| id | STRING | Unique identifier of the message. |
| replyToId | STRING | ID of the parent message if this is a reply. |
| etag | STRING | Entity tag for versioning. |
| messageType | STRING | Type of the message. |
| createdDateTime | STRING | Timestamp when the message was created. |
| lastModifiedDateTime | STRING | Timestamp when the message was last modified. |
| lastEditedDateTime | STRING | Timestamp when the message was last edited. |
| deletedDateTime | STRING | Timestamp when the message was deleted. |
| subject | STRING | Subject/title of the message. |
| summary | STRING | Summary of the message. |
| chatId | STRING | ID of the chat. |
| importance | STRING | Importance level of the message. |
| locale | STRING | Locale of the message. |
| webUrl | STRING | Web URL to access the message. |
| policyViolation | STRING | Policy violation details if applicable. |
| eventDetail | STRING | Event details associated with the message. |
| from | OBJECT Properties \{\{}(application), \{}(device), \{STRING(@odata.type), STRING(id), STRING(displayName), STRING(userIdentityType), STRING(tenantId)}(user)} | Information about the sender. |
| body | OBJECT Properties \{STRING(contentType), STRING(content)} | Plaintext/HTML representation of the content of the chat message. |
| channelIdentity | OBJECT Properties \{STRING(teamId), STRING(channelId)} | Channel identity where the message was posted. |
| attachments | ARRAY Items \[] | List of attachments included in the message. |
| mentions | ARRAY Items \[] | List of mentions in the message. |
| reactions | ARRAY Items \[] | List of reactions to the message. |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Direct Message",
"name" : "newDirectMessage",
"parameters" : {
"chatId" : ""
},
"type" : "microsoftTeams/v1/newDirectMessage"
}
```
#### Find Chat ID [#find-chat-id-1]
To find the Chat ID, click [here](/reference/components/microsoft-teams_v1#how-to-find-chat-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Team ID [#how-to-find-team-id]
You can get your Team ID from your Microsoft Teams:
1. Open **Microsoft Teams**
2. Go to **Teams and Channels**
3. Click the **three dots (...)** next to the team name
4. Select **Copy link**
5. You'll get URL like: `https://teams.microsoft.com/l/team/19%3aabc123def456%40thread.tacv2/conversations?groupId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&tenantId=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy`
6. The **Team ID** is the value of: `groupId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`
### How to find Channel ID [#how-to-find-channel-id]
You can get your Channel ID from your Microsoft Teams:
1. Open **Microsoft Teams**
2. Go to **Teams and Channels**
3. Click the **three dots (...)** next to the channel name
4. Select **Copy link**
5. You'll get URL like: `https://teams.microsoft.com/l/channel/19%3abc8e04002356415884ba1769f437de36%40thread.tacv2/General?groupId=e95fd37a-caad-496e-8a89-762f0aa441bf&tenantId=43f519c0-e5a6-438f-808f-6491be63b3be`
6. The **Channel ID** is the value after **/l/channel/**: `19:bc8e04002356415884ba1769f437de36@thread.tacv2`
7. Important notice is that string in the URL is URL encoded `19%3abc8e04002356415884ba1769f437de36%40thread.tacv2` so you will have to decode it to get `19:bc8e04002356415884ba1769f437de36@thread.tacv2`
### How to find Chat ID [#how-to-find-chat-id]
1. Go to [Microsoft Graph Explorer](https://developer.microsoft.com/en-us/graph/graph-explorer)
2. Sign in with your **Microsoft 365** account by clicking **Sign in to Graph Explorer**
3. In the request bar, make sure `GET` is selected and enter: `https://graph.microsoft.com/v1.0/me/chats`
4. Click **Run query**
5. In the **Response preview panel** below, you will see a list of chats
6. Find your chat in the value array and copy the **id** field:
### How to find Message ID [#how-to-find-message-id]
1. Go to [Microsoft Graph Explorer](https://developer.microsoft.com/en-us/graph/graph-explorer)
2. Sign in with your **Microsoft 365 account** by clicking **Sign in to Graph Explorer**
3. In the request bar, make sure **GET** is selected and enter: `https://graph.microsoft.com/v1.0/teams/{teamId}/channels/{channelId}/messages`
* Replace `{teamId}` with your Team ID (same as Group ID from the Channel link)
* Replace `{channelId}` with your Channel ID found using the steps above
4. Click **Run query**
5. In the **Response preview** panel below, you will see a list of messages
6. Find your message in the `value` array and copy the `id` field:
```json
{
"value": [
{
"id": "1616990032035",
"messageType": "message",
"createdDateTime": "2021-03-29T04:13:52.035Z",
"body": {
"content": "Your message content here"
}
}
]
}
```
7. The **Channel Message ID** is the `id` value: `1616990032035`
> **Note:** You can identify the right message by matching the `createdDateTime` or checking `body.content`. If you need a reply message ID specifically, add `/$expand=replies` to the request URL to include replies in the response, then find the reply's `id` inside the `replies` array of the parent message
# ByteChef Reference: Microsoft To Do
URL: /reference/components/microsoft-to-do_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/microsoft-to-do_v1.mdx
Microsoft To Do is a cloud-based task management application that helps users organize, prioritize, and track tasks across devices with features like lists, reminders, and collaboration.
Categories: Productivity and Collaboration
Type: microsoftToDo/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| tenantId | Tenant Id | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/microsoft-graph-application-setup_v1).
### Grant Necessary Permissions [#grant-necessary-permissions]
1. Open the Azure Portal: [https://portal.azure.com/](https://portal.azure.com/)
2. Click on **App registrations**.
3. Click on **All applications**.
4. Click on application you want to connect to Microsoft To Do.
5. Click on **API permissions**.
6. Click on **Microsoft Graph (1)**.
7. Select following scopes:
* Tasks.ReadWrite
* offline\_access
8. After selecting all the scopes click on **Update permissions**
## Actions [#actions]
### Create Task [#create-task]
Name: createTask
`Creates a new task.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :----------: | :---------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------: | :------: |
| taskListId | Task List ID | STRING | ID of the task list where the task will be created. | true |
| title | Title | STRING | Title of the task. | true |
| importance | Importance | STRING Options low , normal , high | Importance of the task. | false |
| isReminderOn | Reminder | BOOLEAN Options true , false | Set to true if an alert is set to remind the user of the task. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"taskListId" : "",
"title" : "",
"importance" : "",
"isReminderOn" : false
},
"type" : "microsoftToDo/v1/createTask"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------: |
| @odata.etag | STRING | |
| importance | STRING | Importance of the task. |
| isReminderOn | BOOLEAN Options true , false | Indicates whether an alert is set to reminder the user of the task. |
| status | STRING | State or progress of the task. |
| title | STRING | Title of the task. |
| categories | STRING | The categories associated with the task. |
| id | STRING | ID of the task. |
| body | OBJECT Properties \{STRING(content), STRING(contentType)} | Body of the task containing information about the task. |
| linkedResources | OBJECT Properties \{STRING(id), STRING(webUrl), STRING(applicationName), STRING(displayName)} | |
#### Output Example [#output-example]
```json
{
"@odata.etag" : "",
"importance" : "",
"isReminderOn" : false,
"status" : "",
"title" : "",
"categories" : "",
"id" : "",
"body" : {
"content" : "",
"contentType" : ""
},
"linkedResources" : {
"id" : "",
"webUrl" : "",
"applicationName" : "",
"displayName" : ""
}
}
```
### Create Task List [#create-task-list]
Name: createTaskList
`Creates a new task list.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :---: | :----: | :---------------------: | :------: |
| displayName | Title | STRING | Title of the task list. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Task List",
"name" : "createTaskList",
"parameters" : {
"displayName" : ""
},
"type" : "microsoftToDo/v1/createTaskList"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------: |
| @odata.context | STRING | |
| @odata.etag | STRING | |
| id | STRING | ID of the task list. |
| displayName | STRING | The name of the task list. |
| isOwner | BOOLEAN Options true , false | Indicates whether the user is the owner of the task list. |
| isShared | BOOLEAN Options true , false | Indicates whether the task list is shared with other users. |
| wellKnownListName | STRING | Property indicating the list name if the given list is a well-known list. The possible values are: none, defaultList, flaggedEmails, unknownFutureValue. |
#### Output Example [#output-example-1]
```json
{
"@odata.context" : "",
"@odata.etag" : "",
"id" : "",
"displayName" : "",
"isOwner" : false,
"isShared" : false,
"wellKnownListName" : ""
}
```
### Delete Task [#delete-task]
Name: deleteTask
`Deletes a task by ID.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :--------------------------------------------------------------------: | :--------------------------------------------: | :------: |
| taskListId | Task List ID | STRING | ID of the task list where the task is located. | true |
| taskId | Task ID | STRING Depends On taskListId | ID of the task to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Task",
"name" : "deleteTask",
"parameters" : {
"taskListId" : "",
"taskId" : ""
},
"type" : "microsoftToDo/v1/deleteTask"
}
```
#### Output [#output-2]
This action does not produce any output.
### Get Task [#get-task]
Name: getTask
`Gets task by ID.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :--------------------------------------------------------------------: | :--------------------------------------------: | :------: |
| taskListId | Task List ID | STRING | ID of the task list where the task is located. | true |
| taskId | Task ID | STRING Depends On taskListId | ID of the task to retrieve. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Get Task",
"name" : "getTask",
"parameters" : {
"taskListId" : "",
"taskId" : ""
},
"type" : "microsoftToDo/v1/getTask"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------: |
| @odata.etag | STRING | |
| importance | STRING | Importance of the task. |
| isReminderOn | BOOLEAN Options true , false | Indicates whether an alert is set to reminder the user of the task. |
| status | STRING | State or progress of the task. |
| title | STRING | Title of the task. |
| categories | STRING | The categories associated with the task. |
| id | STRING | ID of the task. |
| body | OBJECT Properties \{STRING(content), STRING(contentType)} | Body of the task containing information about the task. |
| linkedResources | OBJECT Properties \{STRING(id), STRING(webUrl), STRING(applicationName), STRING(displayName)} | |
#### Output Example [#output-example-2]
```json
{
"@odata.etag" : "",
"importance" : "",
"isReminderOn" : false,
"status" : "",
"title" : "",
"categories" : "",
"id" : "",
"body" : {
"content" : "",
"contentType" : ""
},
"linkedResources" : {
"id" : "",
"webUrl" : "",
"applicationName" : "",
"displayName" : ""
}
}
```
## Triggers [#triggers]
### New Task [#new-task]
Name: newTask
`Triggers when a new task is created in a specified task list.`
Type: POLLING
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :----: | :-------------------------------------------: | :------: |
| taskListId | Task List ID | STRING | ID of the task list to monitor for new tasks. | true |
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------: |
| @odata.etag | STRING | |
| importance | STRING | Importance of the task. |
| isReminderOn | BOOLEAN Options true , false | Indicates whether an alert is set to reminder the user of the task. |
| status | STRING | State or progress of the task. |
| title | STRING | Title of the task. |
| categories | STRING | The categories associated with the task. |
| id | STRING | ID of the task. |
| body | OBJECT Properties \{STRING(content), STRING(contentType)} | Body of the task containing information about the task. |
| linkedResources | OBJECT Properties \{STRING(id), STRING(webUrl), STRING(applicationName), STRING(displayName)} | |
#### JSON Example [#json-example]
```json
{
"label" : "New Task",
"name" : "newTask",
"parameters" : {
"taskListId" : ""
},
"type" : "microsoftToDo/v1/newTask"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Milvus
URL: /reference/components/milvus_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/milvus_v1.mdx
Milvus is an open-source vector database that has garnered significant attention in the fields of data science and machine learning.
Categories: Artificial Intelligence
Type: milvus/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------: | :------: |
| host | Host | STRING | The name or address of the host. | true |
| port | Port | STRING | The connection port. | true |
| uri | Uri | STRING | The uri of Milvus instance. | true |
| username | Username | STRING | The username for this connection. | true |
| password | Password | STRING | The password for this connection. | true |
| collection | Collection Name | STRING | Milvus collection name to use. | true |
| database | Database Name | STRING | The name of the Milvus database to use. | true |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to initialize the schema. | true |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "milvus/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "milvus/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "milvus/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "milvus/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: MistralAI
URL: /reference/components/mistral_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mistral_v1.mdx
Open, efficient, helpful and trustworthy AI models through ground-breaking innovations.
Categories: Artificial Intelligence
Type: mistral/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
### Find API Key [#find-api-key]
1. Navigate to your [Mistral Admin console](https://admin.mistral.ai/organization).
2. Click on **API Keys**.
3. Click on **Create new key**.
4. Enter the name of your API key.
5. Select the workspace the API key will be connected to.
6. Select the expiration date for your API key.
7. Select access scopes for your API key.
8. Click on **Create new key**.
9. Click on **Copy key**.
10. Click on **Done**.
11. Done 🚀.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options codestral-latest , ministral-14b-latest , ministral-3b-latest , ministral-8b-latest , mistral-large-latest , mistral-medium-latest , mistral-small-latest | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| seed | Seed | INTEGER | Keeping the same seed would output the same response. | false |
| safePrompt | Safe prompt | BOOLEAN Options true , false | Should the prompt be safe for work? | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"temperature" : 0.0,
"topP" : 0.0,
"stop" : [ "" ],
"seed" : 1,
"safePrompt" : false
},
"type" : "mistral/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Document OCR [#document-ocr]
Name: ocr
`Extracts text and structured content from documents.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------: | :----------: | :-----------------------------------------------------------------------------------------------------------------------------: | :------------------------------------: | :------: |
| model | Model | STRING | Model to use. | true |
| type | Type | STRING Options image\_url , document\_url , file | Type of the document to run OCR on. | true |
| url | Image URL | STRING | Url of the image to run OCR on. | true |
| file\_id | File ID | STRING | File ID of the document to run OCR on. | true |
| url | Document URL | STRING | Url of the document to run OCR on. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Document OCR",
"name" : "ocr",
"parameters" : {
"model" : "",
"type" : "",
"url" : "",
"file_id" : ""
},
"type" : "mistral/v1/ocr"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :---------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------: |
| pages | ARRAY Items \[\{INTEGER(index), STRING(markdown), \[\{STRING(id), INTEGER(top\_left\_x), INTEGER(top\_left\_y), INTEGER(bottom\_right\_x), INTEGER(bottom\_right\_y)}]\(images), \{INTEGER(dpi), INTEGER(height), INTEGER(width)}(dimensions)}] | List of OCR info for pages. |
| model | STRING | The model used to generate the OCR. |
| usage\_info | OBJECT Properties \{INTEGER(pages\_processed), INTEGER(doc\_size\_bytes)} | Usage info for the OCR request. |
#### Output Example [#output-example]
```json
{
"pages" : [ {
"index" : 1,
"markdown" : "",
"images" : [ {
"id" : "",
"top_left_x" : 1,
"top_left_y" : 1,
"bottom_right_x" : 1,
"bottom_right_y" : 1
} ],
"dimensions" : {
"dpi" : 1,
"height" : 1,
"width" : 1
}
} ],
"model" : "",
"usage_info" : {
"pages_processed" : 1,
"doc_size_bytes" : 1
}
}
```
### Upload File [#upload-file]
Name: uploadFile
`Extracts text and structured content from documents.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :-------------------------------------------------------------------------------------------------------------------: | :----------------------: | :------: |
| purpose | Purpose | STRING Options fine-tune , batch , ocr | Model to use. | false |
| file | File | FILE\_ENTRY | The file to be uploaded. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Upload File",
"name" : "uploadFile",
"parameters" : {
"purpose" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "mistral/v1/uploadFile"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :----------: | :-----: | :-------------------------------------------: |
| id | STRING | ID of the uploaded file. |
| object | STRING | The object type, which is always file. |
| bytes | INTEGER | Size of the file in bytes. |
| created\_at | INTEGER | The UNIX timestamp (in seconds) of the event. |
| filename | STRING | Name of the uploaded file. |
| purpose | STRING | The intended purpose of the uploaded file. |
| sample\_type | STRING | |
| num\_lines | INTEGER | |
| mimetype | STRING | MIME type of the uploaded file. |
| source | STRING | |
| signature | STRING | |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"object" : "",
"bytes" : 1,
"created_at" : 1,
"filename" : "",
"purpose" : "",
"sample_type" : "",
"num_lines" : 1,
"mimetype" : "",
"source" : "",
"signature" : ""
}
```
# ByteChef Reference: Mixpanel
URL: /reference/components/mixpanel_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mixpanel_v1.mdx
Mixpanel is a product analytics tool that helps you track user interactions and behaviors in your app or website to make data-driven decisions.
Categories: Analytics
Type: mixpanel/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :---------: | :------: |
| username | Username | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to the dashboard at [https://eu.mixpanel.com/login/](https://eu.mixpanel.com/login/).
2. Click on Settings.
3. Select Settings and then click on Project Settings.
4. Under Access Keys section, copy the Project Token. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Track Events [#track-events]
Name: trackEvents
`Send batches of events from your servers to Mixpanel.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------: | :------: |
| events | Events | ARRAY Items \[\{STRING(event), DATE\_TIME(time), STRING(distinct\_id), STRING(\$insert\_id)}] | A list of events to be sent to Mixpanel. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Track Events",
"name" : "trackEvents",
"parameters" : {
"events" : [ {
"event" : "",
"time" : "2021-01-01T00:00:00",
"distinct_id" : "",
"$insert_id" : ""
} ]
},
"type" : "mixpanel/v1/trackEvents"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--------------------: | :-----: | :---------: |
| code | INTEGER | |
| num\_records\_imported | INTEGER | |
| status | STRING | |
#### Output Example [#output-example]
```json
{
"code" : 1,
"num_records_imported" : 1,
"status" : ""
}
```
#### Find Distinct ID [#find-distinct-id]
To find the Distinct ID, click [here](/reference/components/mixpanel_v1#how-to-find-distinct-id).
#### Find Insert ID [#find-insert-id]
To find the Insert ID, click [here](/reference/components/mixpanel_v1#how-to-find-insert-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Distinct ID [#how-to-find-distinct-id]
Open the Mixpanel dashboard. On the left bar, go to Data/Users. Choose the user you want to use, click on the user and below the name, you will find Distinct ID.
### How to find Insert ID [#how-to-find-insert-id]
Open the Mixpanel dashboard. On the left bar, go to Data/Events. Choose the event you want to use, click on the event and in the table you will find Insert ID.
# ByteChef Reference: Modular RAG
URL: /reference/components/modular-rag_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/modular-rag_v1.mdx
A modular RAG (Retrieval-Augmented Generation) component that provides a flexible and customizable approach to building RAG systems. It allows you to combine different retrieval, augmentation, and generation strategies into a cohesive pipeline for enhanced AI-driven information processing and response generation.
Categories: Artificial Intelligence
Type: modularRag/v1
# ByteChef Reference: monday.com
URL: /reference/components/monday_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/monday_v1.mdx
Monday.com is a work operating system that powers teams to run projects and workflows with confidence.
Categories: Project Management
Type: monday/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect monday.com to ByteChef using OAuth 2.0 (Authorization Code).
### Create an OAuth app in monday.com [#create-an-oauth-app-in-mondaycom]
1. Open monday.com and click your profile avatar (top-right).
2. Click on **Developers** to open the Developer Center.
3. Click **Create app** (or open your existing app).
4. Give the app a clear name, for example `ByteChef Integration`.
5. In the left menu, open **Build** and choose **OAuth & permissions**.
6. Add the following scopes (minimum required by ByteChef):
* `boards:read`
* `boards:write`
* `workspaces:read`
* `webhooks:write`
7. Save the scopes.
8. Click on **Redirect URLs** and add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://127.0.0.1:5173/callback` or `http://localhost:5173/callback`
9. Go back to **General settings** and copy your **Client ID** and **Client Secret** for later.
## Actions [#actions]
### Create Board [#create-board]
Name: createBoard
`Create a new board.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :--------------------------------------------------------------------------------------------------------------------: | :------------------------------------: | :------: |
| board\_name | Board Name | STRING | Name of the new board. | true |
| board\_kind | Board Kind | STRING Options private , public , share | The type of board to create. | true |
| description | Description | STRING | Detailed description of the new board. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Board",
"name" : "createBoard",
"parameters" : {
"board_name" : "",
"board_kind" : "",
"description" : ""
},
"type" : "monday/v1/createBoard"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------: | :-------------------------------------------------------------------------------------: | :---------: |
| create\_board | OBJECT Properties \{STRING(id), STRING(name)} | |
#### Output Example [#output-example]
```json
{
"create_board" : {
"id" : "",
"name" : ""
}
}
```
### Create Column [#create-column]
Name: createColumn
`Create a new column in an existing board.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace where the board is located. | false |
| board\_id | Board ID | STRING Depends On workspace\_id | ID of the board where the new column should be created. | true |
| title | Title | STRING | The new column's title. | true |
| column\_type | Column Type | STRING Options auto\_number , board\_relation , button , checkbox , color\_picker , country , creation\_log , date , dependency , doc , dropdown , email , file , formula , hour , item\_assignees , item\_id , last\_updated , link , location , long\_text , mirror , name , numbers , people , phone , progress , rating , status , subtasks , tags , team , text , timeline , time\_tracking , vote , week , world\_clock , unsupported | The type of column to create. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Column",
"name" : "createColumn",
"parameters" : {
"workspace_id" : "",
"board_id" : "",
"title" : "",
"column_type" : ""
},
"type" : "monday/v1/createColumn"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------: | :--------------------------------------------------------------------------------------: | :---------: |
| create\_column | OBJECT Properties \{STRING(id), STRING(title)} | |
#### Output Example [#output-example-1]
```json
{
"create_column" : {
"id" : "",
"title" : ""
}
}
```
#### Find Workspace ID [#find-workspace-id]
To find the Workspace ID, click [here](/reference/components/monday_v1#how-to-find-workspace-id).
#### Find Board ID [#find-board-id]
To find the Board ID, click [here](/reference/components/monday_v1#how-to-find-board-id).
### Create Group [#create-group]
Name: createGroup
`Creates a new group in an existing board.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :-----------------------------------------------------------------------: | :---------------------------------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace where the board is located. | false |
| board\_id | Board ID | STRING Depends On workspace\_id | ID of the board where new item will be created. | true |
| group\_name | Group Name | STRING | The new group's name. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Group",
"name" : "createGroup",
"parameters" : {
"workspace_id" : "",
"board_id" : "",
"group_name" : ""
},
"type" : "monday/v1/createGroup"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----------: | :-------------------------------------------------------------------------------------: | :---------: |
| create\_group | OBJECT Properties \{STRING(id), STRING(name)} | |
#### Output Example [#output-example-2]
```json
{
"create_group" : {
"id" : "",
"name" : ""
}
}
```
#### Find Workspace ID [#find-workspace-id-1]
To find the Workspace ID, click [here](/reference/components/monday_v1#how-to-find-workspace-id).
#### Find Board ID [#find-board-id-1]
To find the Board ID, click [here](/reference/components/monday_v1#how-to-find-board-id).
### Create Item [#create-item]
Name: createItem
`Create a new item in an existing board.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :--------------------------------------------------------------------------------: | :---------------------------------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace where the board is located. | false |
| board\_id | Board ID | STRING Depends On workspace\_id | ID of the board where new item will be created. | true |
| group\_id | Group ID | STRING Depends On board\_id | The item's group. | false |
| item\_name | Item Name | STRING | The item's name. | true |
| columnValues | | DYNAMIC\_PROPERTIES Depends On board\_id | | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Item",
"name" : "createItem",
"parameters" : {
"workspace_id" : "",
"board_id" : "",
"group_id" : "",
"item_name" : "",
"columnValues" : { }
},
"type" : "monday/v1/createItem"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----------: | :-------------------------------------------------------------------------------------: | :---------: |
| create\_item | OBJECT Properties \{STRING(id), STRING(name)} | |
#### Output Example [#output-example-3]
```json
{
"create_item" : {
"id" : "",
"name" : ""
}
}
```
#### Find Workspace ID [#find-workspace-id-2]
To find the Workspace ID, click [here](/reference/components/monday_v1#how-to-find-workspace-id).
#### Find Board ID [#find-board-id-2]
To find the Board ID, click [here](/reference/components/monday_v1#how-to-find-board-id).
#### Find Group ID [#find-group-id]
To find the Group ID, click [here](/reference/components/monday_v1#how-to-find-group-id).
### Delete Item [#delete-item]
Name: deleteItem
`Deletes an item from an existing board.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :-----------------------------------------------------------------------: | :---------------------------------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace where the board is located. | false |
| board\_id | Board ID | STRING Depends On workspace\_id | ID of the board where the item is located. | false |
| item\_id | Item ID | STRING Depends On board\_id | ID of the item to delete. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Delete Item",
"name" : "deleteItem",
"parameters" : {
"workspace_id" : "",
"board_id" : "",
"item_id" : ""
},
"type" : "monday/v1/deleteItem"
}
```
#### Output [#output-4]
This action does not produce any output.
#### Find Workspace ID [#find-workspace-id-3]
To find the Workspace ID, click [here](/reference/components/monday_v1#how-to-find-workspace-id).
#### Find Board ID [#find-board-id-3]
To find the Board ID, click [here](/reference/components/monday_v1#how-to-find-board-id).
#### Find Item ID [#find-item-id]
To find the Item ID, click [here](/reference/components/monday_v1#how-to-find-item-id).
### Get Board Values [#get-board-values]
Name: getBoardValues
`Get a list of board's items.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :-----------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace where the board is located. | false |
| board\_id | Board ID | STRING Depends On workspace\_id | ID of the board to return values for. | true |
| columns | Columns | ARRAY Items \[STRING] | Select specific columns to return values for. If empty, all columns will be returned. | false |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get Board Values",
"name" : "getBoardValues",
"parameters" : {
"workspace_id" : "",
"board_id" : "",
"columns" : [ "" ]
},
"type" : "monday/v1/getBoardValues"
}
```
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Workspace ID [#find-workspace-id-4]
To find the Workspace ID, click [here](/reference/components/monday_v1#how-to-find-workspace-id).
#### Find Board ID [#find-board-id-4]
To find the Board ID, click [here](/reference/components/monday_v1#how-to-find-board-id).
#### Find Column ID [#find-column-id]
To find the Column ID, click [here](/reference/components/monday_v1#how-to-find-column-id).
### Update Item Status [#update-item-status]
Name: updateItemStatus
`Update status column on a specific item. Available only for boards that have defined status column.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :-------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace where the board is located. | false |
| board\_id | Board ID | STRING Depends On workspace\_id | ID of the board where the item is located. Returns only boards with defined status column. | true |
| column\_id | Column ID | STRING Depends On board\_id | Column ID. | true |
| item\_id | Item ID | STRING Depends On board\_id | ID of the item to update. | true |
| status | Status | STRING Depends On board\_id, column\_id | The status label. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Update Item Status",
"name" : "updateItemStatus",
"parameters" : {
"workspace_id" : "",
"board_id" : "",
"column_id" : "",
"item_id" : "",
"status" : ""
},
"type" : "monday/v1/updateItemStatus"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :-------------------: | :-------------------------------------------------------------------------------------: | :---------: |
| change\_column\_value | OBJECT Properties \{STRING(id), STRING(name)} | |
#### Output Example [#output-example-4]
```json
{
"change_column_value" : {
"id" : "",
"name" : ""
}
}
```
#### Find Workspace ID [#find-workspace-id-5]
To find the Workspace ID, click [here](/reference/components/monday_v1#how-to-find-workspace-id).
#### Find Board ID [#find-board-id-5]
To find the Board ID, click [here](/reference/components/monday_v1#how-to-find-board-id).
#### Find Column ID [#find-column-id-1]
To find the Column ID, click [here](/reference/components/monday_v1#how-to-find-column-id).
#### Find Item ID [#find-item-id-1]
To find the Item ID, click [here](/reference/components/monday_v1#how-to-find-item-id).
#### Find Status [#find-status]
To find the Status, click [here](/reference/components/monday_v1#how-to-find-status).
## Triggers [#triggers]
### New Item in Board [#new-item-in-board]
Name: newItemInBoard
`Triggers when an item is created in board.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :-----------------------------------------------------------------------: | :---------------------------------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace where the board is located. | false |
| board\_id | Board ID | STRING Depends On workspace\_id | ID of the board to monitor for new items. | true |
#### Output [#output-7]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Item in Board",
"name" : "newItemInBoard",
"parameters" : {
"workspace_id" : "",
"board_id" : ""
},
"type" : "monday/v1/newItemInBoard"
}
```
#### Find Workspace ID [#find-workspace-id-6]
To find the Workspace ID, click [here](/reference/components/monday_v1#how-to-find-workspace-id).
#### Find Board ID [#find-board-id-6]
To find the Board ID, click [here](/reference/components/monday_v1#how-to-find-board-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Workspace ID [#how-to-find-workspace-id]
* **Method 1: Via UI**
To find a Workspace ID, open the workspace. In URL you can find the Workspace ID. For example if URL is `https://bytechef.monday.com/workspaces/123`, your ID is 123.
* **Method 2: Via API**
You can use `query{workspaces{id name}}`.
### How to find Board ID [#how-to-find-board-id]
* **Method 1: Via UI**
To find a Board ID, open the board. In URL you can find the Board ID. For example if URL is `https://bytechef.monday.com/boards/123`, your ID is 123.
* **Method 2: Via API**
You can use `query{boards(workspace_ids: WORKSPACE_ID, order_by: created_at){id name}}`.
### How to find Group ID [#how-to-find-group-id]
* **Method 1: Via UI**
To find Group ID, open the board where group is located. Click on three dots in front of group name and there you will find Group ID.
* **Method 2: Via API**
You can use `query{boards(ids: BOARD_ID){groups{id title}}}`.
### How to find Item ID [#how-to-find-item-id]
* **Method 1: Via UI**
To find Item ID, open the item page. In URL you can find the Item ID. For example if URL is `https://bytechef.monday.com/boards/123/pulses/456`, your ID is 456.
* **Method 2: Via API**
You can use `query{boards(ids: BOARD_ID){items_page{items{id name}}}}`.
### How to find Column ID [#how-to-find-column-id]
* **Method 1: Via UI**
To find Column ID, open the board. Click on three dots next to the column name and there you will find Column ID.
* **Method 2: Via API**
You can use `query{boards(ids: BOARD_ID){columns {id title}}}`.
### How to find Status [#how-to-find-status]
* **Method 1: Via UI**
To find status labels, open the board. By clicking on status field for each item, you can find available status labels.
# ByteChef Reference: MongoDB Chat Memory
URL: /reference/components/mongo-db-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mongo-db-chat-memory_v1.mdx
MongoDB Chat Memory stores conversation history in MongoDB for flexible, document-based persistent storage.
Categories: Artificial Intelligence
Type: mongoDbChatMemory/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :-------------------: | :------: |
| username | Username | STRING | The MongoDB username. | false |
| password | Password | STRING | The MongoDB password. | false |
## Actions [#actions]
### Add Messages [#add-messages]
Name: addMessages
`Adds messages to the chat memory for a conversation.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :---------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content)}] | The messages to add to the conversation. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Messages",
"name" : "addMessages",
"parameters" : {
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
},
"type" : "mongoDbChatMemory/v1/addMessages"
}
```
#### Output [#output]
This action does not produce any output.
### Get Messages [#get-messages]
Name: getMessages
`Retrieves all messages from a conversation.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Messages",
"name" : "getMessages",
"parameters" : {
"conversationId" : ""
},
"type" : "mongoDbChatMemory/v1/getMessages"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| messages | ARRAY Items \[\{STRING(role), STRING(content)}] | |
#### Output Example [#output-example]
```json
{
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
}
```
### Delete Conversation [#delete-conversation]
Name: deleteConversation
`Deletes all messages for a conversation.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :---------------------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Conversation",
"name" : "deleteConversation",
"parameters" : {
"conversationId" : ""
},
"type" : "mongoDbChatMemory/v1/deleteConversation"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| deleted | BOOLEAN Options true , false | |
#### Output Example [#output-example-1]
```json
{
"conversationId" : "",
"deleted" : false
}
```
### List Conversations [#list-conversations]
Name: listConversations
`Lists all conversation IDs in the chat memory.`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Conversations",
"name" : "listConversations",
"type" : "mongoDbChatMemory/v1/listConversations"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------: | :---------: |
| conversationIds | ARRAY Items \[STRING] | |
| count | INTEGER | |
#### Output Example [#output-example-2]
```json
{
"conversationIds" : [ "" ],
"count" : 1
}
```
# ByteChef Reference: MongoDB Atlas Vector Search
URL: /reference/components/mongodbAtlas_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mongodbAtlas_v1.mdx
MongoDB Atlas Vector Search combines document storage with vector similarity search, enabling storage and retrieval of high-dimensional embeddings for AI and machine learning applications.
Categories: Artificial Intelligence
Type: mongodbAtlas/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :------------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :------: |
| connectionString | Connection String | STRING | The MongoDB Atlas connection string, e.g. mongodb+srv://cluster0.example.mongodb.net. | true |
| databaseName | Database Name | STRING | The name of the database to store the vectors in. | true |
| username | Username | STRING | Username for authentication with MongoDB Atlas. | false |
| password | Password | STRING | Password for authentication with MongoDB Atlas. | false |
| collectionName | Collection Name | STRING | The name of the collection to store the vectors in. | false |
| indexName | Vector Index Name | STRING | The name of the Atlas Vector Search index. | false |
| pathName | Path Name | STRING | The path where the embeddings are stored within the document. | false |
| numCandidates | Number of Candidates | INTEGER | The number of candidates to consider during approximate nearest neighbor search. | false |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to initialize the collection and the vector search index. | false |
## Connection Setup [#connection-setup]
[Official documentation](https://www.mongodb.com/docs/atlas/atlas-vector-search/vector-search-overview/)
Step-by-step guide:
1. Create a [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) cluster running MongoDB 6.0.11, 7.0.2, or later, with Vector Search enabled.
2. Go to Database Access and create a database user (username and password).
3. Go to Network Access and allow your current IP address.
4. Go to Database → Connect → Drivers and copy the connection string (it looks like `mongodb+srv://cluster0.example.mongodb.net`).
5. Create the database and collection that will store the vectors.
6. Create an Atlas Vector Search index on the collection, or enable **Initialize Schema** to have it created automatically.
Now you have the Connection String, Database Name, Username, Password, Collection Name and Vector Index Name and can create a connection.
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "mongodbAtlas/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "mongodbAtlas/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "mongodbAtlas/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "mongodbAtlas/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: MongoDB
URL: /reference/components/mongodb_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mongodb_v1.mdx
MongoDB is a source-available, cross-platform, document-oriented database. Query, insert, update and delete documents in your collections.
Categories: Developer Tools
Type: mongodb/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :----: | :---------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| connectionString | Connection String | STRING | The MongoDB connection string. Supports both standard (mongodb://) and SRV (mongodb+srv://) formats, as well as TLS and authentication options. | true |
| database | Database | STRING | The name of the database to connect to. | true |
| username | Username | STRING | Username for authentication. Leave empty if credentials are in the connection string or no authentication is required. | false |
| password | Password | STRING | Password for authentication. Leave empty if credentials are in the connection string or no authentication is required. | false |
## Connection Setup [#connection-setup]
[Official documentation](https://www.mongodb.com/docs/manual/reference/connection-string/)
ByteChef connects to MongoDB using a standard connection string, so both MongoDB Atlas (SRV) and self-hosted deployments are supported.
### MongoDB Atlas [#mongodb-atlas]
1. In [MongoDB Atlas](https://www.mongodb.com/cloud/atlas), open your cluster and click **Connect → Drivers**.
2. Copy the SRV connection string (it looks like `mongodb+srv://cluster0.example.mongodb.net`).
3. Under **Database Access**, create a database user (username and password).
4. Under **Network Access**, allow your current IP address.
5. Enter the connection string, database name and the user's credentials when creating the connection.
### Self-hosted [#self-hosted]
1. Use a standard connection string such as `mongodb://host:27017`.
2. Provide the database name and, if authentication is enabled, the username and password.
TLS, X.509 and other advanced authentication options can be supplied directly in the connection string. See the [connection string options](https://www.mongodb.com/docs/manual/reference/connection-string-options/) for details.
## Actions [#actions]
### Find [#find]
Name: find
`Finds documents in a collection matching a filter.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-------------------------------------------------------------: | :------------------------------------------------------------------------------: | :------: |
| collection | Collection | STRING | The name of the collection to query. | true |
| filter | Filter | OBJECT Properties \{} | The query filter as a JSON object. Leave empty to match all documents. | false |
| projection | Projection | OBJECT Properties \{} | The fields to include or exclude as a JSON object, e.g. \{"name": 1, "\_id": 0}. | false |
| sort | Sort | OBJECT Properties \{} | The sort order as a JSON object, e.g. \{"createdAt": -1} for descending. | false |
| limit | Limit | INTEGER | The maximum number of documents to return. Leave empty for no limit. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Find",
"name" : "find",
"parameters" : {
"collection" : "",
"filter" : { },
"projection" : { },
"sort" : { },
"limit" : 1
},
"type" : "mongodb/v1/find"
}
```
#### Output [#output]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :--: | :---------: |
#### Output Example [#output-example]
```json
[ { } ]
```
### Insert One [#insert-one]
Name: insertOne
`Inserts a single document into a collection.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-------------------------------------------------------------: | :----------------------------------------: | :------: |
| collection | Collection | STRING | The name of the collection to insert into. | true |
| document | Document | OBJECT Properties \{} | The document to insert as a JSON object. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Insert One",
"name" : "insertOne",
"parameters" : {
"collection" : "",
"document" : { }
},
"type" : "mongodb/v1/insertOne"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--------: | :----: | :--------------------------------------: |
| insertedId | STRING | The identifier of the inserted document. |
#### Output Example [#output-example-1]
```json
{
"insertedId" : ""
}
```
### Insert Many [#insert-many]
Name: insertMany
`Inserts multiple documents into a collection.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :----------------------------------------------------------: | :---------------------------------------------: | :------: |
| collection | Collection | STRING | The name of the collection to insert into. | true |
| documents | Documents | ARRAY Items \[\{}] | The documents to insert, each as a JSON object. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Insert Many",
"name" : "insertMany",
"parameters" : {
"collection" : "",
"documents" : [ { } ]
},
"type" : "mongodb/v1/insertMany"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----------: | :-------------------------------------------------------------: | :----------------------------------------: |
| insertedCount | INTEGER | The number of documents inserted. |
| insertedIds | ARRAY Items \[STRING] | The identifiers of the inserted documents. |
#### Output Example [#output-example-2]
```json
{
"insertedCount" : 1,
"insertedIds" : [ "" ]
}
```
### Update One [#update-one]
Name: updateOne
`Updates a single document in a collection matching a filter.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------: | :------: |
| collection | Collection | STRING | The name of the collection to update. | true |
| filter | Filter | OBJECT Properties \{} | The query filter that selects the document to update, as a JSON object. | true |
| update | Update | OBJECT Properties \{} | The update to apply, as a JSON object using update operators, e.g. \{"\$set": \{"status": "active"}}. | true |
| upsert | Upsert | BOOLEAN Options true , false | Whether to insert a new document when no document matches the filter. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update One",
"name" : "updateOne",
"parameters" : {
"collection" : "",
"filter" : { },
"update" : { },
"upsert" : false
},
"type" : "mongodb/v1/updateOne"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-----------: | :-----: | :----------------------------------------------: |
| matchedCount | INTEGER | The number of documents that matched the filter. |
| modifiedCount | INTEGER | The number of documents that were modified. |
| upsertedId | STRING | The identifier of the upserted document, if any. |
#### Output Example [#output-example-3]
```json
{
"matchedCount" : 1,
"modifiedCount" : 1,
"upsertedId" : ""
}
```
### Update Many [#update-many]
Name: updateMany
`Updates all documents in a collection matching a filter.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------: | :------: |
| collection | Collection | STRING | The name of the collection to update. | true |
| filter | Filter | OBJECT Properties \{} | The query filter that selects the documents to update, as a JSON object. | true |
| update | Update | OBJECT Properties \{} | The update to apply, as a JSON object using update operators, e.g. \{"\$set": \{"status": "active"}}. | true |
| upsert | Upsert | BOOLEAN Options true , false | Whether to insert a new document when no document matches the filter. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Update Many",
"name" : "updateMany",
"parameters" : {
"collection" : "",
"filter" : { },
"update" : { },
"upsert" : false
},
"type" : "mongodb/v1/updateMany"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-----------: | :-----: | :----------------------------------------------: |
| matchedCount | INTEGER | The number of documents that matched the filter. |
| modifiedCount | INTEGER | The number of documents that were modified. |
| upsertedId | STRING | The identifier of the upserted document, if any. |
#### Output Example [#output-example-4]
```json
{
"matchedCount" : 1,
"modifiedCount" : 1,
"upsertedId" : ""
}
```
### Delete One [#delete-one]
Name: deleteOne
`Deletes a single document from a collection matching a filter.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-------------------------------------------------------------: | :---------------------------------------------------------------------: | :------: |
| collection | Collection | STRING | The name of the collection to delete from. | true |
| filter | Filter | OBJECT Properties \{} | The query filter that selects the document to delete, as a JSON object. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Delete One",
"name" : "deleteOne",
"parameters" : {
"collection" : "",
"filter" : { }
},
"type" : "mongodb/v1/deleteOne"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :----------: | :-----: | :------------------------------: |
| deletedCount | INTEGER | The number of documents deleted. |
#### Output Example [#output-example-5]
```json
{
"deletedCount" : 1
}
```
### Delete Many [#delete-many]
Name: deleteMany
`Deletes all documents from a collection matching a filter.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-------------------------------------------------------------: | :----------------------------------------------------------------------: | :------: |
| collection | Collection | STRING | The name of the collection to delete from. | true |
| filter | Filter | OBJECT Properties \{} | The query filter that selects the documents to delete, as a JSON object. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Delete Many",
"name" : "deleteMany",
"parameters" : {
"collection" : "",
"filter" : { }
},
"type" : "mongodb/v1/deleteMany"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :----------: | :-----: | :------------------------------: |
| deletedCount | INTEGER | The number of documents deleted. |
#### Output Example [#output-example-6]
```json
{
"deletedCount" : 1
}
```
### Aggregate [#aggregate]
Name: aggregate
`Runs an aggregation pipeline against a collection.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :----------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------: | :------: |
| collection | Collection | STRING | The name of the collection to aggregate. | true |
| pipeline | Pipeline | ARRAY Items \[\{}] | The aggregation pipeline, an ordered list of stages, each as a JSON object, e.g. \{"\$match": \{"active": true}}. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Aggregate",
"name" : "aggregate",
"parameters" : {
"collection" : "",
"pipeline" : [ { } ]
},
"type" : "mongodb/v1/aggregate"
}
```
#### Output [#output-7]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-16]
| Name | Type | Description |
| :--: | :--: | :---------: |
#### Output Example [#output-example-7]
```json
[ { } ]
```
## Triggers [#triggers]
### New Document [#new-document]
Name: newDocument
`Triggers when a new document is added to a collection.`
Type: POLLING
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :--------: | :------------: | :----: | :----------------------------------------------------------------------------------------------------------------: | :------: |
| collection | Collection | STRING | The name of the collection to watch. | true |
| orderBy | Order By Field | STRING | The field used to detect new documents. Use a monotonically increasing field such as \_id or a creation timestamp. | true |
#### Output [#output-8]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-18]
| Name | Type | Description |
| :--: | :--: | :---------: |
#### JSON Example [#json-example]
```json
{
"label" : "New Document",
"name" : "newDocument",
"parameters" : {
"collection" : "",
"orderBy" : ""
},
"type" : "mongodb/v1/newDocument"
}
```
# Additional Instructions [#additional-instructions]
### Filters, documents and pipelines [#filters-documents-and-pipelines]
Properties such as **Filter**, **Update**, **Document** and the **Pipeline** stages are
expressed as JSON objects that map directly to MongoDB's query language.
* **Filter** uses [query operators](https://www.mongodb.com/docs/manual/reference/operator/query/),
e.g. `{"age": {"$gte": 18}, "active": true}`.
* **Update** uses [update operators](https://www.mongodb.com/docs/manual/reference/operator/update/),
e.g. `{"$set": {"status": "active"}, "$inc": {"loginCount": 1}}`.
* **Pipeline** is an ordered list of [aggregation stages](https://www.mongodb.com/docs/manual/reference/operator/aggregation-pipeline/),
e.g. `[{"$match": {"active": true}}, {"$group": {"_id": "$country", "total": {"$sum": 1}}}]`.
### New Document trigger [#new-document-trigger]
The **New Document** trigger detects new documents by tracking the highest value seen for the
configured **Order By Field**. Use a monotonically increasing field such as `_id` (the default)
or a creation timestamp so that newly inserted documents are reliably detected. The first poll
records the current position and does not emit the existing backlog.
# ByteChef Reference: Myob
URL: /reference/components/myob_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/myob_v1.mdx
MYOB is an accounting software that helps businesses manage their finances, invoicing, and payroll.
Categories: Accounting
Type: myob/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :--------------------------------------------------------------------------------------------------------------------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| key | API key | STRING | The API key registered in [https://my.myob.com.au/au/bd/DevAppList.aspx](https://my.myob.com.au/au/bd/DevAppList.aspx) | true |
## Actions [#actions]
### Create Customer [#create-customer]
Name: createCustomer
`Creates a new customer.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------: | :------: |
| companyFile | Company File | STRING | The MYOB company file to use. | true |
| IsIndividual | Is Individual? | BOOLEAN Options true , false | Does customer contact represent an individual or a company? | true |
| FirstName | First Name | STRING | First name for an individual contact. | true |
| LastName | Last Name | STRING | Last name for an individual contact. | true |
| CompanyName | Company Name | STRING | Company name of the customer contact. | true |
| IsActive | Is Active? | BOOLEAN Options true , false | Is customer contact active? | true |
| Addresses | Addresses | ARRAY Items \[\{STRING(Street), STRING(City), STRING(State), STRING(PostCode), STRING(Country), STRING(Phone1), STRING(Email), STRING(Website)}] | List of addresses for the customer contact. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Customer",
"name" : "createCustomer",
"parameters" : {
"companyFile" : "",
"IsIndividual" : false,
"FirstName" : "",
"LastName" : "",
"CompanyName" : "",
"IsActive" : false,
"Addresses" : [ {
"Street" : "",
"City" : "",
"State" : "",
"PostCode" : "",
"Country" : "",
"Phone1" : "",
"Email" : "",
"Website" : ""
} ]
},
"type" : "myob/v1/createCustomer"
}
```
#### Output [#output]
This action does not produce any output.
### Create Customer Payment [#create-customer-payment]
Name: createCustomerPayment
`Creates a new customer payment.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :------------------------------------------------------------------------------------------------------------: | :---------------------------: | :------: |
| companyFile | Company File | STRING | The MYOB company file to use. | true |
| PayFrom | Pay From | STRING Options Account , ElectronicPayments | | true |
| Account | Account | STRING | | true |
| Customer | Customer UID | STRING Depends On companyFile | | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Customer Payment",
"name" : "createCustomerPayment",
"parameters" : {
"companyFile" : "",
"PayFrom" : "",
"Account" : "",
"Customer" : ""
},
"type" : "myob/v1/createCustomerPayment"
}
```
#### Output [#output-1]
This action does not produce any output.
### Create Supplier [#create-supplier]
Name: createSupplier
`Creates a new supplier.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------: | :------: |
| companyFile | Company File | STRING | The MYOB company file to use. | true |
| IsIndividual | Is Individual? | BOOLEAN Options true , false | Does supplier contact represent an individual or a company? | true |
| FirstName | First Name | STRING | First name for an individual contact. | true |
| LastName | Last Name | STRING | Last name for an individual contact. | true |
| CompanyName | Company Name | STRING | Company name of the supplier contact. | true |
| IsActive | Is Active? | BOOLEAN Options true , false | Is supplier contact active? | false |
| Addresses | Addresses | ARRAY Items \[\{STRING(Street), STRING(City), STRING(State), STRING(PostCode), STRING(Country), STRING(Phone1), STRING(Email), STRING(Website)}] | List of addresses for the customer contact. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Supplier",
"name" : "createSupplier",
"parameters" : {
"companyFile" : "",
"IsIndividual" : false,
"FirstName" : "",
"LastName" : "",
"CompanyName" : "",
"IsActive" : false,
"Addresses" : [ {
"Street" : "",
"City" : "",
"State" : "",
"PostCode" : "",
"Country" : "",
"Phone1" : "",
"Email" : "",
"Website" : ""
} ]
},
"type" : "myob/v1/createSupplier"
}
```
#### Output [#output-2]
This action does not produce any output.
### Create Supplier Payment [#create-supplier-payment]
Name: createSupplierPayment
`Creates a new supplier payment.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :------------------------------------------------------------------------------------------------------------: | :---------------------------: | :------: |
| companyFile | Company File | STRING | The MYOB company file to use. | true |
| PayFrom | Pay From | STRING Options Account , ElectronicPayments | | true |
| Account | Account | STRING | | true |
| Supplier | Supplier UID | STRING Depends On companyFile | | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Supplier Payment",
"name" : "createSupplierPayment",
"parameters" : {
"companyFile" : "",
"PayFrom" : "",
"Account" : "",
"Supplier" : ""
},
"type" : "myob/v1/createSupplierPayment"
}
```
#### Output [#output-3]
This action does not produce any output.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: MySQL
URL: /reference/components/mysql_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/mysql_v1.mdx
Query, insert and update data from MySQL.
Categories:
Type: mysql/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :---------: | :------: |
| username | Username | STRING | | true |
| password | Password | STRING | | true |
## Actions [#actions]
### Query [#query]
Name: query
`Execute an SQL query.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The raw SQL query to execute. You can use :property1 and :property2 in conjunction with parameters. | true |
| parameters | Parameters | OBJECT Properties \{} | The list of properties which should be used as query parameters. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Query",
"name" : "query",
"parameters" : {
"query" : "",
"parameters" : { }
},
"type" : "mysql/v1/query"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Insert [#insert]
Name: insert
`Insert rows in database.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: | :------: |
| schema | Schema | STRING | Name of the schema the table belongs to. | true |
| table | Table | STRING | Name of the table in which to insert data to. | true |
| columns | Columns | ARRAY Items \[\{STRING(name), STRING(type)}] | The list of the table column names where corresponding values would be inserted. | false |
| values | | DYNAMIC\_PROPERTIES Depends On columns | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Insert",
"name" : "insert",
"parameters" : {
"schema" : "",
"table" : "",
"columns" : [ {
"name" : "",
"type" : ""
} ],
"values" : { }
},
"type" : "mysql/v1/insert"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update [#update]
Name: update
`Update rows in database.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------: | :------: |
| schema | Schema | STRING | Name of the schema the table belongs to. | true |
| table | Table | STRING | Name of the table in which to update data in. | true |
| condition | Condition | STRING | Condition that will be checked in the column. Example: column1=5 | true |
| columns | Columns | ARRAY Items \[\{STRING(name), STRING(type)}] | The list of the table column names where corresponding values would be updated. | false |
| values | | DYNAMIC\_PROPERTIES Depends On columns | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update",
"name" : "update",
"parameters" : {
"schema" : "",
"table" : "",
"condition" : "",
"columns" : [ {
"name" : "",
"type" : ""
} ],
"values" : { }
},
"type" : "mysql/v1/update"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Delete [#delete]
Name: delete
`Delete rows from database.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----: | :--------------------------------------------------------------: | :------: |
| schema | Schema | STRING | Name of the schema the table belongs to. | true |
| table | Table | STRING | Name of the table in which to update data in. | true |
| condition | Condition | STRING | Condition that will be checked in the column. Example: column1=5 | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete",
"name" : "delete",
"parameters" : {
"schema" : "",
"table" : "",
"condition" : ""
},
"type" : "mysql/v1/delete"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Execute [#execute]
Name: execute
`Execute an SQL DML or DML statement.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--------: | :--------------: | :-------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------: |
| execute | Execute | STRING | The raw DML or DDL statement to execute. You can use :property1 and :property2 in conjunction with parameters. | true |
| columns | Fields to select | ARRAY Items \[\{}] | List of fields to select from. | false |
| parameters | Parameters | OBJECT Properties \{} | The list of values which should be used to replace corresponding criteria parameters. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Execute",
"name" : "execute",
"parameters" : {
"execute" : "",
"columns" : [ { } ],
"parameters" : { }
},
"type" : "mysql/v1/execute"
}
```
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
## Triggers [#triggers]
### New Row [#new-row]
Name: newRow
`Triggers when new row is added.`
Type: POLLING
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :------------: | :---------------: | :------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------: | :------: |
| schema | Schema | STRING | Name of the schema the table belongs to. | true |
| table | Table | STRING | Name of the table in which to update data in. | true |
| orderBy | Colum To Order By | STRING | Use something like a created timestamp or an auto-incrementing ID. | true |
| orderDirection | Order Direction | STRING Options ASC , DESC | The direction to sort by such that the newest rows are fetched first. | true |
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Row",
"name" : "newRow",
"parameters" : {
"schema" : "",
"table" : "",
"orderBy" : "",
"orderDirection" : ""
},
"type" : "mysql/v1/newRow"
}
```
# ByteChef Reference: Nano GPT
URL: /reference/components/nano-gpt_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/nano-gpt_v1.mdx
The NanoGPT API allows you to generate text, images and video using any AI model available.
Categories: Artificial Intelligence
Type: nanoGpt/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to [NanoGPT console](https://nano-gpt.com/conversation/new).
2. Click on **API**.
3. Click on **Create API Key**.
4. Enter name of your new key.
5. Click on **Create**.
6. Here is your new API key.
7. Done 🚀.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------------: | :-------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| logitBias | Logit Bias | OBJECT Properties \{} | Modify the likelihood of specified tokens appearing in the completion. | false |
| logprobs | Logprobs | BOOLEAN Options true , false | Return log probabilities. | false |
| maxCompletionTokens | Max Completion Tokens | INTEGER | Maximum tokens in completion. | false |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| reasoning | Reasoning effort | STRING Options none , minimal , low , medium , high , xhigh | Constrains effort on reasoning. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. For reasoning models for gpt-5 and o-series models only. | false |
| seed | Seed | INTEGER | Keeping the same seed would output the same response. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topLogprobs | Top Logprobs | INTEGER | Number of top log probabilities to return (0-20). | false |
| topK | Top K | INTEGER | Specify the number of token choices the generative uses to generate the next token. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| verbosity | Verbosity | STRING Options low , medium , high | Adjusts response verbosity. Lower levels yield shorter answers. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
| minP | Min P | NUMBER | Probability floor for candidate tokens (0–1). Helps prevent low-entropy loops. | false |
| minTokens | Min Tokens | INTEGER | Minimum completion length before stop conditions fire. | false |
| mirostatMode | Mirostat Mode | INTEGER Options 0 , 1 , 2 | Enables Mirostat sampling. Set to 1 or 2 to activate. | false |
| mirostatTau | Mirostat Tau | NUMBER | Mirostat target entropy. Active when Mirostat Mode is 1 or 2. | false |
| mirostatEta | Mirostat Eta | NUMBER | Mirostat learning rate. Active when Mirostat Mode is 1 or 2. | false |
| repetitionPenalty | Repetition Penalty | NUMBER | Provider-agnostic repetition modifier. Values > 1 discourage repetition. | false |
| tfs | TFS | NUMBER | Tail free sampling (0–1). Value 1.0 disables. | false |
| topA | Top A | NUMBER | Blends temperature and nucleus sampling behavior. | false |
| typicalP | Typical P | NUMBER | Entropy-based nucleus sampling (0–1). Preserves tokens matching expected entropy. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"userPrompt" : "",
"format" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"frequencyPenalty" : 0.0,
"logitBias" : { },
"logprobs" : false,
"maxCompletionTokens" : 1,
"maxTokens" : 1,
"presencePenalty" : 0.0,
"reasoning" : "",
"seed" : 1,
"stop" : [ "" ],
"temperature" : 0.0,
"topLogprobs" : 1,
"topK" : 1,
"topP" : 0.0,
"verbosity" : "",
"user" : "",
"minP" : 0.0,
"minTokens" : 1,
"mirostatMode" : 1,
"mirostatTau" : 0.0,
"mirostatEta" : 0.0,
"repetitionPenalty" : 0.0,
"tfs" : 0.0,
"topA" : 0.0,
"typicalP" : 0.0
},
"type" : "nanoGpt/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Create Image [#create-image]
Name: createImage
`Create an image using text-to-image models.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---------------: | :--------------: | :-------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| imageMessages | Messages | ARRAY Items \[\{STRING(content), NUMBER(weight)}] | A list of messages comprising the conversation so far. | true |
| size | Size | STRING Options 256x256 , 512x512 , 1024x1024 | The size of the generated image. | false |
| responseFormat | Response Format | STRING Options url , b64\_json | Whether to return a signed URL or base64-encoded bytes. | false |
| n | Number of Images | INTEGER | Number of images to generate. | false |
| seed | Seed | INTEGER | Random seed for reproducible generation. | false |
| guidanceScale | Guidance Scale | NUMBER | How closely the model follows the text prompt (0–20). | false |
| strength | Strength | NUMBER | How much the output differs from the input image in img2img mode (0–1). | false |
| numInferenceSteps | Inference Steps | INTEGER | Number of denoising steps. More steps produce higher quality but take longer (1–100). | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Image",
"name" : "createImage",
"parameters" : {
"model" : "",
"imageMessages" : [ {
"content" : "",
"weight" : 0.0
} ],
"size" : "",
"responseFormat" : "",
"n" : 1,
"seed" : 1,
"guidanceScale" : 0.0,
"strength" : 0.0,
"numInferenceSteps" : 1,
"user" : ""
},
"type" : "nanoGpt/v1/createImage"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Create Speech [#create-speech]
Name: createSpeech
`Generate an audio file from the input text.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| input | Input | STRING | The text to synthesize. | true |
| voice | Voice | STRING | Voice identifier (model-specific). | false |
| responseFormat | Response Format | STRING Options mp3 , wav , opus , aac , flac , pcm | Audio output format (OpenAI models only). | false |
| speed | Speed | NUMBER | Playback speed (0.1–5). Not supported for gpt-4o-mini-tts. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Speech",
"name" : "createSpeech",
"parameters" : {
"model" : "",
"input" : "",
"voice" : "",
"responseFormat" : "",
"speed" : 0.0
},
"type" : "nanoGpt/v1/createSpeech"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------: | :---------: | :-----------------------------: |
| file | FILE\_ENTRY | The generated audio file. |
| audioUrl | STRING | URL to the generated audio file |
#### Output Example [#output-example]
```json
{
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"audioUrl" : ""
}
```
### Create Transcription [#create-transcription]
Name: createTranscription
`Transcribes audio into text.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| file | File | FILE\_ENTRY | The audio file to transcribe. Supported formats: MP3, WAV, M4A, OGG, AAC (max 3MB). | true |
| language | Language | STRING Options af , am , ar , as , az , ba , be , bg , bn , bo , br , bs , ca , cs , cy , da , de , el , en , es , et , eu , fa , fi , fo , fr , gl , gu , ha , haw , he , hi , hr , ht , hu , hy , id , is , it , ja , jw , ka , kk , km , kn , ko , la , lb , ln , lo , lt , lv , mg , mi , mk , ml , mn , mr , ms , mt , my , ne , nl , nn , no , oc , pa , pl , ps , pt , ro , ru , sa , sd , si , sk , sl , sn , so , sq , sr , su , sv , sw , ta , te , tg , th , tk , tl , tr , tt , uk , ur , uz , vi , yi , yo , yue , zh | The language of the input audio. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Transcription",
"name" : "createTranscription",
"parameters" : {
"model" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"language" : ""
},
"type" : "nanoGpt/v1/createTranscription"
}
```
#### Output [#output-3]
Type: STRING
# ByteChef Reference: NASA
URL: /reference/components/nasa_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/nasa_v1.mdx
NASA is a United States government agency that provides public APIs offering access to space-related data, including astronomy images, Mars rover photos, and other scientific information for developers and applications.
Categories: Developer Tools
Type: nasa/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | API Key | STRING | | true |
| addTo | Add to | STRING | | true |
## Connection Setup [#connection-setup]
### Create API Key [#create-api-key]
1. Navigate to [NASA](https://api.nasa.gov/).
2. Locate the API key signup form.
3. Enter your first name, last name and email address.
4. Click Sign Up.
5. Check your email inbox.
6. You will receive an email containing your API key.
## Actions [#actions]
### Get Asteroid [#get-asteroid]
Name: getAsteroid
`Lookup a specific Asteroid based on its NASA JPL small body (SPK-ID) ID.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :-----: | :----------------------------------------------------: | :------: |
| asteroidId | Asteroid Id | INTEGER | Asteroid SPK-ID correlates to the NASA JPL small body. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Asteroid",
"name" : "getAsteroid",
"parameters" : {
"asteroidId" : 1
},
"type" : "nasa/v1/getAsteroid"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------: |
| id | STRING | The unique identifier of the asteroid. |
| neo\_reference\_id | STRING | NASA's Near Earth Object reference ID for the asteroid. |
| name | STRING | The official name or designation of the asteroid. |
| nasa\_jpl\_url | STRING | A URL to the NASA JPL page with detailed information about the asteroid. |
| absolute\_magnitude\_h | NUMBER | The absolute magnitude of the asteroid, representing its intrinsic brightness. |
| is\_potentially\_hazardous\_asteroid | BOOLEAN Options true , false | Indicates whether the asteroid is considered potentially hazardous to Earth. |
| estimated\_diameter | OBJECT Properties \{\{NUMBER(estimated\_diameter\_min), NUMBER(estimated\_diameter\_max)}(kilometers)} | Estimated diameter measurements of the asteroid in various units. |
| close\_approach\_data | ARRAY Items \[\{STRING(close\_approach\_date), \{STRING(kilometers\_per\_second), STRING(kilometers\_per\_hour)}(relative\_velocity), \{STRING(kilometers), STRING(lunar)}(miss\_distance), STRING(orbiting\_body)}] | A list of records describing close approaches of the asteroid to celestial bodies. |
| orbital\_data | OBJECT Properties \{STRING(orbit\_id), STRING(eccentricity), STRING(semi\_major\_axis), STRING(inclination), STRING(orbital\_period)} | Orbital parameters describing the asteroid's trajectory. |
#### Output Example [#output-example]
```json
{
"id" : "",
"neo_reference_id" : "",
"name" : "",
"nasa_jpl_url" : "",
"absolute_magnitude_h" : 0.0,
"is_potentially_hazardous_asteroid" : false,
"estimated_diameter" : {
"kilometers" : {
"estimated_diameter_min" : 0.0,
"estimated_diameter_max" : 0.0
}
},
"close_approach_data" : [ {
"close_approach_date" : "",
"relative_velocity" : {
"kilometers_per_second" : "",
"kilometers_per_hour" : ""
},
"miss_distance" : {
"kilometers" : "",
"lunar" : ""
},
"orbiting_body" : ""
} ],
"orbital_data" : {
"orbit_id" : "",
"eccentricity" : "",
"semi_major_axis" : "",
"inclination" : "",
"orbital_period" : ""
}
}
```
#### Find Asteroid ID [#find-asteroid-id]
To find asteroid ID, click [here](/reference/components/nasa_v1#how-to-find-asteroid-id).
### Get Astronomy Picture of the Day [#get-astronomy-picture-of-the-day]
Name: getPictureOfTheDay
`Returns NASA's Astronomy Picture of the Day.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :-------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: | :------: |
| queryType | Fetch Method | STRING Options single , range , random | Select how you want to fetch the picture of the day. | true |
| date | Date | DATE | The date of the APOD image to retrieve. | false |
| start\_date | Start Date | DATE | The start of a date range. | false |
| end\_date | End Date | DATE | The end of the date range. | false |
| count | Count | INTEGER | If specified, returns a randomly chosen images. | false |
| thumbs | Thumbs | BOOLEAN Options true , false | Return the URL of video thumbnail. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Astronomy Picture of the Day",
"name" : "getPictureOfTheDay",
"parameters" : {
"queryType" : "",
"date" : "2021-01-01",
"start_date" : "2021-01-01",
"end_date" : "2021-01-01",
"count" : 1,
"thumbs" : false
},
"type" : "nasa/v1/getPictureOfTheDay"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--------------: | :----: | :-------------------------------------------------------------------: |
| date | DATE | The date of the Astronomy Picture of the Day. |
| explanation | STRING | A detailed explanation of the image or video provided by NASA. |
| media\_type | STRING | The type of media returned (e.g., 'image' or 'video'). |
| service\_version | STRING | The version of the NASA API service used to generate this response. |
| title | STRING | The title of the Astronomy Picture of the Day. |
| url | STRING | The URL where the standard resolution image or video can be accessed. |
| hdurl | STRING | The URL for the high-definition version of the image, if available. |
#### Output Example [#output-example-1]
```json
{
"date" : "2021-01-01",
"explanation" : "",
"media_type" : "",
"service_version" : "",
"title" : "",
"url" : "",
"hdurl" : ""
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Asteroid ID [#how-to-find-asteroid-id]
1. Go to the [NASA Small-Body Database Browser](https://ssd.jpl.nasa.gov/tools/sbdb_lookup.html#/).
2. Search for the asteroid by name (e.g., Apophis) or designation (e.g., 99942).
3. Open the asteroid’s detail page.
4. Look for SPK-ID or Object ID e.g., 2000433. This number is the asteroid’s NASA ID used in many systems.
# ByteChef Reference: Neo4j Chat Memory
URL: /reference/components/neo4j-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/neo4j-chat-memory_v1.mdx
Neo4j Chat Memory stores conversation history in Neo4j graph database for persistent storage with graph-based relationships.
Categories: Artificial Intelligence
Type: neo4jChatMemory/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :-----------------: | :------: |
| username | Username | STRING | The Neo4j username. | false |
| password | Password | STRING | The Neo4j password. | false |
## Actions [#actions]
### Add Messages [#add-messages]
Name: addMessages
`Adds messages to the chat memory for a conversation.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :---------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content)}] | The messages to add to the conversation. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Messages",
"name" : "addMessages",
"parameters" : {
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
},
"type" : "neo4jChatMemory/v1/addMessages"
}
```
#### Output [#output]
This action does not produce any output.
### Get Messages [#get-messages]
Name: getMessages
`Retrieves all messages from a conversation.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Messages",
"name" : "getMessages",
"parameters" : {
"conversationId" : ""
},
"type" : "neo4jChatMemory/v1/getMessages"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| messages | ARRAY Items \[\{STRING(role), STRING(content)}] | |
#### Output Example [#output-example]
```json
{
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
}
```
### Delete Conversation [#delete-conversation]
Name: deleteConversation
`Deletes all messages for a conversation.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :---------------------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Conversation",
"name" : "deleteConversation",
"parameters" : {
"conversationId" : ""
},
"type" : "neo4jChatMemory/v1/deleteConversation"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| deleted | BOOLEAN Options true , false | |
#### Output Example [#output-example-1]
```json
{
"conversationId" : "",
"deleted" : false
}
```
### List Conversations [#list-conversations]
Name: listConversations
`Lists all conversation IDs in the chat memory.`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Conversations",
"name" : "listConversations",
"type" : "neo4jChatMemory/v1/listConversations"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------: | :---------: |
| conversationIds | ARRAY Items \[STRING] | |
| count | INTEGER | |
#### Output Example [#output-example-2]
```json
{
"conversationIds" : [ "" ],
"count" : 1
}
```
# ByteChef Reference: Neo4j
URL: /reference/components/neo4j_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/neo4j_v1.mdx
Neo4j is an open-source NoSQL graph database. It is a fully transactional database (ACID) that stores data structured as graphs consisting of nodes, connected by relationships.
Categories: Artificial Intelligence
Type: neo4j/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| uri | URI | STRING | URI for connecting to the Neo4j instance. | true |
| username | Username | STRING | Username for authentication with Neo4j. | true |
| password | Password | STRING | Password for authentication with Neo4j. | true |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to initialize the required schema | false |
| databaseName | Database Name | STRING | The name of the Neo4j database to use. | false |
| indexName | Index Name | STRING | The name of the index to store the vectors. | false |
| embeddingDimension | Embedding Dimension | INTEGER | The number of dimensions in the vector. | false |
| distanceType | Distance Type | STRING Options COSINE , EUCLIDEAN | The distance function to use. | false |
| label | Label | STRING | The label used for document nodes. | false |
| embeddingProperty | Embedding Property | STRING | The property name used to store embeddings. | false |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "neo4j/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "neo4j/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "neo4j/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "neo4j/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Nifty
URL: /reference/components/nifty_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/nifty_v1.mdx
Nifty Project Management is a software tool that streamlines team collaboration and project tracking with features like task management, timelines, and communication tools to enhance productivity.
Categories: Project Management, Productivity and Collaboration
Type: nifty/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth2 App [#create-oauth2-app]
1. Navigate to your [Nifty](https://niftypm.com/case/agile-development/?utm_campaign=10981377029\&utm_campaign=WorldWideDev-traffic-Search-14\&utm_source=g\&utm_source=adwords\&utm_medium=cpc\&utm_medium=ppc\&utm_content=\&utm_term=\&utm_term=\&ad_id=648900225750%E2%80%A9\&hsa_acc=6503027811\&hsa_cam=10981377029\&hsa_grp=116587391671\&hsa_ad=648900225750\&hsa_src=g\&hsa_tgt=dsa-1034839133995\&hsa_kw=\&hsa_mt=\&hsa_net=adwords\&hsa_ver=3\&gad_source=1\&gad_campaignid=10981377029\&gbraid=0AAAAACydPO--RTfGKXzwwAaWd0b4pQxeW\&gclid=CjwKCAiAu67KBhAkEiwAY0jAlcdshbZXCzyoCD7ZVdahI1GfjePmp5VvXd5P1iV3QjuSVRcAsJvlyxoCBC8QAvD_BwE) dashboard.
2. Click on your account name.
3. Click on **Settings**.
4. Click on **App Center**.
5. Click on **Integrate with API**.
6. Click on **Create a new App**.
7. Enter name and description.
8. Enter **Redirect URI** depending on your instance:
* `https://app.bytechef.io/callback` (Cloud)
* `http://localhost:5173/callback` (Local dev)
9. Add all needed Scopes.
10. Click on **Create**.
11. Click this icon.
12. Here are Client ID and Client Secret.
## Actions [#actions]
### Add Labels [#add-labels]
Name: addLabels
`Add labels to the task.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :-------------------------------------------------------------: | :--------------------------------: | :------: |
| taskId | Task ID | STRING | ID of the task to add label to. | true |
| labels | Labels | ARRAY Items \[STRING] | List of labels to add to the task. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Labels",
"name" : "addLabels",
"parameters" : {
"taskId" : "",
"labels" : [ "" ]
},
"type" : "nifty/v1/addLabels"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :-------------------------------------------------------------: | :----------------------------------------------------------------------------: |
| message | STRING | A confirmation message indicating whether the labels where added successfully. |
| labels | ARRAY Items \[STRING] | List of labels added to the task. |
#### Output Example [#output-example]
```json
{
"message" : "",
"labels" : [ "" ]
}
```
#### Find Task ID [#find-task-id]
To find your task ID, click [here](/reference/components/nifty_v1#how-to-find-your-task-id).
#### Find Task Status [#find-task-status]
To find your task Status, click [here](/reference/components/nifty_v1#how-to-find-task-status).
### Create Project [#create-project]
Name: createProject
`Creates new project.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :----: | :-----------------------------------------------------------------------------: | :------: |
| name | Name | STRING | Name of the project. | true |
| description | Description | STRING | Description of the project's purpose, goals, or any other relevent information. | false |
| template\_id | Template ID | STRING | ID of template that can be used to pre-configure the project. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Project",
"name" : "createProject",
"parameters" : {
"name" : "",
"description" : "",
"template_id" : ""
},
"type" : "nifty/v1/createProject"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------: | :----: | :--------------------------------------------: |
| id | STRING | ID of the project. |
| name | STRING | Name of the project. |
| description | STRING | Description of the project. |
| template\_id | STRING | ID of the template used to create the project. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"name" : "",
"description" : "",
"template_id" : ""
}
```
#### Find Template ID [#find-template-id]
To find your template ID, click [here](/reference/components/nifty_v1#how-to-find-your-template-id).
### Create Status [#create-status]
Name: createStatus
`Creates new status`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :----: | :------------------------------------: | :------: |
| name | Name | STRING | Name of the status. | true |
| project\_id | Project ID | STRING | Project ID that the status belongs to. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Status",
"name" : "createStatus",
"parameters" : {
"name" : "",
"project_id" : ""
},
"type" : "nifty/v1/createStatus"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| message | STRING | |
| task\_group | OBJECT Properties \{STRING(id), STRING(name), STRING(color), STRING(created\_by), STRING(project), INTEGER(order)} | |
#### Output Example [#output-example-2]
```json
{
"message" : "",
"task_group" : {
"id" : "",
"name" : "",
"color" : "",
"created_by" : "",
"project" : "",
"order" : 1
}
}
```
#### Find Project ID [#find-project-id]
To find your project ID, click [here](/reference/components/nifty_v1#how-to-find-your-project-id).
### Create Task [#create-task]
Name: createTask
`Creates new task`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------------: | :---------: | :-----------------------------------------------------------------: | :-----------------------------------------------------------------: | :------: |
| project | Project ID | STRING | ID of the project within which the task will be created. | false |
| task\_group\_id | Status | STRING Depends On project | Status or Task Group ID of the group where the task will be stored. | true |
| name | Name | STRING | Name of the task. | true |
| description | Description | STRING | Description of the task. | false |
| due\_date | Due Date | DATE\_TIME | Due date for the task. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"project" : "",
"task_group_id" : "",
"name" : "",
"description" : "",
"due_date" : "2021-01-01T00:00:00"
},
"type" : "nifty/v1/createTask"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :---------: | :--------: | :------------------------------------: |
| id | STRING | ID of the task. |
| name | STRING | Name of the task. |
| project | STRING | ID of the project the task belongs to. |
| description | STRING | Description of the task. |
| due\_date | DATE\_TIME | Due date for the task. |
#### Output Example [#output-example-3]
```json
{
"id" : "",
"name" : "",
"project" : "",
"description" : "",
"due_date" : "2021-01-01T00:00:00"
}
```
#### Find Project ID [#find-project-id-1]
To find your project ID, click [here](/reference/components/nifty_v1#how-to-find-your-project-id).
#### Find Task Status [#find-task-status-1]
To find your task Status, click [here](/reference/components/nifty_v1#how-to-find-task-status).
### Get Task [#get-task]
Name: getTask
`Gets task details.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :--------------------------------: | :------: |
| taskId | Task ID | STRING | ID of the task to get details for. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Get Task",
"name" : "getTask",
"parameters" : {
"taskId" : ""
},
"type" : "nifty/v1/getTask"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :---------: | :----: | :------------------------------------: |
| id | STRING | ID of the task. |
| name | STRING | Name of the task. |
| project | STRING | ID of the project the task belongs to. |
| description | STRING | Description of the task. |
#### Output Example [#output-example-4]
```json
{
"id" : "",
"name" : "",
"project" : "",
"description" : ""
}
```
#### Find Task ID [#find-task-id-1]
To find your task ID, click [here](/reference/components/nifty_v1#how-to-find-your-task-id).
### Get Tracked Time Report [#get-tracked-time-report]
Name: getTrackedTimeReport
`Gets tracked time report information.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :--------: | :--------------------------------------: | :------: |
| project\_id | Project ID | STRING | Id of the project to get the report for. | true |
| start\_date | Start Date | DATE\_TIME | Start date for the report. | false |
| end\_date | End Date | DATE\_TIME | Start date for the report. | false |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get Tracked Time Report",
"name" : "getTrackedTimeReport",
"parameters" : {
"project_id" : "",
"start_date" : "2021-01-01T00:00:00",
"end_date" : "2021-01-01T00:00:00"
},
"type" : "nifty/v1/getTrackedTimeReport"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :---: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| items | ARRAY Items \[\{STRING(id), STRING(project), STRING(start), BOOLEAN(manual), STRING(user), STRING(task), STRING(end), BOOLEAN(active), STRING(duration)}] | |
#### Output Example [#output-example-5]
```json
{
"items" : [ {
"id" : "",
"project" : "",
"start" : "",
"manual" : false,
"user" : "",
"task" : "",
"end" : "",
"active" : false,
"duration" : ""
} ]
}
```
#### Find Project ID [#find-project-id-2]
To find your project ID, click [here](/reference/components/nifty_v1#how-to-find-your-project-id).
## Triggers [#triggers]
### New Task [#new-task]
Name: newTask
`Triggers when new task is created.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :-----: | :---------: | :----: | :-------------------------------------: | :------: |
| app\_id | Application | STRING | Application to be used for the trigger. | true |
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :-------: | :----: | :--------------------------------------: |
| id | STRING | ID pod the task. |
| project | STRING | Project under which the task is created. |
| order | STRING | Order of the task. |
| milestone | STRING | Milestone of the task. |
#### JSON Example [#json-example]
```json
{
"label" : "New Task",
"name" : "newTask",
"parameters" : {
"app_id" : ""
},
"type" : "nifty/v1/newTask"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find your Project ID [#how-to-find-your-project-id]
You have several methods to find your Nifty project ID:
* **Method 1: Through the Project URL**
1. Open the project in **Nifty**.
2. Look at the URL in your browser. It will look similar to:
[https://nifty.pm/projects/12345/tasks](https://nifty.pm/projects/12345/tasks)
3. The number in the URL (`12345` in this example) is your **project ID**.
* **Method 2: Through the Nifty API**
1. Open your browser or API client.
2. Run the following request (replace `WORKSPACE_ID` with your workspace ID):
[https://api.nifty.pm/v1/workspaces/WORKSPACE\_ID/projects](https://api.nifty.pm/v1/workspaces/WORKSPACE_ID/projects)
3. Find the project in the JSON response.
4. The value under `id` is the **project ID**.
### How to find your Project Status [#how-to-find-your-project-status]
1. Open your browser or API client.
2. Run the following request (replace `PROJECT_ID` with your project ID):
[https://api.nifty.pm/v1/projects/PROJECT\_ID](https://api.nifty.pm/v1/projects/PROJECT_ID)
3. Look for the `status` field in the JSON response.
4. The value under `status` is your **project status**.
### How to find your Task ID [#how-to-find-your-task-id]
You have several methods to find your Nifty task ID:
* **Method 1: Through the Task URL**
1. Open the task in **Nifty**.
2. Look at the URL in your browser. It will look similar to:
[https://nifty.pm/projects/12345/tasks/67890](https://nifty.pm/projects/12345/tasks/67890)
3. The **last number** (`67890` in this example) is the **task ID**.
* **Method 2: Through the Nifty API**
1. Open your browser or API client.
2. Run the following request (replace `PROJECT_ID` with your project ID):
[https://api.nifty.pm/v1/projects/PROJECT\_ID/tasks](https://api.nifty.pm/v1/projects/PROJECT_ID/tasks)
3. Find the task in the JSON response.
4. The value under `id` is the **task ID**.
### How to find your Template ID [#how-to-find-your-template-id]
1. Open your browser or API client.
2. Run the following request:
[https://api.nifty.pm/v1/templates](https://api.nifty.pm/v1/templates)
3. Find the template you want in the JSON response.
4. The value under `id` is the **template ID**.
### How to find Task Status [#how-to-find-task-status]
1. Open your browser or API client.
2. Run the following request (replace `TASK_ID` with your task ID):
[https://api.nifty.pm/v1/tasks/TASK\_ID](https://api.nifty.pm/v1/tasks/TASK_ID)
3. Look for the `status` field in the JSON response.
4. The value under `status` is your **task status**.
# ByteChef Reference: NocoDB
URL: /reference/components/nocodb_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/nocodb_v1.mdx
NocoDB is an open-source platform that transforms databases into smart spreadsheets, enabling users to manage and collaborate on data with a no-code interface.
Categories: File Storage
Type: nocoDb/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------: | :-------------: | :----: | :---------: | :------: |
| baseUrl | NocoDB Base URL | STRING | | true |
| api\_token | API Token | STRING | | true |
## Connection Setup [#connection-setup]
Connect NocoDB to ByteChef using an API Token.
1. Log in to your NocoDB account (Cloud: [https://app.nocodb.com](https://app.nocodb.com)).
2. Click your avatar in the bottom‑left corner.
3. Open **API Tokens**.
4. Click **Create new token**.
5. Enter a descriptive name (for example, `ByteChef Integration`) and click **Save**.
6. Copy the generated token and keep it secure.
## Actions [#actions]
### Create Records [#create-records]
Name: createRecords
`Creates a new records in the specified table.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :----------: | :------------------------------------------------------------------------------: | :------------------: | :------: |
| workspaceId | Workspace ID | STRING | ID of the workspace. | false |
| baseId | Base ID | STRING Depends On workspaceId | ID of the base. | false |
| tableId | Table ID | STRING Depends On baseId | ID of the table. | true |
| tableColumns | | DYNAMIC\_PROPERTIES Depends On tableId | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Records",
"name" : "createRecords",
"parameters" : {
"workspaceId" : "",
"baseId" : "",
"tableId" : "",
"tableColumns" : { }
},
"type" : "nocoDb/v1/createRecords"
}
```
#### Output [#output]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :-----: | :-----------------------: |
| Id | INTEGER | Id of the created record. |
#### Output Example [#output-example]
```json
[ {
"Id" : 1
} ]
```
#### Find Workspace ID [#find-workspace-id]
To find the Workspace ID, click [here](/reference/components/nocodb_v1#how-to-find-workspace-id).
#### Find Base ID [#find-base-id]
To find the Base ID, click [here](/reference/components/nocodb_v1#how-to-find-base-id).
#### Find Table ID [#find-table-id]
To find the Table ID, click [here](/reference/components/nocodb_v1#how-to-find-table-id).
### Delete Records [#delete-records]
Name: deleteRecords
`Deletes existing records in the specified table.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :---------------------------------------------------------------------: | :--------------------------: | :------: |
| workspaceId | Workspace ID | STRING | ID of the workspace. | false |
| baseId | Base ID | STRING Depends On workspaceId | ID of the base. | false |
| tableId | Table ID | STRING Depends On baseId | ID of the table. | true |
| recordId | Records ID | ARRAY Items \[INTEGER] | ID of the records to delete. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Records",
"name" : "deleteRecords",
"parameters" : {
"workspaceId" : "",
"baseId" : "",
"tableId" : "",
"recordId" : [ 1 ]
},
"type" : "nocoDb/v1/deleteRecords"
}
```
#### Output [#output-1]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :-----: | :-----------------------: |
| Id | INTEGER | Id of the deleted record. |
#### Output Example [#output-example-1]
```json
[ {
"Id" : 1
} ]
```
#### Find Workspace ID [#find-workspace-id-1]
To find the Workspace ID, click [here](/reference/components/nocodb_v1#how-to-find-workspace-id).
#### Find Base ID [#find-base-id-1]
To find the Base ID, click [here](/reference/components/nocodb_v1#how-to-find-base-id).
#### Find Table ID [#find-table-id-1]
To find the Table ID, click [here](/reference/components/nocodb_v1#how-to-find-table-id).
#### Find Record ID [#find-record-id]
To find the Record ID, click [here](/reference/components/nocodb_v1#how-to-find-record-id).
### Get Record [#get-record]
Name: getRecord
`Gets a record from the specified table.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :---------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: | :------: |
| workspaceId | Workspace ID | STRING | ID of the workspace. | false |
| baseId | Base ID | STRING Depends On workspaceId | ID of the base. | false |
| tableId | Table ID | STRING Depends On baseId | ID of the table. | true |
| recordId | Record ID | STRING | ID of the record to retrieve. | true |
| fields | Fields | ARRAY Items \[STRING] | Fields to include in the response. By default, all the fields are included in the response. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Record",
"name" : "getRecord",
"parameters" : {
"workspaceId" : "",
"baseId" : "",
"tableId" : "",
"recordId" : "",
"fields" : [ "" ]
},
"type" : "nocoDb/v1/getRecord"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Workspace ID [#find-workspace-id-2]
To find the Workspace ID, click [here](/reference/components/nocodb_v1#how-to-find-workspace-id).
#### Find Base ID [#find-base-id-2]
To find the Base ID, click [here](/reference/components/nocodb_v1#how-to-find-base-id).
#### Find Table ID [#find-table-id-2]
To find the Table ID, click [here](/reference/components/nocodb_v1#how-to-find-table-id).
#### Find Record ID [#find-record-id-1]
To find the Record ID, click [here](/reference/components/nocodb_v1#how-to-find-record-id).
### Search Records [#search-records]
Name: searchRecords
`Searches for records in the specified table.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :--------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| workspaceId | Workspace ID | STRING | ID of the workspace. | false |
| baseId | Base ID | STRING Depends On workspaceId | ID of the base. | false |
| tableId | Table ID | STRING Depends On baseId | ID of the table. | true |
| fields | Fields | ARRAY Items \[STRING] | Fields to include in the response. By default, all the fields are included in the response. | false |
| sort | Sort By | ARRAY Items \[\{STRING(field), STRING(order)}] | Fields by which you want to sort the records in your response. | false |
| where | Where | STRING | Specific conditions for filtering records in your response. Multiple conditions can be combined using logical operators such as 'and' and 'or'. Each condition consists of three parts: a field name, a comparison operator, and a value. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Search Records",
"name" : "searchRecords",
"parameters" : {
"workspaceId" : "",
"baseId" : "",
"tableId" : "",
"fields" : [ "" ],
"sort" : [ {
"field" : "",
"order" : ""
} ],
"where" : ""
},
"type" : "nocoDb/v1/searchRecords"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### Find Workspace ID [#find-workspace-id-3]
To find the Workspace ID, click [here](/reference/components/nocodb_v1#how-to-find-workspace-id).
#### Find Base ID [#find-base-id-3]
To find the Base ID, click [here](/reference/components/nocodb_v1#how-to-find-base-id).
#### Find Table ID [#find-table-id-3]
To find the Table ID, click [here](/reference/components/nocodb_v1#how-to-find-table-id).
### Update Records [#update-records]
Name: updateRecords
`Updates existing records in the specified table.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----------: | :----------: | :------------------------------------------------------------------------------: | :------------------: | :------: |
| workspaceId | Workspace ID | STRING | ID of the workspace. | false |
| baseId | Base ID | STRING Depends On workspaceId | ID of the base. | false |
| tableId | Table ID | STRING Depends On baseId | ID of the table. | true |
| tableColumns | | DYNAMIC\_PROPERTIES Depends On tableId | | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Update Records",
"name" : "updateRecords",
"parameters" : {
"workspaceId" : "",
"baseId" : "",
"tableId" : "",
"tableColumns" : { }
},
"type" : "nocoDb/v1/updateRecords"
}
```
#### Output [#output-4]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--: | :-----: | :-----------------------: |
| Id | INTEGER | Id of the updated record. |
#### Output Example [#output-example-2]
```json
[ {
"Id" : 1
} ]
```
#### Find Workspace ID [#find-workspace-id-4]
To find the Workspace ID, click [here](/reference/components/nocodb_v1#how-to-find-workspace-id).
#### Find Base ID [#find-base-id-4]
To find the Base ID, click [here](/reference/components/nocodb_v1#how-to-find-base-id).
#### Find Table ID [#find-table-id-4]
To find the Table ID, click [here](/reference/components/nocodb_v1#how-to-find-table-id).
#### Find Record ID [#find-record-id-2]
To find the Record ID, click [here](/reference/components/nocodb_v1#how-to-find-record-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Workspace ID [#how-to-find-workspace-id]
Workspace ID is an alphanumeric identifier prefixed with w (representing workspace) that uniquely identifies your workspace in NocoDB. It appears in the URL bar when viewing any base within the workspace.
You can also find it in the workspace context menu (accessible by clicking the workspace icon in the minibar). Click the ID to copy it to your clipboard.
Workspace ID can also be retrieved from Workspace settings page.
### How to find Base ID [#how-to-find-base-id]
The Base ID is an alphanumeric identifier prefixed with p (representing project), visible in the URL when accessing any table or base-level settings. You can also find it in the base context menu (chevron next to the base name) in the left sidebar, where you can click the ID to copy it to your clipboard.
### How to find Table ID [#how-to-find-table-id]
The Table ID is an alphanumeric string prefixed with m (representing model), visible in the URL immediately after the Base ID when viewing a table. You can also find it in the table context menu (three dots next to the table name) in the left sidebar. Click the ID to copy it to your clipboard.
### How to find Record ID [#how-to-find-record-id]
By default, the Record ID is a numeric value starting from 1. You can display the ID field (which corresponds to the Record ID) by opening the Fields menu in the toolbar and enabling Show System Fields.
You can also find it in the URL when viewing a specific record (expanded record view).
You can also access the Record ID in formulas by selecting ID from the list of available fields in the formula editor or by using the RECORD\_ID() function.
# ByteChef Reference: Notion
URL: /reference/components/notion_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/notion_v1.mdx
Notion is an all-in-one workspace for notes, tasks, wikis, and databases.
Categories: Productivity and Collaboration
Type: notion/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect Notion to ByteChef using OAuth 2.0 (Authorization Code).
### Create a Notion OAuth app [#create-a-notion-oauth-app]
1. Open the Notion developer dashboard: [https://www.notion.so/my-integrations](https://www.notion.so/my-integrations)
2. Click **+ New integration**.
3. Enter a clear name (for example, `ByteChef Integration`), select a workspace, and set the **Integration type** to **Public**.
4. Fill out the remaining required fields (company name, website, email, etc.).
5. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://127.0.0.1:5173/callback` or `http://localhost:5173/callback`
6. Click **Save**, then open **Configure integration settings**.
7. Under **Capabilities**, enable at minimum:
* Read content
* Update content
* Insert content
* User information including email addresses
8. Click **Save changes** and copy the generated **Client ID** and **Client Secret**.
## Actions [#actions]
### Add Block to Page [#add-block-to-page]
Name: addBlockToPage
`Adds a new content block to a page.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------: | :------: |
| id | Parent Page ID | STRING | | true |
| children | Children | ARRAY Items \[\{STRING(type), \[\{STRING(type), \{STRING(content)}(text), \{STRING(expression)}(equation)}]\(caption), STRING(url), STRING(url), STRING(expression), BOOLEAN(checked), STRING(color), \[\{STRING(type), \{STRING(content)}(text), \{STRING(expression)}(equation)}]\(rich\_text), STRING(language)}] | Child content to append to a container block as an array of block objects. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Block to Page",
"name" : "addBlockToPage",
"parameters" : {
"id" : "",
"children" : [ {
"type" : "",
"caption" : [ {
"type" : "",
"text" : {
"content" : ""
},
"equation" : {
"expression" : ""
}
} ],
"url" : "",
"expression" : "",
"checked" : false,
"color" : "",
"rich_text" : [ {
"type" : "",
"text" : {
"content" : ""
},
"equation" : {
"expression" : ""
}
} ],
"language" : ""
} ]
},
"type" : "notion/v1/addBlockToPage"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Create Database Item [#create-database-item]
Name: createDatabaseItem
`Creates a new item in Notion database.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----: | :---------: | :-------------------------------------------------------------------------: | :----------------------------: | :------: |
| id | Database ID | STRING | The ID of the database. | true |
| fields | | DYNAMIC\_PROPERTIES Depends On id | | true |
| content | Content | STRING | The content to append to item. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Database Item",
"name" : "createDatabaseItem",
"parameters" : {
"id" : "",
"fields" : { },
"content" : ""
},
"type" : "notion/v1/createDatabaseItem"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Create Page [#create-page]
Name: createPage
`Creates a new page that is a child of an existing page.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---: | :------------: | :----: | :--------------------: | :------: |
| id | Parent page ID | STRING | | true |
| title | Title | STRING | The title of the page. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Page",
"name" : "createPage",
"parameters" : {
"id" : "",
"title" : ""
},
"type" : "notion/v1/createPage"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------: |
| object | STRING | The type of the object returned. |
| id | STRING | The ID of the page. |
| created\_time | STRING | The time the page was created. |
| last\_edited\_time | STRING | The time the page was last edited. |
| created\_by | OBJECT Properties \{STRING(object), STRING(id)} | The user who created the page. |
| last\_edited\_by | OBJECT Properties \{STRING(object), STRING(id)} | The user who last edited the page. |
| parent | OBJECT Properties \{STRING(type), STRING(page\_id)} | The parent of the page. |
| archived | BOOLEAN Options true , false | Whether the page is archived. |
| in\_trash | BOOLEAN Options true , false | Whether the page is in the trash. |
| properties | OBJECT Properties \{\{STRING(id), STRING(type), \[\{STRING(type), \{STRING(content)}(text), \{BOOLEAN(bold), BOOLEAN(italic), BOOLEAN(strikethrough), BOOLEAN(underline), BOOLEAN(code), STRING(color)}(annotations), STRING(plain\_text)}]\(title)}(title)} | The properties of the page. |
| url | STRING | The URL of the page. |
| request\_id | STRING | The ID of the request. |
#### Output Example [#output-example]
```json
{
"object" : "",
"id" : "",
"created_time" : "",
"last_edited_time" : "",
"created_by" : {
"object" : "",
"id" : ""
},
"last_edited_by" : {
"object" : "",
"id" : ""
},
"parent" : {
"type" : "",
"page_id" : ""
},
"archived" : false,
"in_trash" : false,
"properties" : {
"title" : {
"id" : "",
"type" : "",
"title" : [ {
"type" : "",
"text" : {
"content" : ""
},
"annotations" : {
"bold" : false,
"italic" : false,
"strikethrough" : false,
"underline" : false,
"code" : false,
"color" : ""
},
"plain_text" : ""
} ]
}
},
"url" : "",
"request_id" : ""
}
```
### Get Database [#get-database]
Name: getDatabase
`Retrieve database information by database ID.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--: | :---------: | :----: | :---------------------------------: | :------: |
| id | Database ID | STRING | The ID of the database to retrieve. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Get Database",
"name" : "getDatabase",
"parameters" : {
"id" : ""
},
"type" : "notion/v1/getDatabase"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------: |
| object | STRING | The type of the object returned. |
| id | STRING | The ID of the database. |
| created\_time | STRING | The time the page was created. |
| last\_edited\_time | STRING | The time the page was last edited. |
| url | STRING | The URL of the database. |
| title | ARRAY Items \[\{STRING(type), \{STRING(content)}(text), \{BOOLEAN(bold), BOOLEAN(italic), BOOLEAN(strikethrough), BOOLEAN(underline), BOOLEAN(code), STRING(color)}(annotations), STRING(plain\_text)}] | |
| parent | OBJECT Properties \{STRING(type), STRING(page\_id)} | The parent of the database. |
| archived | BOOLEAN Options true , false | Whether the database is archived. |
| is\_inline | BOOLEAN Options true , false | |
| public\_url | STRING | The public URL of the database. |
#### Output Example [#output-example-1]
```json
{
"object" : "",
"id" : "",
"created_time" : "",
"last_edited_time" : "",
"url" : "",
"title" : [ {
"type" : "",
"text" : {
"content" : ""
},
"annotations" : {
"bold" : false,
"italic" : false,
"strikethrough" : false,
"underline" : false,
"code" : false,
"color" : ""
},
"plain_text" : ""
} ],
"parent" : {
"type" : "",
"page_id" : ""
},
"archived" : false,
"is_inline" : false,
"public_url" : ""
}
```
### Get Page [#get-page]
Name: getPage
`Retrieve page properties using page ID. Response does not contain page content.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--: | :-----: | :----: | :-----------------------------: | :------: |
| id | Page ID | STRING | The ID of the page to retrieve. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Get Page",
"name" : "getPage",
"parameters" : {
"id" : ""
},
"type" : "notion/v1/getPage"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------: |
| object | STRING | The type of the object returned. |
| id | STRING | The ID of the page. |
| created\_time | STRING | The time the page was created. |
| last\_edited\_time | STRING | The time the page was last edited. |
| created\_by | OBJECT Properties \{STRING(object), STRING(id)} | The user who created the page. |
| last\_edited\_by | OBJECT Properties \{STRING(object), STRING(id)} | The user who last edited the page. |
| parent | OBJECT Properties \{STRING(type), STRING(page\_id)} | The parent of the page. |
| archived | BOOLEAN Options true , false | Whether the page is archived. |
| in\_trash | BOOLEAN Options true , false | Whether the page is in the trash. |
| properties | OBJECT Properties \{\{STRING(id), STRING(type), \[\{STRING(type), \{STRING(content)}(text), \{BOOLEAN(bold), BOOLEAN(italic), BOOLEAN(strikethrough), BOOLEAN(underline), BOOLEAN(code), STRING(color)}(annotations), STRING(plain\_text)}]\(title)}(title)} | The properties of the page. |
| url | STRING | The URL of the page. |
| request\_id | STRING | The ID of the request. |
#### Output Example [#output-example-2]
```json
{
"object" : "",
"id" : "",
"created_time" : "",
"last_edited_time" : "",
"created_by" : {
"object" : "",
"id" : ""
},
"last_edited_by" : {
"object" : "",
"id" : ""
},
"parent" : {
"type" : "",
"page_id" : ""
},
"archived" : false,
"in_trash" : false,
"properties" : {
"title" : {
"id" : "",
"type" : "",
"title" : [ {
"type" : "",
"text" : {
"content" : ""
},
"annotations" : {
"bold" : false,
"italic" : false,
"strikethrough" : false,
"underline" : false,
"code" : false,
"color" : ""
},
"plain_text" : ""
} ]
}
},
"url" : "",
"request_id" : ""
}
```
### Get Page or Block Children [#get-page-or-block-children]
Name: getPageOrBlockChildren
`Retrieve the actual content of a page (represented by blocks)`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--: | :---------------------: | :----: | :---------: | :------: |
| id | Page or Parent Block ID | STRING | | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get Page or Block Children",
"name" : "getPageOrBlockChildren",
"parameters" : {
"id" : ""
},
"type" : "notion/v1/getPageOrBlockChildren"
}
```
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### List Database Items [#list-database-items]
Name: listDatabaseItems
`List all items in a Notion database.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :-------: | :------------: | :------------------------------------------------------------------------------------------------------: | :------------------------------: | :------: |
| id | Database ID | STRING | The ID of the database. | true |
| property | Sort By | STRING Depends On id | Property to sort the items by. | true |
| direction | Sort Direction | STRING Options ascending , descending | The direction to sort the items. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "List Database Items",
"name" : "listDatabaseItems",
"parameters" : {
"id" : "",
"property" : "",
"direction" : ""
},
"type" : "notion/v1/listDatabaseItems"
}
```
#### Output [#output-6]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Database Item [#update-database-item]
Name: updateDatabaseItem
`Update specific fields in a Notion database item.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :-------------------------------------------------------------------------: | :------------------------------------: | :------: |
| id | Database ID | STRING | The ID of the database. | true |
| databaseItemId | Database Item ID | STRING | The ID of the database item to update. | true |
| fields | | DYNAMIC\_PROPERTIES Depends On id | | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Update Database Item",
"name" : "updateDatabaseItem",
"parameters" : {
"id" : "",
"databaseItemId" : "",
"fields" : { }
},
"type" : "notion/v1/updateDatabaseItem"
}
```
#### Output [#output-7]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
## Triggers [#triggers]
### New Database Item [#new-database-item]
Name: newDatabaseItem
`Triggers when a new item is added to the database.`
Type: POLLING
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :--: | :---------: | :----: | :---------------------: | :------: |
| id | Database ID | STRING | The ID of the database. | true |
#### Output [#output-8]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Database Item",
"name" : "newDatabaseItem",
"parameters" : {
"id" : ""
},
"type" : "notion/v1/newDatabaseItem"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: NSFW
URL: /reference/components/nsfw_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/nsfw_v1.mdx
LLM-based detection of NSFW content.
Categories: Artificial Intelligence
Type: nsfw/v1
# ByteChef Reference: Nutshell
URL: /reference/components/nutshell_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/nutshell_v1.mdx
Nutshell CRM is a user-friendly customer relationship management software designed to help small businesses manage sales, track leads, and streamline communication.
Categories: CRM
Type: nutshell/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :----: | :---------: | :------: |
| username | Email | STRING | | true |
| password | API Key | STRING | | true |
## Connection Setup [#connection-setup]
### Create API Key [#create-api-key]
1. Navigate to [Nutshell](https://app.nutshell.com/sales/dashboard) dashboard.
2. Click on **Settings**.
3. Click on **Connections**.
4. Click on **Add API key…**.
5. Enter name and choose **API + user Impersonation**.
6. Click on **New API key**.
7. Click on new API key.
8. Here you can copy your **API Key**.
9. Click on **Save API key**.
10. Done 🚀.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact, also known as a person, in Nutshell.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----: | :---------------------------------------------------------: | :------: |
| name | Name | STRING | Full name of the contact. | true |
| description | Description | STRING | Description of the contact, which appears under their name. | false |
| email | Email | STRING | Primary email address of the contact. | false |
| phone | Phone | STRING | Primary phone number of the contact. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"name" : "",
"description" : "",
"email" : "",
"phone" : ""
},
"type" : "nutshell/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| links | OBJECT Properties \{} | |
| contacts | ARRAY Items \[\{STRING(id), STRING(name), STRING(description), \[\{BOOLEAN(isPrimary), STRING(name), STRING(value)}]\(emails), \[\{BOOLEAN(isPrimary), STRING(name), \{STRING(countryCode), STRING(number), STRING(extension), STRING(numberFormatted), STRING(E164), STRING(countryCodeAndNumber)}(value)}]\(phones)}] | |
#### Output Example [#output-example]
```json
{
"links" : { },
"contacts" : [ {
"id" : "",
"name" : "",
"description" : "",
"emails" : [ {
"isPrimary" : false,
"name" : "",
"value" : ""
} ],
"phones" : [ {
"isPrimary" : false,
"name" : "",
"value" : {
"countryCode" : "",
"number" : "",
"extension" : "",
"numberFormatted" : "",
"E164" : "",
"countryCodeAndNumber" : ""
}
} ]
} ]
}
```
### Create Company [#create-company]
Name: createCompany
`Creates a new account. Accounts are companies or organizations that you do business with, and are referred to as 'Companies' in the Nutshell UI.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----: | :-----------------------------------: | :------: |
| name | Name | STRING | Full name of the company. | true |
| description | Description | STRING | Detailed Description of the company. | false |
| email | Email | STRING | Primary email address of the company. | false |
| phone | Phone | STRING | Primary phone number of the company. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Company",
"name" : "createCompany",
"parameters" : {
"name" : "",
"description" : "",
"email" : "",
"phone" : ""
},
"type" : "nutshell/v1/createCompany"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| accounts | ARRAY Items \[\{STRING(id), STRING(type), STRING(name), STRING(description), \[\{BOOLEAN(isPrimary), STRING(name), STRING(value)}]\(emails), \[\{BOOLEAN(isPrimary), STRING(name), \{STRING(countryCode), STRING(number), STRING(extension), STRING(numberFormatted), STRING(E164), STRING(countryCodeAndNumber)}(value)}]\(phones)}] | |
#### Output Example [#output-example-1]
```json
{
"accounts" : [ {
"id" : "",
"type" : "",
"name" : "",
"description" : "",
"emails" : [ {
"isPrimary" : false,
"name" : "",
"value" : ""
} ],
"phones" : [ {
"isPrimary" : false,
"name" : "",
"value" : {
"countryCode" : "",
"number" : "",
"extension" : "",
"numberFormatted" : "",
"E164" : "",
"countryCodeAndNumber" : ""
}
} ]
} ]
}
```
### Create Lead [#create-lead]
Name: createLead
`Creates a new lead.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required | |
| :---------: | :------: | :---------: | :-----------------------------------------: | :-----------------------------------------------------------------: | ---- |
| description | Name | Description | STRING | Description of the lead, which is also set as the name of the lead. | true |
| owner | Owner ID | STRING | The ID of the user the lead is assigned to. | false | |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Lead",
"name" : "createLead",
"parameters" : {
"description" : "",
"owner" : ""
},
"type" : "nutshell/v1/createLead"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :---: | :---------------------------------------------------------------------------------------------------------------------: | :---------: |
| leads | ARRAY Items \[\{STRING(id), STRING(type), STRING(name), STRING(description)}] | |
#### Output Example [#output-example-2]
```json
{
"leads" : [ {
"id" : "",
"type" : "",
"name" : "",
"description" : ""
} ]
}
```
#### How to find Owner ID [#how-to-find-owner-id]
If you are an administrator, you can view all user and team details and derive the correct Owner ID for use with the API.
1. Log in to your Nutshell account.
2. Navigate to **Settings** (bottom-left corner of the screen).
3. Select **Users & teams**.
4. Click the name of the specific user.
5. In your browser’s address bar, look at the URL. For example: `https://app.nutshell.com/setup/user/settings/1`. The number at the end of the URL (`1` in this example) is the user’s simple integer entity ID.
6. Convert the integer entity ID into the API Owner ID by appending `-users` to it. For example:
* Entity ID: `1`
* API Owner ID: `1-users`
Use this `1-users` value as the Owner ID.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: NVIDIA LLM
URL: /reference/components/nvidia_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/nvidia_v1.mdx
Generative AI and digitalization are reshaping the $3 trillion automotive industry, from design and engineering to manufacturing, autonomous driving, and customer experience. NVIDIA is at the epicenter of this industrial transformation.
Categories: Artificial Intelligence
Type: nvidia/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to [NVIDIA dashboard](https://build.nvidia.com/explore/discover).
2. Click on **Get API Key**.
3. Click on \**Generate Key*+.
4. Click on **Copy Key**.
5. Click on **Close**.
6. Done 🚀.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| n | Number of Chat Completion Choices | INTEGER | How many chat completion choices to generate for each input message. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| logitBias | Logit Bias | OBJECT Properties \{} | Modify the likelihood of specified tokens appearing in the completion. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"n" : 1,
"temperature" : 0.0,
"topP" : 0.0,
"frequencyPenalty" : 0.0,
"presencePenalty" : 0.0,
"logitBias" : { },
"stop" : [ "" ],
"user" : ""
},
"type" : "nvidia/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Object Helper
URL: /reference/components/object-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/object-helper_v1.mdx
Object Helper allows you to do various operations on objects.
Categories: Helpers
Type: objectHelper/v1
## Actions [#actions]
### Add Value to the Object by Key [#add-value-to-the-object-by-key]
Name: addValueByKey
`Add value to the object by key if it exists. Otherwise, update the value`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------: | :------: |
| source | Source | OBJECT Properties \{} | Source object to be added or updated | true |
| key | Key | STRING | Key of the value to be added or updated. | true |
| type | Type | STRING Options ARRAY , BOOLEAN , DATE , DATE\_TIME , INTEGER , NULL , NUMBER , OBJECT , STRING , TIME | Type of value to be added or updated. | true |
| value | Value | ARRAY Items \[] | Value to be added or updated. | true |
| value | Value | BOOLEAN Options true , false | Value to be added or updated. | true |
| value | Value | DATE | Value to be added or updated. | true |
| value | Value | DATE\_TIME | Value to be added or updated. | true |
| value | Value | INTEGER | Value to be added or updated. | true |
| value | Value | NULL | Value to be added or updated. | true |
| value | Value | NUMBER | Value to be added or updated. | true |
| value | Value | OBJECT Properties \{} | Value to be added or updated. | true |
| value | Value | STRING | Value to be added or updated. | true |
| value | Value | TIME | Value to be added or updated. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Value to the Object by Key",
"name" : "addValueByKey",
"parameters" : {
"source" : { },
"key" : "",
"type" : "",
"value" : "00:00:00"
},
"type" : "objectHelper/v1/addValueByKey"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Add Key-Value Pairs [#add-key-value-pairs]
Name: addKeyValuePairs
`Add values from list to object. The source object can either be empty or populated with properties. The items in the list will be treated as Key-value pairs.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------: | :------: |
| source | Source | OBJECT Properties \{} | Source object to be added or updated | false |
| list | Key-Value Pairs | ARRAY Items \[\{STRING(key), STRING(type), \[]\(value), BOOLEAN(value), DATE(value), DATE\_TIME(value), INTEGER(value), NULL(value), NUMBER(value), \{}(value), STRING(value), TIME(value)}] | Key-Value pairs to be added or updated. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Add Key-Value Pairs",
"name" : "addKeyValuePairs",
"parameters" : {
"source" : { },
"list" : [ {
"key" : "",
"type" : "",
"value" : "00:00:00"
} ]
},
"type" : "objectHelper/v1/addKeyValuePairs"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Contains [#contains]
Name: contains
`Checks if the given key exists in the given object.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-------------------------------------------------------------: | :------------------------------: | :------: |
| source | Source | OBJECT Properties \{} | Object that you'd like to check. | true |
| key | Key | STRING | Key to check for existence. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Contains",
"name" : "contains",
"parameters" : {
"source" : { },
"key" : ""
},
"type" : "objectHelper/v1/contains"
}
```
#### Output [#output-2]
Type: BOOLEAN
### Delete Key-Value Pair [#delete-key-value-pair]
Name: deleteKeyValuePair
`Deletes a key-value pair in the given object by the specified key. Returns the modified object.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| source | Source | OBJECT Properties \{} | The object from which to delete the key-value pair. | true |
| key | Key | STRING | The key of the key-value pair to delete. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete Key-Value Pair",
"name" : "deleteKeyValuePair",
"parameters" : {
"source" : { },
"key" : ""
},
"type" : "objectHelper/v1/deleteKeyValuePair"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Equals [#equals]
Name: equals
`Compares two objects and returns true if they are equal.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-------------------------------------------------------------: | :-----------------------------------: | :------: |
| source | Source | OBJECT Properties \{} | The source object to compare. | true |
| target | Target | OBJECT Properties \{} | The target object to compare against. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Equals",
"name" : "equals",
"parameters" : {
"source" : { },
"target" : { }
},
"type" : "objectHelper/v1/equals"
}
```
#### Output [#output-4]
Type: BOOLEAN
### Merge Two Objects [#merge-two-objects]
Name: mergeTwoObjects
`Merge two objects into one. If there is any property with the same name, the source value will be used.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-------------------------------------------------------------: | :------------------------------: | :------: |
| source | Source | OBJECT Properties \{} | The source object to merge. | true |
| target | Target | OBJECT Properties \{} | The target object to merge into. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Merge Two Objects",
"name" : "mergeTwoObjects",
"parameters" : {
"source" : { },
"target" : { }
},
"type" : "objectHelper/v1/mergeTwoObjects"
}
```
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: ODS File
URL: /reference/components/ods-file_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/ods-file_v1.mdx
Reads and writes data from a ODS file.
Categories: Helpers
Type: odsFile/v1
## Actions [#actions]
### Read from File [#read-from-file]
Name: read
`Reads data from a ODS file.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---------------: | :-----------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The object property which contains a reference to the ODS file to read from. | true |
| sheetName | Sheet Name | STRING | The name of the sheet to read from in the spreadsheet. If not set, the first one gets chosen. | false |
| headerRow | Header Row | BOOLEAN Options true , false | The first row of the file contains the header names. | false |
| includeEmptyCells | Include Empty Cells | BOOLEAN Options true , false | When reading from file the empty cells will be filled with an empty string. | false |
| pageSize | Page Size | INTEGER | The amount of child elements to return in a page. | false |
| pageNumber | Page Number | INTEGER | The page number to get. | false |
| readAsString | Read as String | BOOLEAN Options true , false | In some cases and file formats, it is necessary to read data specifically as string, otherwise some special characters are interpreted the wrong way. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Read from File",
"name" : "read",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"sheetName" : "",
"headerRow" : false,
"includeEmptyCells" : false,
"pageSize" : 1,
"pageNumber" : 1,
"readAsString" : false
},
"type" : "odsFile/v1/read"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Write to File [#write-to-file]
Name: write
`Writes the data to a ODS file.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----------------------------------------------------------: | :-------------------------------------------------------------------: | :------: |
| sheetName | Sheet Name | STRING | The name of the sheet to create in the spreadsheet. | false |
| rows | Rows | ARRAY Items \[\{}] | The array of rows to write to the file. | true |
| filename | Filename | STRING | Filename to set for binary data. By default, "file.ods" will be used. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Write to File",
"name" : "write",
"parameters" : {
"sheetName" : "",
"rows" : [ { } ],
"filename" : ""
},
"type" : "odsFile/v1/write"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
# ByteChef Reference: Ollama
URL: /reference/components/ollama_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/ollama_v1.mdx
Get up and running with large language models.
Categories: Artificial Intelligence
Type: ollama/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-----------------------: | :------: |
| url | URL | STRING | URL to your Ollama server | false |
## Connection Setup [#connection-setup]
For Ollama connection you just need URL to your Ollama server. In most cases that is `http://localhost:11434/`.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options codellama , dolphin-phi , gemma , gemma3 , llama2 , llama2-uncensored , llama3 , llama3.1 , llama3.2 , llama3.2-vision , llama3.2-vision:90b , llama3.2:1b , llama3.2:3b , llava , mistral , mistral-nemo , moondream , mxbai-embed-large , neural-chat , nomic-embed-text , orca-mini , phi , phi3 , qwen2.5 , qwen2.5:3b , qwen2.5vl , qwen3-embedding:8b , qwen3:0.6b , qwen3:1.7b , qwen3:4b , qwen3:4b-thinking , qwen3:7b , qwq , starling-lm | ID of the model to use. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| keepAlive | Keep alive for | STRING | Controls how long the model will stay loaded into memory following the request | false |
| maxTokens | Num predict | INTEGER | Maximum number of tokens to predict when generating text. (-1 = infinite generation, -2 = fill context) | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| topK | Top K | INTEGER | Specify the number of token choices the generative uses to generate the next token. | false |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| seed | Seed | INTEGER | Keeping the same seed would output the same response. | false |
| useNuma | Use NUMA | BOOLEAN Options true , false | Whether to use NUMA. | false |
| numCtx | Num CTX | INTEGER | Sets the size of the context window used to generate the next token. | false |
| numBatch | Num batch | INTEGER | Prompt processing maximum batch size. | false |
| numGpu | Num GPU | INTEGER | The number of layers to send to the GPU(s). On macOS it defaults to 1 to enable metal support, 0 to disable. 1 here indicates that NumGPU should be set dynamically | false |
| mainGpu | Main GPU | INTEGER | When using multiple GPUs this option controls which GPU is used for small tensors for which the overhead of splitting the computation across all GPUs is not worthwhile. The GPU in question will use slightly more VRAM to store a scratch buffer for temporary results. | false |
| lowVram | Low VRAM | BOOLEAN Options true , false | | false |
| f16kv | F16 KV | BOOLEAN Options true , false | | false |
| logitsAll | Logits all | BOOLEAN Options true , false | Return logits for all the tokens, not just the last one. To enable completions to return logprobs, this must be true. | false |
| vocabOnly | Vocab only | BOOLEAN Options true , false | Load only the vocabulary, not the weights. | false |
| useMmap | Use MMap | BOOLEAN Options true , false | By default, models are mapped into memory, which allows the system to load only the necessary parts of the model as needed. However, if the model is larger than your total amount of RAM or if your system is low on available memory, using mmap might increase the risk of pageouts, negatively impacting performance. Disabling mmap results in slower load times but may reduce pageouts if you’re not using mlock. Note that if the model is larger than the total amount of RAM, turning off mmap would prevent the model from loading at all. | false |
| useMlock | Use MLock | BOOLEAN Options true , false | Lock the model in memory, preventing it from being swapped out when memory-mapped. This can improve performance but trades away some of the advantages of memory-mapping by requiring more RAM to run and potentially slowing down load times as the model loads into RAM. | false |
| numThread | Num thread | INTEGER | Sets the number of threads to use during computation. By default, Ollama will detect this for optimal performance. It is recommended to set this value to the number of physical CPU cores your system has (as opposed to the logical number of cores). 0 = let the runtime decide | false |
| numKeep | Nul keep | INTEGER | | false |
| tfsz | Tfs Z | NUMBER | Tail-free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting. | false |
| typicalP | Typical P | NUMBER | | false |
| repeatLastN | Repeat last N | INTEGER | Sets how far back for the model to look back to prevent repetition. (Default: 64, 0 = disabled, -1 = num\_ctx) | false |
| repeatPenalty | Repeat penalty | NUMBER | Sets how strongly to penalize repetitions. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. | false |
| mirostat | Mirostat | INTEGER | Enable Mirostat sampling for controlling perplexity. (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0) | false |
| mirostatTau | Mirostat Tau | NUMBER | Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text. | false |
| mirostatEta | Mirostat Eta | NUMBER | Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive. | false |
| penalizeNewLine | Penalize new line | BOOLEAN Options true , false | | false |
| truncate | Truncate | BOOLEAN Options true , false | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"keepAlive" : "",
"maxTokens" : 1,
"temperature" : 0.0,
"topP" : 0.0,
"topK" : 1,
"frequencyPenalty" : 0.0,
"presencePenalty" : 0.0,
"stop" : [ "" ],
"seed" : 1,
"useNuma" : false,
"numCtx" : 1,
"numBatch" : 1,
"numGpu" : 1,
"mainGpu" : 1,
"lowVram" : false,
"f16kv" : false,
"logitsAll" : false,
"vocabOnly" : false,
"useMmap" : false,
"useMlock" : false,
"numThread" : 1,
"numKeep" : 1,
"tfsz" : 0.0,
"typicalP" : 0.0,
"repeatLastN" : 1,
"repeatPenalty" : 0.0,
"mirostat" : 1,
"mirostatTau" : 0.0,
"mirostatEta" : 0.0,
"penalizeNewLine" : false,
"truncate" : false
},
"type" : "ollama/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: One Simple API
URL: /reference/components/one-simple-api_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/one-simple-api_v1.mdx
A toolbox with all the things you need to get your project to success: Image resize and CDN, PDF and Screenshots generation, Currency Exchange and Discounts, Email Validation, QR codes, and much more!
Categories: Developer Tools
Type: oneSimpleAPI/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-------: | :----: | :---------: | :------: |
| token | API Token | STRING | | true |
## Connection Setup [#connection-setup]
### Create API Token [#create-api-token]
1. Navigate to [OneSimpleApi](https://onesimpleapi.com/) dashboard.
2. Click on your account icon.
3. Click on **API Tokens**.
4. Enter name of your token.
5. Click on **Create**.
6. Here you can see your **API Token**.
7. Done 🚀.
## Actions [#actions]
### Add Screenshot [#add-screenshot]
Name: addScreenshot
`Turn a URL into a screenshot.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :--------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: | :------: |
| source | Source | STRING Options URL , HTML | Provide either a URL to capture or raw HTML content. | true |
| url | URL | STRING | Place the URL you want to turn into screenshot. | true |
| html | HTML | STRING | Place the raw HTML to render. | true |
| custom\_css | Custom CSS | STRING | Custom CSS to inject into the page. | false |
| wait | Wait | INTEGER | Time to wait before capturing (milliseconds). | false |
| screen | Screen size | STRING Options default , phone , landscape-phone , tablet , landscape-tablet , retina , 4k , 8k , custom\_size | Predefined screen size or custom dimensions. | false |
| width | Width (px) | INTEGER | | true |
| height | Height (px) | INTEGER | | true |
| background | Transparent background | BOOLEAN Options true , false | Make the background transparent (PNG only). | false |
| fullpage | Full Page Screenshot | BOOLEAN Options true , false | Capture the entire scrollable page. | false |
| force | Force refresh | BOOLEAN Options true , false | Force a new screenshot even if cached. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Screenshot",
"name" : "addScreenshot",
"parameters" : {
"source" : "",
"url" : "",
"html" : "",
"custom_css" : "",
"wait" : 1,
"screen" : "",
"width" : 1,
"height" : 1,
"background" : false,
"fullpage" : false,
"force" : false
},
"type" : "oneSimpleAPI/v1/addScreenshot"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :-----: | :-----------------------------------------------: |
| width | INTEGER | Screenshot width. |
| height | INTEGER | Screenshot height. |
| fullpage | STRING | Whether the screenshot was captured as full page. |
| url | STRING | The URL that was captured. |
| elapsed | INTEGER | The total time taken to generate the screenshot. |
#### Output Example [#output-example]
```json
{
"width" : 1,
"height" : 1,
"fullpage" : "",
"url" : "",
"elapsed" : 1
}
```
### Currency Converter [#currency-converter]
Name: currencyConverter
`Convert currency from one to another.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------------: | :-----------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------: | :------: |
| from\_currency | From Currency | STRING Options AED , AFN , ALL , AMD , ANG , AOA , ARS , AUD , AWG , AZN , BAM , BBD , BDT , BGN , BHD , BIF , BMD , BND , BOB , BRL , BSD , BTN , BWP , BYN , BZD , CAD , CDF , CHF , CLP , CNY , COP , CRC , CUC , CUP , CVE , CZK , DJF , DKK , DOP , DZD , EGP , ERN , ETB , EUR , FJD , FKP , FOK , GBP , GEL , GGP , GHS , GIP , GMD , GNF , GTQ , GYD , HKD , HNL , HRK , HTG , HUF , IDR , ILS , IMP , INR , IQD , IRR , ISK , JMD , JOD , JPY , KES , KGS , KHR , KID , KMF , KRW , KWD , KYD , KZT , LAK , LBP , LKR , LRD , LSL , LYD , MAD , MDL , MGA , MKD , MMK , MNT , MOP , MRU , MUR , MVR , MWK , MXN , MYR , MZN , NAD , NGN , NIO , NOK , NPR , NZD , OMR , PAB , PEN , PGK , PHP , PKR , PLN , PYG , QAR , RON , RSD , RUB , RWF , SAR , SBD , SCR , SDG , SEK , SGD , SHP , SLL , SOS , SRD , SSP , STN , SYP , SZL , THB , TJS , TMT , TND , TOP , TRY , TTD , TVD , TWD , TZS , UAH , UGX , USD , UYU , UZS , VES , VND , VUV , WST , XAF , XCD , XDR , XOF , XPF , YER , ZAR , ZMW | Currency from which you want to convert. | true |
| to\_currency | To Currency | STRING Options AED , AFN , ALL , AMD , ANG , AOA , ARS , AUD , AWG , AZN , BAM , BBD , BDT , BGN , BHD , BIF , BMD , BND , BOB , BRL , BSD , BTN , BWP , BYN , BZD , CAD , CDF , CHF , CLP , CNY , COP , CRC , CUC , CUP , CVE , CZK , DJF , DKK , DOP , DZD , EGP , ERN , ETB , EUR , FJD , FKP , FOK , GBP , GEL , GGP , GHS , GIP , GMD , GNF , GTQ , GYD , HKD , HNL , HRK , HTG , HUF , IDR , ILS , IMP , INR , IQD , IRR , ISK , JMD , JOD , JPY , KES , KGS , KHR , KID , KMF , KRW , KWD , KYD , KZT , LAK , LBP , LKR , LRD , LSL , LYD , MAD , MDL , MGA , MKD , MMK , MNT , MOP , MRU , MUR , MVR , MWK , MXN , MYR , MZN , NAD , NGN , NIO , NOK , NPR , NZD , OMR , PAB , PEN , PGK , PHP , PKR , PLN , PYG , QAR , RON , RSD , RUB , RWF , SAR , SBD , SCR , SDG , SEK , SGD , SHP , SLL , SOS , SRD , SSP , STN , SYP , SZL , THB , TJS , TMT , TND , TOP , TRY , TTD , TVD , TWD , TZS , UAH , UGX , USD , UYU , UZS , VES , VND , VUV , WST , XAF , XCD , XDR , XOF , XPF , YER , ZAR , ZMW | Currency to which you want to convert. | true |
| from\_value | Value | NUMBER | Value to convert. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Currency Converter",
"name" : "currencyConverter",
"parameters" : {
"from_currency" : "",
"to_currency" : "",
"from_value" : 0.0
},
"type" : "oneSimpleAPI/v1/currencyConverter"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------------: | :----: | :---------: |
| from\_currency | STRING | |
| from\_value | STRING | |
| to\_currency | STRING | |
| to\_value | NUMBER | |
| to\_exchange\_rate | STRING | |
#### Output Example [#output-example-1]
```json
{
"from_currency" : "",
"from_value" : "",
"to_currency" : "",
"to_value" : 0.0,
"to_exchange_rate" : ""
}
```
### URL Shortener [#url-shortener]
Name: urlShortener
`Shorten your desired URL`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-------------------------------: | :------: |
| url | URL | STRING | Place the URL you want to shorten | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "URL Shortener",
"name" : "urlShortener",
"parameters" : {
"url" : ""
},
"type" : "oneSimpleAPI/v1/urlShortener"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----------------: | :----: | :---------: |
| url | STRING | |
| single\_use | STRING | |
| temporary\_redirect | STRING | |
| forward\_params | STRING | |
| short\_url | STRING | |
#### Output Example [#output-example-2]
```json
{
"url" : "",
"single_use" : "",
"temporary_redirect" : "",
"forward_params" : "",
"short_url" : ""
}
```
### Web Page Information [#web-page-information]
Name: webInformation
`Get information about a certain webpage`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------------------------------------: | :------: |
| url | URL | STRING | Place the web page url you want to get info from | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Web Page Information",
"name" : "webInformation",
"parameters" : {
"url" : ""
},
"type" : "oneSimpleAPI/v1/webInformation"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-----: | :-----------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| general | OBJECT Properties \{STRING(title), STRING(description), STRING(canonical)} | |
| twitter | OBJECT Properties \{STRING(site), STRING(title), STRING(description)} | |
| og | OBJECT Properties \{STRING(title), STRING(url), STRING(image), STRING(description), STRING(type)} | |
#### Output Example [#output-example-3]
```json
{
"general" : {
"title" : "",
"description" : "",
"canonical" : ""
},
"twitter" : {
"site" : "",
"title" : "",
"description" : ""
},
"og" : {
"title" : "",
"url" : "",
"image" : "",
"description" : "",
"type" : ""
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: OpenAI
URL: /reference/components/open-ai_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/open-ai_v1.mdx
OpenAI is a research organization that aims to develop and direct artificial intelligence (AI) in ways that benefit humanity as a whole.
Categories: Artificial Intelligence
Type: openAi/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Go to the [OpenAI API](https://platform.openai.com/settings/organization/general).
2. In the left sidebar, click on **API Keys**.
3. Click **Create new secret key**.
4. Enter a name and select the project for the key and click **Create secret key**.
5. Copy the API key and use it to create a connection in ByteChef.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------------: | :-------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options chatgpt-4o-latest , codex-mini-latest , gpt-3.5-turbo , gpt-3.5-turbo-0125 , gpt-3.5-turbo-0301 , gpt-3.5-turbo-0613 , gpt-3.5-turbo-1106 , gpt-3.5-turbo-16k , gpt-3.5-turbo-16k-0613 , gpt-4 , gpt-4-0125-preview , gpt-4-0314 , gpt-4-0613 , gpt-4-1106-preview , gpt-4-32k , gpt-4-32k-0314 , gpt-4-32k-0613 , gpt-4-turbo , gpt-4-turbo-2024-04-09 , gpt-4-turbo-preview , gpt-4-vision-preview , gpt-4.1 , gpt-4.1-2025-04-14 , gpt-4.1-mini , gpt-4.1-mini-2025-04-14 , gpt-4.1-nano , gpt-4.1-nano-2025-04-14 , gpt-4o , gpt-4o-2024-05-13 , gpt-4o-2024-08-06 , gpt-4o-2024-11-20 , gpt-4o-audio-preview , gpt-4o-audio-preview-2024-10-01 , gpt-4o-audio-preview-2024-12-17 , gpt-4o-audio-preview-2025-06-03 , gpt-4o-mini , gpt-4o-mini-2024-07-18 , gpt-4o-mini-audio-preview , gpt-4o-mini-audio-preview-2024-12-17 , gpt-4o-mini-search-preview , gpt-4o-mini-search-preview-2025-03-11 , gpt-4o-search-preview , gpt-4o-search-preview-2025-03-11 , gpt-5 , gpt-5-2025-08-07 , gpt-5-chat-latest , gpt-5-mini , gpt-5-mini-2025-08-07 , gpt-5-nano , gpt-5-nano-2025-08-07 , gpt-5.1 , gpt-5.1-2025-11-13 , gpt-5.1-chat-latest , gpt-5.1-codex , gpt-5.1-mini , gpt-5.2 , gpt-5.2-2025-12-11 , gpt-5.2-chat-latest , gpt-5.2-pro , gpt-5.2-pro-2025-12-11 , gpt-5.3-chat-latest , gpt-5.4 , gpt-5.4-mini , gpt-5.4-mini-2026-03-17 , gpt-5.4-nano , gpt-5.4-nano-2026-03-17 , o1 , o1-2024-12-17 , o1-mini , o1-mini-2024-09-12 , o1-preview , o1-preview-2024-09-12 , o3 , o3-2025-04-16 , o3-mini , o3-mini-2025-01-31 , o4-mini , o4-mini-2025-04-16 | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| maxCompletionTokens | Max Completion Tokens | INTEGER | An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens. Required instead of 'Max Tokens' by reasoning models such as gpt-5 and the o-series. | false |
| n | Number of Chat Completion Choices | INTEGER | How many chat completion choices to generate for each input message. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| logitBias | Logit Bias | OBJECT Properties \{} | Modify the likelihood of specified tokens appearing in the completion. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
| reasoning | Reasoning effort | STRING Options none , minimal , low , medium , high , xhigh | Constrains effort on reasoning. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. For reasoning models for gpt-5 and o-series models only. | false |
| verbosity | Verbosity | STRING Options low , medium , high | Adjusts response verbosity. Lower levels yield shorter answers. | false |
| store | Store logs | BOOLEAN Options true , false | Whether to store the logs for later retrieval. Logs are visible to your organization. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"maxCompletionTokens" : 1,
"n" : 1,
"temperature" : 0.0,
"topP" : 0.0,
"frequencyPenalty" : 0.0,
"presencePenalty" : 0.0,
"logitBias" : { },
"stop" : [ "" ],
"user" : "",
"reasoning" : "",
"verbosity" : "",
"store" : false
},
"type" : "openAi/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Ask (stream) [#ask-stream]
Name: streamAsk
`Ask anything you want and stream the response.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----------------: | :-------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options chatgpt-4o-latest , codex-mini-latest , gpt-3.5-turbo , gpt-3.5-turbo-0125 , gpt-3.5-turbo-0301 , gpt-3.5-turbo-0613 , gpt-3.5-turbo-1106 , gpt-3.5-turbo-16k , gpt-3.5-turbo-16k-0613 , gpt-4 , gpt-4-0125-preview , gpt-4-0314 , gpt-4-0613 , gpt-4-1106-preview , gpt-4-32k , gpt-4-32k-0314 , gpt-4-32k-0613 , gpt-4-turbo , gpt-4-turbo-2024-04-09 , gpt-4-turbo-preview , gpt-4-vision-preview , gpt-4.1 , gpt-4.1-2025-04-14 , gpt-4.1-mini , gpt-4.1-mini-2025-04-14 , gpt-4.1-nano , gpt-4.1-nano-2025-04-14 , gpt-4o , gpt-4o-2024-05-13 , gpt-4o-2024-08-06 , gpt-4o-2024-11-20 , gpt-4o-audio-preview , gpt-4o-audio-preview-2024-10-01 , gpt-4o-audio-preview-2024-12-17 , gpt-4o-audio-preview-2025-06-03 , gpt-4o-mini , gpt-4o-mini-2024-07-18 , gpt-4o-mini-audio-preview , gpt-4o-mini-audio-preview-2024-12-17 , gpt-4o-mini-search-preview , gpt-4o-mini-search-preview-2025-03-11 , gpt-4o-search-preview , gpt-4o-search-preview-2025-03-11 , gpt-5 , gpt-5-2025-08-07 , gpt-5-chat-latest , gpt-5-mini , gpt-5-mini-2025-08-07 , gpt-5-nano , gpt-5-nano-2025-08-07 , gpt-5.1 , gpt-5.1-2025-11-13 , gpt-5.1-chat-latest , gpt-5.1-codex , gpt-5.1-mini , gpt-5.2 , gpt-5.2-2025-12-11 , gpt-5.2-chat-latest , gpt-5.2-pro , gpt-5.2-pro-2025-12-11 , gpt-5.3-chat-latest , gpt-5.4 , gpt-5.4-mini , gpt-5.4-mini-2026-03-17 , gpt-5.4-nano , gpt-5.4-nano-2026-03-17 , o1 , o1-2024-12-17 , o1-mini , o1-mini-2024-09-12 , o1-preview , o1-preview-2024-09-12 , o3 , o3-2025-04-16 , o3-mini , o3-mini-2025-01-31 , o4-mini , o4-mini-2025-04-16 | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| maxCompletionTokens | Max Completion Tokens | INTEGER | An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens. Required instead of 'Max Tokens' by reasoning models such as gpt-5 and the o-series. | false |
| n | Number of Chat Completion Choices | INTEGER | How many chat completion choices to generate for each input message. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| logitBias | Logit Bias | OBJECT Properties \{} | Modify the likelihood of specified tokens appearing in the completion. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
| reasoning | Reasoning effort | STRING Options none , minimal , low , medium , high , xhigh | Constrains effort on reasoning. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. For reasoning models for gpt-5 and o-series models only. | false |
| verbosity | Verbosity | STRING Options low , medium , high | Adjusts response verbosity. Lower levels yield shorter answers. | false |
| store | Store logs | BOOLEAN Options true , false | Whether to store the logs for later retrieval. Logs are visible to your organization. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Ask (stream)",
"name" : "streamAsk",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"maxCompletionTokens" : 1,
"n" : 1,
"temperature" : 0.0,
"topP" : 0.0,
"frequencyPenalty" : 0.0,
"presencePenalty" : 0.0,
"logitBias" : { },
"stop" : [ "" ],
"user" : "",
"reasoning" : "",
"verbosity" : "",
"store" : false
},
"type" : "openAi/v1/streamAsk"
}
```
#### Output [#output-1]
***Sample Output:***
`Sample stream`
Type: STRING
### Create Image [#create-image]
Name: createImage
`Create an image using text-to-image models`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------------: | :-----------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING Options chatgpt-image-latest , dall-e-2 , dall-e-3 , gpt-image-1 , gpt-image-1-5 , gpt-image-1-mini , gpt-image-2 , gpt-image-2-2026-04-21 | The model to use for image generation. | true |
| imageMessages | Messages | ARRAY Items \[\{STRING(content), NUMBER(weight)}] | A list of messages comprising the conversation so far. | true |
| size | Size | STRING Options DALL\_E\_2\_256x256 , DALL\_E\_2\_512x512 , \_1024x1024 , DALL\_E\_3\_1792x1024 , DALL\_E\_3\_1024x1792 | The size of the generated images. | true |
| n | Number of Responses | INTEGER | The number of images to generate. Must be between 1 and 10. For dall-e-3, only n=1 is supported.. | false |
| responseFormat | Response format | STRING Options URL , B64\_JSON | The format in which the generated images are returned. | false |
| quality | Quality | STRING Options STANDARD , HD | The quality of the image that will be generated. | false |
| style | Style | STRING Options VIVID , NATURAL | The style of the generated images. Must be one of vivid or natural. Vivid causes the model to lean towards generating hyper-real and dramatic images. Natural causes the model to produce more natural, less hyper-real looking images. This parameter is only supported for dall-e-3. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Image",
"name" : "createImage",
"parameters" : {
"model" : "",
"imageMessages" : [ {
"content" : "",
"weight" : 0.0
} ],
"size" : "",
"n" : 1,
"responseFormat" : "",
"quality" : "",
"style" : "",
"user" : ""
},
"type" : "openAi/v1/createImage"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :----: | :-----------------------------------------: |
| url | STRING | URL of the generated image. |
| b64Json | STRING | Base64 encoded JSON of the generated image. |
#### Output Example [#output-example]
```json
{
"url" : "",
"b64Json" : ""
}
```
### Text-To-Speech [#text-to-speech]
Name: createSpeech
`Generate an audio recording from the input text`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| model | Model | STRING Options gpt-4o-mini-tts , gpt-4o-mini-tts-2025-12-15 , tts-1 , tts-1-hd | Text-to-Speech model which will generate the audio. | true |
| input | Input | STRING | The text to generate audio for. | true |
| voice | Voice | STRING Options ALLOY , ASH , BALLAD , CORAL , ECHO , FABLE , NOVA , ONYX , SAGE , SHIMMER , VERSE | The voice to use when generating the audio. | true |
| responseFormat | Response format | STRING Options AAC , FLAC , MP3 , OPUS , PCM , WAV | The format to audio in. | false |
| speed | Speed | NUMBER | The speed of the generated audio. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Text-To-Speech",
"name" : "createSpeech",
"parameters" : {
"model" : "",
"input" : "",
"voice" : "",
"responseFormat" : "",
"speed" : 0.0
},
"type" : "openAi/v1/createSpeech"
}
```
#### Output [#output-3]
Type: FILE\_ENTRY
#### Properties [#properties-6]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Create Transcriptions [#create-transcriptions]
Name: createTranscription
`Transcribes audio into the input language.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| file | File Entry | FILE\_ENTRY | The audio file object to transcribe, in one of these formats: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. | true |
| model | Model | STRING Options gpt-4o-mini-transcribe , gpt-4o-mini-transcribe-2025-12-15 , gpt-4o-transcribe , gpt-4o-transcribe-diarize , whisper-1 | ID of the model to use. | true |
| language | Language | STRING Options AF , AR , HY , AZ , BE , BS , BG , CA , ZH , HR , CS , DA , NL , EL , ET , EN , FI , FR , GL , DE , HE , HI , HU , IS , ID , IT , JA , KK , KN , KO , LT , LV , MA , MK , MR , MS , NE , NO , FA , PL , PT , RO , RU , SK , SL , SR , ES , SV , SW , TA , TL , TH , TR , UK , UR , VI , CY | The language of the input audio. | false |
| prompt | Prompt | STRING | An optional text to guide the model's style or continue a previous audio segment. The prompt should match the audio language. | false |
| responseFormat | Response format | STRING Options json , text , srt , verbose\_json , vtt | The format of the transcript output | true |
| temperature | Temperature | NUMBER | The sampling temperature, between 0 and 1. Higher values like will make the output more random, while lower values will make it more focused and deterministic. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Create Transcriptions",
"name" : "createTranscription",
"parameters" : {
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"model" : "",
"language" : "",
"prompt" : "",
"responseFormat" : "",
"temperature" : 0.0
},
"type" : "openAi/v1/createTranscription"
}
```
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Open Router
URL: /reference/components/open-router_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/open-router_v1.mdx
OpenRouter provides a unified API that gives you access to hundreds of AI models through a single endpoint, while automatically handling fallbacks and selecting the most cost-effective options.
Categories: Artificial Intelligence
Type: openRouter/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Login into your [OpenRouter AI console](https://openrouter.ai/).
2. Click on **Get API Key**.
3. Click on **New Key**.
4. Enter name of your API key.
5. Click on **Create**.
6. Here you can copy your API Key.
7. Done 🚀.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------------: | :-------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| supportedParameters | Supported parameters | ARRAY Items \[STRING] | Filter models by supported parameter | true |
| model | Model | STRING Depends On supportedParameters | ID of the model to use. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| logitBias | Logit Bias | OBJECT Properties \{} | Modify the likelihood of specified tokens appearing in the completion. | false |
| logprobs | Logprobs | BOOLEAN Options true , false | Return log probabilities. | false |
| maxCompletionTokens | Max Completion Tokens | INTEGER | Maximum tokens in completion. | false |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| reasoning | Reasoning effort | STRING Options none , minimal , low , medium , high , xhigh | Constrains effort on reasoning. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. For reasoning models for gpt-5 and o-series models only. | false |
| seed | Seed | INTEGER | Keeping the same seed would output the same response. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topLogprobs | Top Logprobs | INTEGER | Number of top log probabilities to return (0-20). | false |
| topK | Top K | INTEGER | Specify the number of token choices the generative uses to generate the next token. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| verbosity | Verbosity | STRING Options low , medium , high | Adjusts response verbosity. Lower levels yield shorter answers. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"supportedParameters" : [ "" ],
"model" : "",
"userPrompt" : "",
"format" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"frequencyPenalty" : 0.0,
"logitBias" : { },
"logprobs" : false,
"maxCompletionTokens" : 1,
"maxTokens" : 1,
"presencePenalty" : 0.0,
"reasoning" : "",
"seed" : 1,
"stop" : [ "" ],
"temperature" : 0.0,
"topLogprobs" : 1,
"topK" : 1,
"topP" : 0.0,
"verbosity" : "",
"user" : ""
},
"type" : "openRouter/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Create Image [#create-image]
Name: createImage
`Create an image using text-to-image models`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| imageMessages | Messages | ARRAY Items \[\{STRING(content), NUMBER(weight)}] | A list of messages comprising the conversation so far. | true |
| aspectRatio | Aspect Ratio | STRING Options 1:1 , 2:3 , 3:2 , 3:4 , 4:3 , 4:5 , 5:4 , 9:16 , 16:9 , 21:9 , 1:4 , 4:1 , 1:8 , 8:1 | Specific aspect ratios for generated images | false |
| size | Size | STRING Options 1K , 2K , 4K , 0.5K | The size of the generated images. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Image",
"name" : "createImage",
"parameters" : {
"model" : "",
"imageMessages" : [ {
"content" : "",
"weight" : 0.0
} ],
"aspectRatio" : "",
"size" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"user" : ""
},
"type" : "openRouter/v1/createImage"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Create Speech [#create-speech]
Name: createSpeech
`Generate an audio file from the input text`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :-----------------------------------------------------------------------------------------: | :-------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| input | Input | STRING | The text to synthesize. | true |
| voice | Voice | STRING | Voice identifier (provider-specific). | true |
| responseFormat | Response Format | STRING Options mp3 , pcm | Audio output file format. | false |
| speed | Speed | NUMBER | Playback speed multiplier. Only used by models that support it. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Speech",
"name" : "createSpeech",
"parameters" : {
"model" : "",
"input" : "",
"voice" : "",
"responseFormat" : "",
"speed" : 0.0
},
"type" : "openRouter/v1/createSpeech"
}
```
#### Output [#output-2]
Type: FILE\_ENTRY
#### Properties [#properties-4]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Create Transcription [#create-transcription]
Name: createTranscription
`Transcribes audio into text.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| file | File | FILE\_ENTRY | The audio file to transcribe. Supported formats: wav, mp3, flac, m4a, ogg, webm, aac. | true |
| language | Language | STRING Options AF , AR , HY , AZ , BE , BS , BG , CA , ZH , HR , CS , DA , NL , EL , ET , EN , FI , FR , GL , DE , HE , HI , HU , IS , ID , IT , JA , KK , KN , KO , LT , LV , MA , MK , MR , MS , NE , NO , FA , PL , PT , RO , RU , SK , SL , SR , ES , SV , SW , TA , TL , TH , TR , UK , UR , VI , CY | The language of the input audio. | false |
| temperature | Temperature | NUMBER | Sampling temperature for transcription. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Transcription",
"name" : "createTranscription",
"parameters" : {
"model" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"language" : "",
"temperature" : 0.0
},
"type" : "openRouter/v1/createTranscription"
}
```
#### Output [#output-3]
Type: STRING
# ByteChef Reference: Oracle Vector Store
URL: /reference/components/oracle_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/oracle_v1.mdx
Oracle Vector Store uses Oracle Database 23ai's native vector storage and similarity search capabilities to store and query document embeddings.
Categories: Artificial Intelligence
Type: oracleVectorStore/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: | :------: |
| url | JDBC URL | STRING | Oracle JDBC connection URL (e.g., jdbc:oracle:thin:@localhost:1521/FREEPDB1). | true |
| username | Username | STRING | Oracle database username. | true |
| password | Password | STRING | Oracle database password. | true |
| tableName | Table Name | STRING | Name of the database table used to store vector embeddings. | false |
| indexType | Index Type | STRING Options NONE , HNSW , IVF | Vector index type to use for similarity search. | false |
| distanceType | Distance Type | STRING Options COSINE , DOT , EUCLIDEAN , EUCLIDEAN\_SQUARED , MANHATTAN | Distance function used for vector similarity comparison. | false |
| dimensions | Dimensions | INTEGER | Number of dimensions for the vector embeddings. Use -1 to infer from the embedding model. | false |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to create the vector store table automatically if it does not exist. | false |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "oracleVectorStore/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "oracleVectorStore/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "oracleVectorStore/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "oracleVectorStore/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: PagerDuty
URL: /reference/components/pagerduty_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/pagerduty_v1.mdx
With PagerDuty, you can get real-time alerts, manage on-call schedules, and automate parts of your incident response process.
Categories: Project Management
Type: pagerDuty/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :----: | :------------------------------------------------------------------: | :------: |
| api\_key | API Key | STRING | Enter your API Key. Can be found in Integrations -> API Access Keys. | true |
## Connection Setup [#connection-setup]
### Find OAuth Client ID and Client Secret [#find-oauth-client-id-and-client-secret]
1. Navigate to your dashboard.
2. Click on **Account Settings**.
3. Hover on **Integrations**.
4. Click on **API Access Keys**
5. Click on **Create New API Key**.
6. Enter description of your API key.
7. Click on **Create Key**.
8. Here you can see API key. Copy it because you will not be able to see it again.
9. Click on **Close**.
## Actions [#actions]
### Create Incident [#create-incident]
Name: createIncident
`Create an incident synchronously without a corresponding event from a monitoring service.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------------: | :------------------: | :------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | :------: |
| From | From | STRING | The email address of a valid user associated with the account making the request. | true |
| title | Title | STRING | A short description of the nature, symptoms, cause, or effect of the incident. | true |
| service | Service ID | STRING | The incident will be created on service with this ID. | true |
| priority | Priority | STRING | Priority of the incident. Priorities must be enabled in your PagerDuty account in order to use them. | false |
| urgency | Urgency | STRING Options high , low | The urgency level of this incident. | false |
| details | Details | STRING | Details about the incident. | false |
| assignments | Assignments | ARRAY Items \[STRING(\$userId)] | Assign the incident to these assignees. | false |
| incident\_key | Incident Key | STRING | A string which identifies the incident. | false |
| incident\_type | Incident Type | STRING | Incident type. | false |
| escalation\_policy | Escalation Policy ID | STRING | Delegate this incident to the specified escalation policy. Cannot be specified if an assignee is given. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Incident",
"name" : "createIncident",
"parameters" : {
"From" : "",
"title" : "",
"service" : "",
"priority" : "",
"urgency" : "",
"details" : "",
"assignments" : [ "" ],
"incident_key" : "",
"incident_type" : "",
"escalation_policy" : ""
},
"type" : "pagerDuty/v1/createIncident"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| incident | OBJECT Properties \{INTEGER(incident\_number), STRING(title), STRING(description), STRING(created\_at), STRING(updated\_at), STRING(status), STRING(incident\_key), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(service), \[\{STRING(at), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(assignee)}]\(assignments), STRING(assigned\_via), STRING(last\_status\_change\_at), STRING(resolved\_at), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(first\_trigger\_log\_entry), \{INTEGER(all), INTEGER(triggered), INTEGER(resolved)}(alert\_counts), BOOLEAN(is\_mergeable), \{STRING(name)}(incident\_type), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(escalation\_policy), \[]\(teams), \[\{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(\$service)]\(impacted\_services), \[]\(pending\_actions), \[]\(acknowledgements), STRING(basic\_alert\_grouping), STRING(alert\_grouping), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(last\_status\_changed\_by), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url), STRING(account\_id), STRING(color), STRING(created\_at), STRING(description), STRING(name), INTEGER(order), INTEGER(schema\_version), STRING(updated\_at)}(priority), \[]\(incidents\_responders), \[]\(responder\_requests), \[]\(subscriber\_requests), STRING(urgency), STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)} | |
#### Output Example [#output-example]
```json
{
"incident" : {
"incident_number" : 1,
"title" : "",
"description" : "",
"created_at" : "",
"updated_at" : "",
"status" : "",
"incident_key" : "",
"service" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"assignments" : [ {
"at" : "",
"assignee" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
}
} ],
"assigned_via" : "",
"last_status_change_at" : "",
"resolved_at" : "",
"first_trigger_log_entry" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"alert_counts" : {
"all" : 1,
"triggered" : 1,
"resolved" : 1
},
"is_mergeable" : false,
"incident_type" : {
"name" : ""
},
"escalation_policy" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"teams" : [ ],
"impacted_services" : [ {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
} ],
"pending_actions" : [ ],
"acknowledgements" : [ ],
"basic_alert_grouping" : "",
"alert_grouping" : "",
"last_status_changed_by" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"priority" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : "",
"account_id" : "",
"color" : "",
"created_at" : "",
"description" : "",
"name" : "",
"order" : 1,
"schema_version" : 1,
"updated_at" : ""
},
"incidents_responders" : [ ],
"responder_requests" : [ ],
"subscriber_requests" : [ ],
"urgency" : "",
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
}
}
```
### Create Incident Note [#create-incident-note]
Name: createIncidentNote
`Create a new note for the specified incident.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----: | :-------------------------------------------------------------------------------: | :------: |
| From | From | STRING | The email address of a valid user associated with the account making the request. | true |
| incidentId | Incident ID | STRING | ID of the incident to which the note will be added. | true |
| content | Content | STRING | Content of the incident note. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Incident Note",
"name" : "createIncidentNote",
"parameters" : {
"From" : "",
"incidentId" : "",
"content" : ""
},
"type" : "pagerDuty/v1/createIncidentNote"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| note | OBJECT Properties \{STRING(id), \{STRING(type), STRING(id), STRING(summary), STRING(self), STRING(html\_url)}(user), \{STRING(type), STRING(id), STRING(summary), STRING(self), STRING(html\_url)}(channel), STRING(content), STRING(created\_at)} | |
#### Output Example [#output-example-1]
```json
{
"note" : {
"id" : "",
"user" : {
"type" : "",
"id" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"channel" : {
"type" : "",
"id" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"content" : "",
"created_at" : ""
}
}
```
### Update Incident [#update-incident]
Name: updateIncident
`Update selected incident.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------------: | :------------------: | :-------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | :------: |
| From | From | STRING | The email address of a valid user associated with the account making the request. | true |
| incidentId | Incident ID | STRING | ID of the incident to which the note will be added. | true |
| incident\_type | Incident Type | STRING | Incident type. | true |
| status | Status | STRING Options resolved , acknowledged | The new status of the incident. | false |
| assignments | Assignments | ARRAY Items \[STRING(\$userId)] | Assign the incident to these assignees. | false |
| resolution | Resolution | STRING | The resolution for this incident. | false |
| title | Title | STRING | A short description of the nature, symptoms, cause, or effect of the incident. | false |
| priority | Priority | STRING | Priority of the incident. Priorities must be enabled in your PagerDuty account in order to use them. | false |
| urgency | Urgency | STRING Options high , low | The urgency level of this incident. | false |
| escalation\_policy | Escalation Policy ID | STRING | Delegate this incident to the specified escalation policy. Cannot be specified if an assignee is given. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update Incident",
"name" : "updateIncident",
"parameters" : {
"From" : "",
"incidentId" : "",
"incident_type" : "",
"status" : "",
"assignments" : [ "" ],
"resolution" : "",
"title" : "",
"priority" : "",
"urgency" : "",
"escalation_policy" : ""
},
"type" : "pagerDuty/v1/updateIncident"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| incident | OBJECT Properties \{INTEGER(incident\_number), STRING(title), STRING(description), STRING(created\_at), STRING(updated\_at), STRING(status), STRING(incident\_key), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(service), \[\{STRING(at), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(assignee)}]\(assignments), STRING(assigned\_via), STRING(last\_status\_change\_at), STRING(resolved\_at), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(first\_trigger\_log\_entry), \{INTEGER(all), INTEGER(triggered), INTEGER(resolved)}(alert\_counts), BOOLEAN(is\_mergeable), \{STRING(name)}(incident\_type), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(escalation\_policy), \[]\(teams), \[\{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(\$service)]\(impacted\_services), \[]\(pending\_actions), \[]\(acknowledgements), STRING(basic\_alert\_grouping), STRING(alert\_grouping), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(last\_status\_changed\_by), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url), STRING(account\_id), STRING(color), STRING(created\_at), STRING(description), STRING(name), INTEGER(order), INTEGER(schema\_version), STRING(updated\_at)}(priority), \[]\(incidents\_responders), \[]\(responder\_requests), \[]\(subscriber\_requests), STRING(urgency), STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)} | |
#### Output Example [#output-example-2]
```json
{
"incident" : {
"incident_number" : 1,
"title" : "",
"description" : "",
"created_at" : "",
"updated_at" : "",
"status" : "",
"incident_key" : "",
"service" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"assignments" : [ {
"at" : "",
"assignee" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
}
} ],
"assigned_via" : "",
"last_status_change_at" : "",
"resolved_at" : "",
"first_trigger_log_entry" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"alert_counts" : {
"all" : 1,
"triggered" : 1,
"resolved" : 1
},
"is_mergeable" : false,
"incident_type" : {
"name" : ""
},
"escalation_policy" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"teams" : [ ],
"impacted_services" : [ {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
} ],
"pending_actions" : [ ],
"acknowledgements" : [ ],
"basic_alert_grouping" : "",
"alert_grouping" : "",
"last_status_changed_by" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
},
"priority" : {
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : "",
"account_id" : "",
"color" : "",
"created_at" : "",
"description" : "",
"name" : "",
"order" : 1,
"schema_version" : 1,
"updated_at" : ""
},
"incidents_responders" : [ ],
"responder_requests" : [ ],
"subscriber_requests" : [ ],
"urgency" : "",
"id" : "",
"type" : "",
"summary" : "",
"self" : "",
"html_url" : ""
}
}
```
## Triggers [#triggers]
### New or Updated Incident Trigger [#new-or-updated-incident-trigger]
Name: newOrUpdatedIncident
`Triggers incident is created or updated.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-----: | :--------: | :----: | :-----------------------------------------------------: | :------: |
| service | Service ID | STRING | The service that will be watched for the trigger event. | true |
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------: |
| id | STRING | ID of the incident that triggered the trigger. |
| event\_type | STRING | Type of the event that triggered the trigger. |
| resource\_type | STRING | Type of the resource that triggered the trigger. |
| occurred\_at | STRING | When did the event occurred. |
| agent | OBJECT Properties \{STRING(type), STRING(id), STRING(summary), STRING(self), STRING(html\_url)} | Agent that triggered the event. |
| client | OBJECT Properties \{} | Client on which event occurred. |
| data | OBJECT Properties \{STRING(id), STRING(type), STRING(self), STRING(html\_url), STRING(number), STRING(status), STRING(incident\_key), STRING(created\_at), STRING(title), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(service), \[\{STRING(at), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(assignee)}]\(assignees), \{STRING(id), STRING(type), STRING(summary), STRING(self), STRING(html\_url)}(escalation\_policy), \[]\(teams), STRING(priority), STRING(urgency), STRING(conference\_bridge), STRING(resolve\_reason), \{STRING(name)}(incident\_type)} | Data of the object that triggered the trigger. |
#### JSON Example [#json-example]
```json
{
"label" : "New or Updated Incident Trigger",
"name" : "newOrUpdatedIncident",
"parameters" : {
"service" : ""
},
"type" : "pagerDuty/v1/newOrUpdatedIncident"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: PDF Helper
URL: /reference/components/pdf-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/pdf-helper_v1.mdx
null
Categories: Helpers
Type: pdfHelper/v1
## Actions [#actions]
### Convert to Image [#convert-to-image]
Name: convertToImage
`Converts pdf to image.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :--------: | :---------: | :-----------------------------------------------------------------------------------: | :------: |
| file | PDF File | FILE\_ENTRY | The PDF file which will be converted to image. | true |
| filename | Image Name | STRING | Name of the image. Every image will have index of the corresponding page in its name. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Convert to Image",
"name" : "convertToImage",
"parameters" : {
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"filename" : ""
},
"type" : "pdfHelper/v1/convertToImage"
}
```
#### Output [#output]
Type: ARRAY
Items Type: FILE\_ENTRY
#### Output Example [#output-example]
```json
[ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
```
### Extract Text [#extract-text]
Name: extractText
`Extracts text from a PDF file.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :------: | :---------: | :--------------------------------------: | :------: |
| file | PDF File | FILE\_ENTRY | The PDF file from which to extract text. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Extract Text",
"name" : "extractText",
"parameters" : {
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "pdfHelper/v1/extractText"
}
```
#### Output [#output-1]
Type: STRING
### Image to PDF [#image-to-pdf]
Name: imageToPdf
`Converts image to PDF.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------: | :------: | :---------------------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| images | null | ARRAY Items \[FILE\_ENTRY(\$image)] | List of images that will be converted to one PDF. | true |
| filename | Filename | STRING | The name of the PDF file. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Image to PDF",
"name" : "imageToPdf",
"parameters" : {
"images" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"filename" : ""
},
"type" : "pdfHelper/v1/imageToPdf"
}
```
#### Output [#output-2]
Type: FILE\_ENTRY
#### Properties [#properties-3]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-1]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
### Text to PDF [#text-to-pdf]
Name: textToPdf
`Converts text to PDF.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :--------------------------------------: | :------: |
| text | Text | STRING | The text which will be converted to PDF. | true |
| filename | Filename | STRING | The name of the PDF file. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Text to PDF",
"name" : "textToPdf",
"parameters" : {
"text" : "",
"filename" : ""
},
"type" : "pdfHelper/v1/textToPdf"
}
```
#### Output [#output-3]
Type: FILE\_ENTRY
#### Properties [#properties-5]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-2]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
# ByteChef Reference: Perplexity
URL: /reference/components/perplexity_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/perplexity_v1.mdx
Perplexity AI provides a unique AI service that integrates its language models with real-time search capabilities.
Categories: Artificial Intelligence
Type: perplexity/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to [Perplexity Console](https://console.perplexity.ai/groups).
2. Select API group you want to create API key for.
3. Click on **API keys**.
4. Click on **Generate API key**.
5. Enter name of your API key.
6. Agree to the API Terms and Services.
7. Click on **Create Key**.
8. Here you can copy your API key.
9. Click on **I've saved it**.
10. Done 🚀.
## Actions [#actions]
### Ask [#ask]
Name: ask
`Ask anything you want.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | ID of the model to use. | true |
| format | Format | STRING Options SIMPLE , ADVANCED | Format of providing the prompt to the model. | true |
| userPrompt | Prompt | STRING | User prompt to the model. | true |
| systemPrompt | System Prompt | STRING | System prompt to the model. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | Only text and image files are supported. Also, only certain models supports images. Please check the documentation. | false |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content), \[FILE\_ENTRY]\(attachments)}] | A list of messages comprising the conversation so far. | true |
| response | Response | OBJECT Properties \{STRING(responseFormat), STRING(responseSchema)} | The response from the API. | true |
| maxTokens | Max Tokens | INTEGER | The maximum number of tokens to generate in the chat completion. | false |
| n | Number of Chat Completion Choices | INTEGER | How many chat completion choices to generate for each input message. | false |
| temperature | Temperature | NUMBER | Controls randomness: Higher values will make the output more random, while lower values like will make it more focused and deterministic. | false |
| topP | Top P | NUMBER | An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top\_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. | false |
| frequencyPenalty | Frequency Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. | false |
| presencePenalty | Presence Penalty | NUMBER | Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. | false |
| logitBias | Logit Bias | OBJECT Properties \{} | Modify the likelihood of specified tokens appearing in the completion. | false |
| stop | Stop | ARRAY Items \[STRING] | Up to 4 sequences where the API will stop generating further tokens. | false |
| user | User | STRING | A unique identifier representing your end-user, which can help admins to monitor and detect abuse. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Ask",
"name" : "ask",
"parameters" : {
"model" : "",
"format" : "",
"userPrompt" : "",
"systemPrompt" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"messages" : [ {
"role" : "",
"content" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
} ],
"response" : {
"responseFormat" : "",
"responseSchema" : ""
},
"maxTokens" : 1,
"n" : 1,
"temperature" : 0.0,
"topP" : 0.0,
"frequencyPenalty" : 0.0,
"presencePenalty" : 0.0,
"logitBias" : { },
"stop" : [ "" ],
"user" : ""
},
"type" : "perplexity/v1/ask"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Petstore
URL: /reference/components/petstore_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/petstore_v1.mdx
This is a sample Pet Store Server based on the OpenAPI 3.0 specification.
Categories:
Type: petstore/v1
## Connections [#connections]
Version: 1
### OAuth2 Implicit [#oauth2-implicit]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
### API Key [#api-key]
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | Value | STRING | | true |
## Actions [#actions]
### Add a new pet to the store [#add-a-new-pet-to-the-store]
Name: addPet
`Add a new pet to the store`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------: | :------: |
| id | Id | INTEGER | | false |
| name | Name | STRING | | true |
| category | Category | OBJECT Properties \{INTEGER(id), STRING(name)} | | false |
| photoUrls | Photo Urls | ARRAY Items \[STRING] | | true |
| tags | Tags | ARRAY Items \[\{INTEGER(id), STRING(name)}] | | false |
| status | Status | STRING Options available , pending , sold | pet status in the store | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add a new pet to the store",
"name" : "addPet",
"parameters" : {
"id" : 1,
"name" : "",
"category" : {
"id" : 1,
"name" : ""
},
"photoUrls" : [ "" ],
"tags" : [ {
"id" : 1,
"name" : ""
} ],
"status" : ""
},
"type" : "petstore/v1/addPet"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :-------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| id | INTEGER | |
| name | STRING | |
| category | OBJECT Properties \{INTEGER(id), STRING(name)} | |
| photoUrls | ARRAY Items \[STRING] | |
| tags | ARRAY Items \[\{INTEGER(id), STRING(name)}] | |
| status | STRING Options available , pending , sold | pet status in the store |
#### Output Example [#output-example]
```json
{
"id" : 1,
"name" : "",
"category" : {
"id" : 1,
"name" : ""
},
"photoUrls" : [ "" ],
"tags" : [ {
"id" : 1,
"name" : ""
} ],
"status" : ""
}
```
### Create user [#create-user]
Name: createUser
`This can only be done by the logged in user.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :-----: | :---------: | :------: |
| id | Id | INTEGER | | false |
| username | Username | STRING | | false |
| firstName | First Name | STRING | | false |
| lastName | Last Name | STRING | | false |
| email | Email | STRING | | false |
| password | Password | STRING | | false |
| phone | Phone | STRING | | false |
| userStatus | User Status | INTEGER | User Status | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create user",
"name" : "createUser",
"parameters" : {
"id" : 1,
"username" : "",
"firstName" : "",
"lastName" : "",
"email" : "",
"password" : "",
"phone" : "",
"userStatus" : 1
},
"type" : "petstore/v1/createUser"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :--------: | :-----: | :---------: |
| id | INTEGER | |
| username | STRING | |
| firstName | STRING | |
| lastName | STRING | |
| email | STRING | |
| password | STRING | |
| phone | STRING | |
| userStatus | INTEGER | User Status |
#### Output Example [#output-example-1]
```json
{
"id" : 1,
"username" : "",
"firstName" : "",
"lastName" : "",
"email" : "",
"password" : "",
"phone" : "",
"userStatus" : 1
}
```
### Creates list of users with given input array [#creates-list-of-users-with-given-input-array]
Name: createUsersWithListInput
`Creates list of users with given input array`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :-------: | :---: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| \_\_items | Items | ARRAY Items \[\{INTEGER(id), STRING(username), STRING(firstName), STRING(lastName), STRING(email), STRING(password), STRING(phone), INTEGER(userStatus)}] | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Creates list of users with given input array",
"name" : "createUsersWithListInput",
"parameters" : {
"__items" : [ {
"id" : 1,
"username" : "",
"firstName" : "",
"lastName" : "",
"email" : "",
"password" : "",
"phone" : "",
"userStatus" : 1
} ]
},
"type" : "petstore/v1/createUsersWithListInput"
}
```
#### Output [#output-2]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :--------: | :-----: | :---------: |
| id | INTEGER | |
| username | STRING | |
| firstName | STRING | |
| lastName | STRING | |
| email | STRING | |
| password | STRING | |
| phone | STRING | |
| userStatus | INTEGER | User Status |
#### Output Example [#output-example-2]
```json
[ {
"id" : 1,
"username" : "",
"firstName" : "",
"lastName" : "",
"email" : "",
"password" : "",
"phone" : "",
"userStatus" : 1
} ]
```
### Delete purchase order by ID [#delete-purchase-order-by-id]
Name: deleteOrder
`For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :-----: | :--------------------------------------: | :------: |
| orderId | Order Id | INTEGER | ID of the order that needs to be deleted | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete purchase order by ID",
"name" : "deleteOrder",
"parameters" : {
"orderId" : 1
},
"type" : "petstore/v1/deleteOrder"
}
```
#### Output [#output-3]
This action does not produce any output.
### Deletes a pet [#deletes-a-pet]
Name: deletePet
`delete a pet`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :-----: | :--------------: | :------: |
| api\_key | Api Key | STRING | | false |
| petId | Pet Id | INTEGER | Pet id to delete | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Deletes a pet",
"name" : "deletePet",
"parameters" : {
"api_key" : "",
"petId" : 1
},
"type" : "petstore/v1/deletePet"
}
```
#### Output [#output-4]
This action does not produce any output.
### Delete user [#delete-user]
Name: deleteUser
`This can only be done by the logged in user.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :-------------------------------: | :------: |
| username | Username | STRING | The name that needs to be deleted | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Delete user",
"name" : "deleteUser",
"parameters" : {
"username" : ""
},
"type" : "petstore/v1/deleteUser"
}
```
#### Output [#output-5]
This action does not produce any output.
### Finds Pets by status [#finds-pets-by-status]
Name: findPetsByStatus
`Multiple status values can be provided with comma separated strings`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| status | Status | STRING Options available , pending , sold | Status values that need to be considered for filter | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Finds Pets by status",
"name" : "findPetsByStatus",
"parameters" : {
"status" : ""
},
"type" : "petstore/v1/findPetsByStatus"
}
```
#### Output [#output-6]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :-------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| id | INTEGER | |
| name | STRING | |
| category | OBJECT Properties \{INTEGER(id), STRING(name)} | |
| photoUrls | ARRAY Items \[STRING] | |
| tags | ARRAY Items \[\{INTEGER(id), STRING(name)}] | |
| status | STRING Options available , pending , sold | pet status in the store |
#### Output Example [#output-example-3]
```json
[ {
"id" : 1,
"name" : "",
"category" : {
"id" : 1,
"name" : ""
},
"photoUrls" : [ "" ],
"tags" : [ {
"id" : 1,
"name" : ""
} ],
"status" : ""
} ]
```
### Finds Pets by tags [#finds-pets-by-tags]
Name: findPetsByTags
`Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :--: | :---: | :-------------------------------------------------------------: | :---------------: | :------: |
| tags | Tags | ARRAY Items \[STRING] | Tags to filter by | false |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Finds Pets by tags",
"name" : "findPetsByTags",
"parameters" : {
"tags" : [ "" ]
},
"type" : "petstore/v1/findPetsByTags"
}
```
#### Output [#output-7]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :-------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| id | INTEGER | |
| name | STRING | |
| category | OBJECT Properties \{INTEGER(id), STRING(name)} | |
| photoUrls | ARRAY Items \[STRING] | |
| tags | ARRAY Items \[\{INTEGER(id), STRING(name)}] | |
| status | STRING Options available , pending , sold | pet status in the store |
#### Output Example [#output-example-4]
```json
[ {
"id" : 1,
"name" : "",
"category" : {
"id" : 1,
"name" : ""
},
"photoUrls" : [ "" ],
"tags" : [ {
"id" : 1,
"name" : ""
} ],
"status" : ""
} ]
```
### Returns pet inventories by status [#returns-pet-inventories-by-status]
Name: getInventory
`Returns a map of status codes to quantities`
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Returns pet inventories by status",
"name" : "getInventory",
"type" : "petstore/v1/getInventory"
}
```
#### Output [#output-8]
Type: OBJECT
### Find purchase order by ID [#find-purchase-order-by-id]
Name: getOrderById
`For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :-----: | :----------------------------------: | :------: |
| orderId | Order Id | INTEGER | ID of order that needs to be fetched | true |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Find purchase order by ID",
"name" : "getOrderById",
"parameters" : {
"orderId" : 1
},
"type" : "petstore/v1/getOrderById"
}
```
#### Output [#output-9]
Type: OBJECT
#### Properties [#properties-16]
| Name | Type | Description |
| :------: | :-------------------------------------------------------------------------------------------------------------------------: | :----------: |
| id | INTEGER | |
| petId | INTEGER | |
| quantity | INTEGER | |
| shipDate | DATE\_TIME | |
| status | STRING Options placed , approved , delivered | Order Status |
| complete | BOOLEAN Options true , false | |
#### Output Example [#output-example-5]
```json
{
"id" : 1,
"petId" : 1,
"quantity" : 1,
"shipDate" : "2021-01-01T00:00:00",
"status" : "",
"complete" : false
}
```
### Find pet by ID [#find-pet-by-id]
Name: getPetById
`Returns a single pet`
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :---: | :----: | :-----: | :-----------------: | :------: |
| petId | Pet Id | INTEGER | ID of pet to return | true |
#### Example JSON Structure [#example-json-structure-10]
```json
{
"label" : "Find pet by ID",
"name" : "getPetById",
"parameters" : {
"petId" : 1
},
"type" : "petstore/v1/getPetById"
}
```
#### Output [#output-10]
Type: OBJECT
#### Properties [#properties-18]
| Name | Type | Description |
| :-------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| id | INTEGER | |
| name | STRING | |
| category | OBJECT Properties \{INTEGER(id), STRING(name)} | |
| photoUrls | ARRAY Items \[STRING] | |
| tags | ARRAY Items \[\{INTEGER(id), STRING(name)}] | |
| status | STRING Options available , pending , sold | pet status in the store |
#### Output Example [#output-example-6]
```json
{
"id" : 1,
"name" : "",
"category" : {
"id" : 1,
"name" : ""
},
"photoUrls" : [ "" ],
"tags" : [ {
"id" : 1,
"name" : ""
} ],
"status" : ""
}
```
### Get user by user name [#get-user-by-user-name]
Name: getUserByName
\`\`
#### Properties [#properties-19]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :-------------------------------------------------------: | :------: |
| username | Username | STRING | The name that needs to be fetched. Use user1 for testing. | true |
#### Example JSON Structure [#example-json-structure-11]
```json
{
"label" : "Get user by user name",
"name" : "getUserByName",
"parameters" : {
"username" : ""
},
"type" : "petstore/v1/getUserByName"
}
```
#### Output [#output-11]
Type: OBJECT
#### Properties [#properties-20]
| Name | Type | Description |
| :--------: | :-----: | :---------: |
| id | INTEGER | |
| username | STRING | |
| firstName | STRING | |
| lastName | STRING | |
| email | STRING | |
| password | STRING | |
| phone | STRING | |
| userStatus | INTEGER | User Status |
#### Output Example [#output-example-7]
```json
{
"id" : 1,
"username" : "",
"firstName" : "",
"lastName" : "",
"email" : "",
"password" : "",
"phone" : "",
"userStatus" : 1
}
```
### Place an order for a pet [#place-an-order-for-a-pet]
Name: placeOrder
`Place a new order in the store`
#### Properties [#properties-21]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :-------------------------------------------------------------------------------------------------------------------------: | :----------: | :------: |
| id | Id | INTEGER | | false |
| petId | Pet Id | INTEGER | | false |
| quantity | Quantity | INTEGER | | false |
| shipDate | Ship Date | DATE\_TIME | | false |
| status | Status | STRING Options placed , approved , delivered | Order Status | false |
| complete | Complete | BOOLEAN Options true , false | | false |
#### Example JSON Structure [#example-json-structure-12]
```json
{
"label" : "Place an order for a pet",
"name" : "placeOrder",
"parameters" : {
"id" : 1,
"petId" : 1,
"quantity" : 1,
"shipDate" : "2021-01-01T00:00:00",
"status" : "",
"complete" : false
},
"type" : "petstore/v1/placeOrder"
}
```
#### Output [#output-12]
Type: OBJECT
#### Properties [#properties-22]
| Name | Type | Description |
| :------: | :-------------------------------------------------------------------------------------------------------------------------: | :----------: |
| id | INTEGER | |
| petId | INTEGER | |
| quantity | INTEGER | |
| shipDate | DATE\_TIME | |
| status | STRING Options placed , approved , delivered | Order Status |
| complete | BOOLEAN Options true , false | |
#### Output Example [#output-example-8]
```json
{
"id" : 1,
"petId" : 1,
"quantity" : 1,
"shipDate" : "2021-01-01T00:00:00",
"status" : "",
"complete" : false
}
```
### Update an existing pet [#update-an-existing-pet]
Name: updatePet
`Update an existing pet by Id`
#### Properties [#properties-23]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------: | :------: |
| id | Id | INTEGER | | false |
| name | Name | STRING | | true |
| category | Category | OBJECT Properties \{INTEGER(id), STRING(name)} | | false |
| photoUrls | Photo Urls | ARRAY Items \[STRING] | | true |
| tags | Tags | ARRAY Items \[\{INTEGER(id), STRING(name)}] | | false |
| status | Status | STRING Options available , pending , sold | pet status in the store | false |
#### Example JSON Structure [#example-json-structure-13]
```json
{
"label" : "Update an existing pet",
"name" : "updatePet",
"parameters" : {
"id" : 1,
"name" : "",
"category" : {
"id" : 1,
"name" : ""
},
"photoUrls" : [ "" ],
"tags" : [ {
"id" : 1,
"name" : ""
} ],
"status" : ""
},
"type" : "petstore/v1/updatePet"
}
```
#### Output [#output-13]
Type: OBJECT
#### Properties [#properties-24]
| Name | Type | Description |
| :-------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| id | INTEGER | |
| name | STRING | |
| category | OBJECT Properties \{INTEGER(id), STRING(name)} | |
| photoUrls | ARRAY Items \[STRING] | |
| tags | ARRAY Items \[\{INTEGER(id), STRING(name)}] | |
| status | STRING Options available , pending , sold | pet status in the store |
#### Output Example [#output-example-9]
```json
{
"id" : 1,
"name" : "",
"category" : {
"id" : 1,
"name" : ""
},
"photoUrls" : [ "" ],
"tags" : [ {
"id" : 1,
"name" : ""
} ],
"status" : ""
}
```
### Updates a pet in the store with form data [#updates-a-pet-in-the-store-with-form-data]
Name: updatePetWithForm
\`\`
#### Properties [#properties-25]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-----: | :------------------------------------: | :------: |
| petId | Pet Id | INTEGER | ID of pet that needs to be updated | true |
| name | Name | STRING | Name of pet that needs to be updated | false |
| status | Status | STRING | Status of pet that needs to be updated | false |
#### Example JSON Structure [#example-json-structure-14]
```json
{
"label" : "Updates a pet in the store with form data",
"name" : "updatePetWithForm",
"parameters" : {
"petId" : 1,
"name" : "",
"status" : ""
},
"type" : "petstore/v1/updatePetWithForm"
}
```
#### Output [#output-14]
This action does not produce any output.
### Update user [#update-user]
Name: updateUser
`This can only be done by the logged in user.`
#### Properties [#properties-26]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :-----: | :--------------------------: | :------: |
| username | Username | STRING | name that need to be deleted | true |
| id | Id | INTEGER | | false |
| username | Username | STRING | | false |
| firstName | First Name | STRING | | false |
| lastName | Last Name | STRING | | false |
| email | Email | STRING | | false |
| password | Password | STRING | | false |
| phone | Phone | STRING | | false |
| userStatus | User Status | INTEGER | User Status | false |
#### Example JSON Structure [#example-json-structure-15]
```json
{
"label" : "Update user",
"name" : "updateUser",
"parameters" : {
"username" : "",
"id" : 1,
"firstName" : "",
"lastName" : "",
"email" : "",
"password" : "",
"phone" : "",
"userStatus" : 1
},
"type" : "petstore/v1/updateUser"
}
```
#### Output [#output-15]
Type: OBJECT
#### Properties [#properties-27]
| Name | Type | Description |
| :--------: | :-----: | :---------: |
| id | INTEGER | |
| username | STRING | |
| firstName | STRING | |
| lastName | STRING | |
| email | STRING | |
| password | STRING | |
| phone | STRING | |
| userStatus | INTEGER | User Status |
#### Output Example [#output-example-10]
```json
{
"id" : 1,
"username" : "",
"firstName" : "",
"lastName" : "",
"email" : "",
"password" : "",
"phone" : "",
"userStatus" : 1
}
```
### uploads an image [#uploads-an-image]
Name: uploadFile
\`\`
#### Properties [#properties-28]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :---------: | :-----------------: | :------: |
| petId | Pet Id | INTEGER | ID of pet to update | true |
| additionalMetadata | Additional Metadata | STRING | Additional Metadata | false |
| fileEntry | | FILE\_ENTRY | | false |
#### Example JSON Structure [#example-json-structure-16]
```json
{
"label" : "uploads an image",
"name" : "uploadFile",
"parameters" : {
"petId" : 1,
"additionalMetadata" : "",
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "petstore/v1/uploadFile"
}
```
#### Output [#output-16]
Type: OBJECT
#### Properties [#properties-29]
| Name | Type | Description |
| :-----: | :-----: | :---------: |
| code | INTEGER | |
| type | STRING | |
| message | STRING | |
#### Output Example [#output-example-11]
```json
{
"code" : 1,
"type" : "",
"message" : ""
}
```
# ByteChef Reference: PGVector
URL: /reference/components/pgVector_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/pgVector_v1.mdx
PGVector is an open-source PostgreSQL extension for vector similarity search.
Categories: Artificial Intelligence
Type: pgVector/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------------------: | :---------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: | :------: |
| url | URL | STRING | The JDBC URL of the PostgreSQL instance (e.g. jdbc:postgresql://localhost:5432/postgres). | true |
| username | Username | STRING | The username for this connection. | true |
| password | Password | STRING | The password for this connection. | true |
| schemaName | Schema Name | STRING | The name of the PostgreSQL schema that contains the vector store table. | true |
| tableName | Table Name | STRING | The name of the table to use for storing vectors. | true |
| dimensions | Dimensions | INTEGER | The number of dimensions in the embedding vector. | true |
| distanceType | Distance Type | STRING Options COSINE\_DISTANCE , EUCLIDEAN\_DISTANCE , NEGATIVE\_INNER\_PRODUCT | The distance function to use for similarity search. | true |
| indexType | Index Type | STRING Options HNSW , IVFFLAT , NONE | The index algorithm to use for approximate nearest neighbor search. | true |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to initialize the schema on startup. | true |
| maxDocumentBatchSize | Max Document Batch Size | INTEGER | The maximum number of documents to process in a single batch. | true |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "pgVector/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "pgVector/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "pgVector/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "pgVector/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: PII
URL: /reference/components/pii_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/pii_v1.mdx
Detects - and optionally masks - personally identifiable information.
Categories: Artificial Intelligence
Type: pii/v1
# ByteChef Reference: Pinecone
URL: /reference/components/pinecone_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/pinecone_v1.mdx
Pinecone is a vector database designed for efficient similarity search and storage of high-dimensional data, commonly used in machine learning and AI applications.
Categories: Artificial Intelligence
Type: pinecone/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :--------------: | :----: | :-------------------------------: | :------: |
| apiKey | Pinecone API Key | STRING | The API key for the Pinecone API. | true |
| host | Host | STRING | Url of the host. | true |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "pinecone/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "pinecone/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "pinecone/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "pinecone/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Pipedrive
URL: /reference/components/pipedrive_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/pipedrive_v1.mdx
The first CRM designed by salespeople, for salespeople. Do more to grow your business.
Categories: CRM
Type: pipedrive/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Actions [#actions]
### Add Deal [#add-deal]
Name: addDeal
`Adds a new deal.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------------------: | :-----------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| title | Title | STRING | The title of the deal | true |
| value | Value | STRING | The value of the deal. | false |
| currency | Currency | STRING | The currency of the deal. If omitted, currency will be set to the default currency of the authorized user. | false |
| user\_id | User ID | INTEGER | ID of the user which will be the owner of the created deal. If not provided, the user making the request will be used. | false |
| person\_id | Person ID | INTEGER | ID of the person which this deal will be linked to. This property is required unless `org_id` is specified. | false |
| org\_id | Organization ID | INTEGER | ID of the organization which this deal will be linked to. This property is required unless `person_id` is specified. | false |
| pipeline\_id | Pipeline ID | INTEGER | Id of the pipeline this deal will be added to. By default, the deal will be added to the first stage of the specified pipeline. Please note that `pipeline_id` and `stage_id` should not be used together as `pipeline_id` will be ignored. | false |
| stage\_id | Stage ID | INTEGER | Stage this deal will be added to. Please note that a pipeline will be assigned automatically based on the `stage_id`. If omitted, the deal will be placed in the first stage of the default pipeline. | false |
| status | Status | STRING Options open , won , lost , deleted | | false |
| expected\_close\_date | Expected Close Date | DATE | The expected close date of the deal. | false |
| probability | Probability | NUMBER | The success probability percentage of the deal. Used/shown only when `deal_probability` for the pipeline of the deal is enabled. | false |
| lost\_reason | Lost Reason | STRING | The optional message about why the deal was lost. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Deal",
"name" : "addDeal",
"parameters" : {
"title" : "",
"value" : "",
"currency" : "",
"user_id" : 1,
"person_id" : 1,
"org_id" : 1,
"pipeline_id" : 1,
"stage_id" : 1,
"status" : "",
"expected_close_date" : "2021-01-01",
"probability" : 0.0,
"lost_reason" : ""
},
"type" : "pipedrive/v1/addDeal"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(id), \{INTEGER(id), STRING(name), STRING(email)}(user\_id), \{STRING(name)}(person\_id), \{STRING(name), STRING(owner\_id)}(org\_id), INTEGER(stage\_id), STRING(title), INTEGER(value), STRING(currency), STRING(status)} | |
#### Output Example [#output-example]
```json
{
"data" : {
"id" : 1,
"user_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"person_id" : {
"name" : ""
},
"org_id" : {
"name" : "",
"owner_id" : ""
},
"stage_id" : 1,
"title" : "",
"value" : 1,
"currency" : "",
"status" : ""
}
}
```
### Add Lead [#add-lead]
Name: addLead
`Creates a lead. A lead always has to be linked to a person or an organization or both.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------------------: | :-----------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------: | :------: |
| title | Title | STRING | The name of the lead. | true |
| owner\_id | Owner ID | INTEGER | User which will be the owner of the created lead. | false |
| label\_ids | Lead Labels IDs | ARRAY Items \[STRING] | ID of the labels which will be associated with the lead. | false |
| person\_id | Person ID | INTEGER | Person which this lead will be linked to. | false |
| organization\_id | Organization ID | INTEGER | Organization which this lead will be linked to. | false |
| value | Value | OBJECT Properties \{NUMBER(amount), STRING(currency)} | The potential value of the lead | false |
| expected\_close\_date | Expected Close Date | DATE | The date of when the deal which will be created from the lead is expected to be closed. In ISO 8601 format: YYYY-MM-DD. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Add Lead",
"name" : "addLead",
"parameters" : {
"title" : "",
"owner_id" : 1,
"label_ids" : [ "" ],
"person_id" : 1,
"organization_id" : 1,
"value" : {
"amount" : 0.0,
"currency" : ""
},
"expected_close_date" : "2021-01-01"
},
"type" : "pipedrive/v1/addLead"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), STRING(title), INTEGER(owner\_id), \{INTEGER(amount), STRING(currency)}(value), DATE(expected\_close\_date), INTEGER(person\_id)} | |
#### Output Example [#output-example-1]
```json
{
"data" : {
"id" : "",
"title" : "",
"owner_id" : 1,
"value" : {
"amount" : 1,
"currency" : ""
},
"expected_close_date" : "2021-01-01",
"person_id" : 1
}
}
```
### Add Organization [#add-organization]
Name: addOrganization
`Adds a new organization.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :------: | :-----: | :------------------------------------------------------------------: | :------: |
| name | Name | STRING | The name of the organization. | true |
| owner\_id | Owner ID | INTEGER | ID of the user who will be marked as the owner of this organization. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Add Organization",
"name" : "addOrganization",
"parameters" : {
"name" : "",
"owner_id" : 1
},
"type" : "pipedrive/v1/addOrganization"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(id), INTEGER(company\_id), \{INTEGER(id), STRING(name), STRING(email)}(owner\_id), STRING(name)} | |
#### Output Example [#output-example-2]
```json
{
"data" : {
"id" : 1,
"company_id" : 1,
"owner_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"name" : ""
}
}
```
### Add Person [#add-person]
Name: addPerson
`Adds a new person.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :-------------: | :--------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------: | :------: |
| name | Name | STRING | Person full name | true |
| owner\_id | Owner ID | INTEGER | ID of the user who will be marked as the owner of this person. | false |
| org\_id | Organization ID | INTEGER | ID of the organization this person will belong to. | false |
| email | Email | ARRAY Items \[\{STRING(value), BOOLEAN(primary), STRING(label)}] | An email addresses related to the person. | false |
| phone | Phone | ARRAY Items \[\{STRING(value), BOOLEAN(primary), STRING(label)}] | A phone numbers related to the person. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Add Person",
"name" : "addPerson",
"parameters" : {
"name" : "",
"owner_id" : 1,
"org_id" : 1,
"email" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ],
"phone" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ]
},
"type" : "pipedrive/v1/addPerson"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(id), INTEGER(company\_id), \{INTEGER(id), STRING(name), STRING(email)}(owner\_id), \{STRING(name), INTEGER(owner\_id), STRING(cc\_email)}(org\_id), STRING(name), \[\{STRING(value), BOOLEAN(primary), STRING(label)}]\(phone), \[\{STRING(value), BOOLEAN(primary), STRING(label)}]\(email)} | |
#### Output Example [#output-example-3]
```json
{
"data" : {
"id" : 1,
"company_id" : 1,
"owner_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"org_id" : {
"name" : "",
"owner_id" : 1,
"cc_email" : ""
},
"name" : "",
"phone" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ],
"email" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ]
}
}
```
### Delete Deal [#delete-deal]
Name: deleteDeal
`Marks a deal as deleted. After 30 days, the deal will be permanently deleted.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :-----: | :-----------------------: | :------: |
| deal\_id | Deal ID | INTEGER | ID of the deal to delete. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Delete Deal",
"name" : "deleteDeal",
"parameters" : {
"deal_id" : 1
},
"type" : "pipedrive/v1/deleteDeal"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :--: | :------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(id)} | |
#### Output Example [#output-example-4]
```json
{
"data" : {
"id" : 1
}
}
```
### Delete Lead [#delete-lead]
Name: deleteLead
`Deletes a specific lead.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :----: | :-----------------------: | :------: |
| lead\_id | Lead ID | STRING | ID of the lead to delete. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Delete Lead",
"name" : "deleteLead",
"parameters" : {
"lead_id" : ""
},
"type" : "pipedrive/v1/deleteLead"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id)} | |
#### Output Example [#output-example-5]
```json
{
"data" : {
"id" : ""
}
}
```
### Delete Organization [#delete-organization]
Name: deleteOrganization
`Marks an organization as deleted. After 30 days, the organization will be permanently deleted.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :-----: | :-------------------------------: | :------: |
| organization\_id | Organization ID | INTEGER | ID of the organization to delete. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Delete Organization",
"name" : "deleteOrganization",
"parameters" : {
"organization_id" : 1
},
"type" : "pipedrive/v1/deleteOrganization"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :--: | :------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(id)} | |
#### Output Example [#output-example-6]
```json
{
"data" : {
"id" : 1
}
}
```
### Delete Person [#delete-person]
Name: deletePerson
`Marks a person as deleted. After 30 days, the person will be permanently deleted.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :--------: | :-------: | :-----: | :-------------------------: | :------: |
| person\_id | Person ID | INTEGER | ID of the person to delete. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Delete Person",
"name" : "deletePerson",
"parameters" : {
"person_id" : 1
},
"type" : "pipedrive/v1/deletePerson"
}
```
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-16]
| Name | Type | Description |
| :--: | :------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(id)} | |
#### Output Example [#output-example-7]
```json
{
"data" : {
"id" : 1
}
}
```
### Get Details of Deal [#get-details-of-deal]
Name: getDealDetails
`Returns the details of a specific deal.`
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :-----: | :---------: | :------: |
| deal\_id | Deal ID | INTEGER | | true |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Get Details of Deal",
"name" : "getDealDetails",
"parameters" : {
"deal_id" : 1
},
"type" : "pipedrive/v1/getDealDetails"
}
```
#### Output [#output-8]
Type: OBJECT
#### Properties [#properties-18]
| Name | Type | Description |
| :--: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(id), \{INTEGER(id), STRING(name), STRING(email)}(user\_id), \{STRING(name)}(person\_id), \{STRING(name), STRING(owner\_id)}(org\_id), INTEGER(stage\_id), STRING(title), INTEGER(value), STRING(currency), STRING(status)} | |
#### Output Example [#output-example-8]
```json
{
"data" : {
"id" : 1,
"user_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"person_id" : {
"name" : ""
},
"org_id" : {
"name" : "",
"owner_id" : ""
},
"stage_id" : 1,
"title" : "",
"value" : 1,
"currency" : "",
"status" : ""
}
}
```
### Get Deals [#get-deals]
Name: getDeals
`Returns all deals.`
#### Properties [#properties-19]
| Name | Label | Type | Description | Required |
| :--------: | :-------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| user\_id | User ID | INTEGER | Deals matching the given user will be returned. However, `filter_id` and `owned_by_you` takes precedence over `user_id` when supplied. | false |
| filter\_id | Filter ID | INTEGER | ID of the filter to use. | false |
| stage\_id | Stage ID | INTEGER | Deals within the given stage will be returned. | false |
| status | Status | STRING Options open , won , lost , deleted , all\_not\_deleted | | false |
| sort | Sort | STRING | The field names and sorting mode separated by a comma. Only first-level field keys are supported (no nested keys). | false |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Get Deals",
"name" : "getDeals",
"parameters" : {
"user_id" : 1,
"filter_id" : 1,
"stage_id" : 1,
"status" : "",
"sort" : ""
},
"type" : "pipedrive/v1/getDeals"
}
```
#### Output [#output-9]
Type: OBJECT
#### Properties [#properties-20]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | ARRAY Items \[\{INTEGER(id), \{INTEGER(id), STRING(name), STRING(email)}(user\_id), \{STRING(name)}(person\_id), \{STRING(name), STRING(owner\_id)}(org\_id), INTEGER(stage\_id), STRING(title), INTEGER(value), STRING(currency), STRING(status)}] | |
#### Output Example [#output-example-9]
```json
{
"data" : [ {
"id" : 1,
"user_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"person_id" : {
"name" : ""
},
"org_id" : {
"name" : "",
"owner_id" : ""
},
"stage_id" : 1,
"title" : "",
"value" : 1,
"currency" : "",
"status" : ""
} ]
}
```
### Get Lead Details [#get-lead-details]
Name: getLeadDetails
`Returns details of a specific lead. `
#### Properties [#properties-21]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :----: | :---------: | :------: |
| lead\_id | Lead ID | STRING | | true |
#### Example JSON Structure [#example-json-structure-10]
```json
{
"label" : "Get Lead Details",
"name" : "getLeadDetails",
"parameters" : {
"lead_id" : ""
},
"type" : "pipedrive/v1/getLeadDetails"
}
```
#### Output [#output-10]
Type: OBJECT
#### Properties [#properties-22]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), STRING(title), INTEGER(owner\_id), \{INTEGER(amount), STRING(currency)}(value), DATE(expected\_close\_date), INTEGER(person\_id)} | |
#### Output Example [#output-example-10]
```json
{
"data" : {
"id" : "",
"title" : "",
"owner_id" : 1,
"value" : {
"amount" : 1,
"currency" : ""
},
"expected_close_date" : "2021-01-01",
"person_id" : 1
}
}
```
### Get Leads [#get-leads]
Name: getLeads
`Returns multiple leads. Leads are sorted by the time they were created, from oldest to newest.`
#### Properties [#properties-23]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| archived\_status | Archived Status | STRING Options archived , not\_archived , all | Filtering based on the archived status of a lead. | false |
| owner\_id | Owner iD | INTEGER | Leads matching the given user will be returned. However, `filter_id` takes precedence over `owner_id` when supplied. | false |
| person\_id | Person ID | INTEGER | If supplied, only leads matching the given person will be returned. However, `filter_id` takes precedence over `person_id` when supplied. | false |
| organization\_id | Organization ID | INTEGER | If supplied, only leads matching the given organization will be returned. However, `filter_id` takes precedence over `organization_id` when supplied. | false |
| filter\_id | Filter ID | INTEGER | Filter to use | false |
| sort | Sort | STRING Options id , title , owner\_id , creator\_id , was\_seen , expected\_close\_date , next\_activity\_id , add\_time , update\_time | The field names and sorting mode separated by a comma. Only first-level field keys are supported (no nested keys). | false |
#### Example JSON Structure [#example-json-structure-11]
```json
{
"label" : "Get Leads",
"name" : "getLeads",
"parameters" : {
"archived_status" : "",
"owner_id" : 1,
"person_id" : 1,
"organization_id" : 1,
"filter_id" : 1,
"sort" : ""
},
"type" : "pipedrive/v1/getLeads"
}
```
#### Output [#output-11]
Type: OBJECT
#### Properties [#properties-24]
| Name | Type | Description |
| :--: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | ARRAY Items \[\{STRING(id), STRING(title), INTEGER(owner\_id), \{INTEGER(amount), STRING(currency)}(value), DATE(expected\_close\_date), INTEGER(person\_id)}] | |
#### Output Example [#output-example-11]
```json
{
"data" : [ {
"id" : "",
"title" : "",
"owner_id" : 1,
"value" : {
"amount" : 1,
"currency" : ""
},
"expected_close_date" : "2021-01-01",
"person_id" : 1
} ]
}
```
### Get Details of Organization [#get-details-of-organization]
Name: getOrganizationDetails
`Returns the details of an organization.`
#### Properties [#properties-25]
| Name | Label | Type | Description | Required |
| :--------------: | :------------: | :-----: | :------------------------------------: | :------: |
| organization\_id | Organizaton ID | INTEGER | ID of the organization to get details. | true |
#### Example JSON Structure [#example-json-structure-12]
```json
{
"label" : "Get Details of Organization",
"name" : "getOrganizationDetails",
"parameters" : {
"organization_id" : 1
},
"type" : "pipedrive/v1/getOrganizationDetails"
}
```
#### Output [#output-12]
Type: OBJECT
#### Properties [#properties-26]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(id), INTEGER(company\_id), \{INTEGER(id), STRING(name), STRING(email)}(owner\_id), STRING(name)} | |
#### Output Example [#output-example-12]
```json
{
"data" : {
"id" : 1,
"company_id" : 1,
"owner_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"name" : ""
}
}
```
### Get All Organizations [#get-all-organizations]
Name: getOrganizations
`Returns all organizations.`
#### Properties [#properties-27]
| Name | Label | Type | Description | Required |
| :---------: | :--------------: | :-----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| user\_id | User ID | INTEGER | Organizations owned by the given user will be returned. However, `filter_id` takes precedence over `user_id` when both are supplied. | false |
| filter\_id | Filter ID | INTEGER | Filter to use | false |
| first\_char | First Characters | STRING | Organizations whose name starts with the specified letter will be returned (case insensitive) | false |
| sort | Sort | STRING | The field names and sorting mode separated by a comma (`field_name_1ASC`, `field_name_2 DESC`). Only first-level field keys are supported (no nested keys). | false |
#### Example JSON Structure [#example-json-structure-13]
```json
{
"label" : "Get All Organizations",
"name" : "getOrganizations",
"parameters" : {
"user_id" : 1,
"filter_id" : 1,
"first_char" : "",
"sort" : ""
},
"type" : "pipedrive/v1/getOrganizations"
}
```
#### Output [#output-13]
Type: OBJECT
#### Properties [#properties-28]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | ARRAY Items \[\{INTEGER(id), INTEGER(company\_id), \{INTEGER(id), STRING(name), STRING(email)}(owner\_id), STRING(name)}] | |
#### Output Example [#output-example-13]
```json
{
"data" : [ {
"id" : 1,
"company_id" : 1,
"owner_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"name" : ""
} ]
}
```
### Get Details of Person [#get-details-of-person]
Name: getPersonDetails
`Returns the details of a person. This also returns some additional fields which are not present when asking for all persons.`
#### Properties [#properties-29]
| Name | Label | Type | Description | Required |
| :--------: | :-------: | :-----: | :------------------------------: | :------: |
| person\_id | Person ID | INTEGER | ID of the person to get details. | true |
#### Example JSON Structure [#example-json-structure-14]
```json
{
"label" : "Get Details of Person",
"name" : "getPersonDetails",
"parameters" : {
"person_id" : 1
},
"type" : "pipedrive/v1/getPersonDetails"
}
```
#### Output [#output-14]
Type: OBJECT
#### Properties [#properties-30]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(id), INTEGER(company\_id), \{INTEGER(id), STRING(name), STRING(email)}(owner\_id), \{STRING(name), INTEGER(owner\_id), STRING(cc\_email)}(org\_id), STRING(name), \[\{STRING(value), BOOLEAN(primary), STRING(label)}]\(phone), \[\{STRING(value), BOOLEAN(primary), STRING(label)}]\(email)} | |
#### Output Example [#output-example-14]
```json
{
"data" : {
"id" : 1,
"company_id" : 1,
"owner_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"org_id" : {
"name" : "",
"owner_id" : 1,
"cc_email" : ""
},
"name" : "",
"phone" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ],
"email" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ]
}
}
```
### Get Persons [#get-persons]
Name: getPersons
`Returns all persons.`
#### Properties [#properties-31]
| Name | Label | Type | Description | Required |
| :---------: | :--------------: | :-----: | :----------------------------------------------------------------------------------------------------------------------------: | :------: |
| user\_id | User ID | INTEGER | Persons owned by the given user will be returned. However, `filter_id` takes precedence over `user_id` when both are supplied. | false |
| filter\_id | Filter ID | INTEGER | Filter to use. | false |
| first\_char | First Characters | STRING | Persons whose name starts with the specified letter will be returned (case insensitive) | false |
| sort | Sort | STRING | The field names and sorting mode separated by a comma. Only first-level field keys are supported (no nested keys). | false |
#### Example JSON Structure [#example-json-structure-15]
```json
{
"label" : "Get Persons",
"name" : "getPersons",
"parameters" : {
"user_id" : 1,
"filter_id" : 1,
"first_char" : "",
"sort" : ""
},
"type" : "pipedrive/v1/getPersons"
}
```
#### Output [#output-15]
Type: OBJECT
#### Properties [#properties-32]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | ARRAY Items \[\{INTEGER(id), INTEGER(company\_id), \{INTEGER(id), STRING(name), STRING(email)}(owner\_id), \{STRING(name), INTEGER(owner\_id), STRING(cc\_email)}(org\_id), STRING(name), \[\{STRING(value), BOOLEAN(primary), STRING(label)}]\(phone), \[\{STRING(value), BOOLEAN(primary), STRING(label)}]\(email)}] | |
#### Output Example [#output-example-15]
```json
{
"data" : [ {
"id" : 1,
"company_id" : 1,
"owner_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"org_id" : {
"name" : "",
"owner_id" : 1,
"cc_email" : ""
},
"name" : "",
"phone" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ],
"email" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ]
} ]
}
```
### Search Deals [#search-deals]
Name: searchDeals
`Searches all deals by title, notes and/or custom fields.`
#### Properties [#properties-33]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :--------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| term | Term | STRING | The search term to look for. Minimum 2 characters (or 1 if using `exact_match`). Please note that the search term has to be URL encoded. | true |
| fields | Fields | STRING Options custom\_fields , notes , title | A comma-separated string array. The fields to perform the search from. Defaults to all of them. | false |
| exact\_match | Exact Match | BOOLEAN Options true , false | When enabled, only full exact matches against the given term are returned. It is \not\ case sensitive. | false |
| person\_id | Person ID | INTEGER | Will filter deals by the provided person. | false |
| organization\_id | Organization ID | INTEGER | Will filter deals by the provided organization. | false |
| status | Status | STRING Options open , won , lost | Will filter deals by the provided specific status. | false |
| include\_fields | Include Fields | STRING Options deal.cc\_email | Supports including optional fields in the results which are not provided by default. | false |
#### Example JSON Structure [#example-json-structure-16]
```json
{
"label" : "Search Deals",
"name" : "searchDeals",
"parameters" : {
"term" : "",
"fields" : "",
"exact_match" : false,
"person_id" : 1,
"organization_id" : 1,
"status" : "",
"include_fields" : ""
},
"type" : "pipedrive/v1/searchDeals"
}
```
#### Output [#output-16]
Type: OBJECT
#### Properties [#properties-34]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{\[\{STRING(id), STRING(type), \{INTEGER(id), STRING(name), STRING(email)}(user\_id), \{STRING(name)}(person\_id), \{STRING(name), STRING(owner\_id)}(org\_id), INTEGER(stage\_id), STRING(title), INTEGER(value), STRING(currency), STRING(status)}]\(items)} | |
#### Output Example [#output-example-16]
```json
{
"data" : {
"items" : [ {
"id" : "",
"type" : "",
"user_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"person_id" : {
"name" : ""
},
"org_id" : {
"name" : "",
"owner_id" : ""
},
"stage_id" : 1,
"title" : "",
"value" : 1,
"currency" : "",
"status" : ""
} ]
}
}
```
### Search Leads [#search-leads]
Name: searchLeads
`Searches all leads by title, notes and/or custom fields.`
#### Properties [#properties-35]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :--------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| term | Term | STRING | The search term to look for. Minimum 2 characters (or 1 if using `exact_match`). Please note that the search term has to be URL encoded. | true |
| fields | Fields | STRING Options custom\_fields , notes , title | A comma-separated string array. The fields to perform the search from. Defaults to all of them. | false |
| exact\_match | Exact Match | BOOLEAN Options true , false | When enabled, only full exact matches against the given term are returned. It is \not\ case sensitive. | false |
| person\_id | Person ID | INTEGER | Will filter leads by the provided person ID. | false |
| organization\_id | Organization ID | INTEGER | Will filter leads by the provided organization ID. | false |
| include\_fields | Include Fields | STRING Options lead.was\_seen | Supports including optional fields in the results which are not provided by default. | false |
#### Example JSON Structure [#example-json-structure-17]
```json
{
"label" : "Search Leads",
"name" : "searchLeads",
"parameters" : {
"term" : "",
"fields" : "",
"exact_match" : false,
"person_id" : 1,
"organization_id" : 1,
"include_fields" : ""
},
"type" : "pipedrive/v1/searchLeads"
}
```
#### Output [#output-17]
Type: OBJECT
#### Properties [#properties-36]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{\[\{STRING(id), STRING(title), INTEGER(owner\_id), \{INTEGER(amount), STRING(currency)}(value), DATE(expected\_close\_date), INTEGER(person\_id)}]\(items)} | |
#### Output Example [#output-example-17]
```json
{
"data" : {
"items" : [ {
"id" : "",
"title" : "",
"owner_id" : 1,
"value" : {
"amount" : 1,
"currency" : ""
},
"expected_close_date" : "2021-01-01",
"person_id" : 1
} ]
}
}
```
### Search Organizations [#search-organizations]
Name: searchOrganization
`Searches all organizations by name, address, notes and/or custom fields. This endpoint is a wrapper of /v1/itemSearch with a narrower OAuth scope.`
#### Properties [#properties-37]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| term | Term | STRING | The search term to look for. Minimum 2 characters (or 1 if using `exact_match`). Please note that the search term has to be URL encoded. | true |
| fields | Fields | STRING Options address , custom\_fields , notes , name | A comma-separated string array. The fields to perform the search from. Defaults to all of them. | false |
| exact\_match | Exact Match | BOOLEAN Options true , false | When enabled, only full exact matches against the given term are returned. It is \not\ case sensitive. | false |
#### Example JSON Structure [#example-json-structure-18]
```json
{
"label" : "Search Organizations",
"name" : "searchOrganization",
"parameters" : {
"term" : "",
"fields" : "",
"exact_match" : false
},
"type" : "pipedrive/v1/searchOrganization"
}
```
#### Output [#output-18]
Type: OBJECT
#### Properties [#properties-38]
| Name | Type | Description |
| :--: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{\[\{INTEGER(id), INTEGER(company\_id), \{INTEGER(id), STRING(name), STRING(email)}(owner\_id), STRING(name)}]\(items)} | |
#### Output Example [#output-example-18]
```json
{
"data" : {
"items" : [ {
"id" : 1,
"company_id" : 1,
"owner_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"name" : ""
} ]
}
}
```
### Search Persons [#search-persons]
Name: searchPersons
`Searches all persons by name, email, phone, notes and/or custom fields.`
#### Properties [#properties-39]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| term | Term | STRING | The search term to look for. Minimum 2 characters (or 1 if using `exact_match`). Please note that the search term has to be URL encoded. | true |
| fields | Fields | STRING Options custom\_fields , email , notes , phone , name | A comma-separated string array. The fields to perform the search from. Defaults to all of them. | false |
| exact\_match | Exact Match | BOOLEAN Options true , false | When enabled, only full exact matches against the given term are returned. It is \not\ case sensitive. | false |
| organization\_id | Organization ID | INTEGER | Will filter persons by the provided organization. | false |
#### Example JSON Structure [#example-json-structure-19]
```json
{
"label" : "Search Persons",
"name" : "searchPersons",
"parameters" : {
"term" : "",
"fields" : "",
"exact_match" : false,
"organization_id" : 1
},
"type" : "pipedrive/v1/searchPersons"
}
```
#### Output [#output-19]
Type: OBJECT
#### Properties [#properties-40]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{\[\{INTEGER(id), INTEGER(company\_id), \{INTEGER(id), STRING(name), STRING(email)}(owner\_id), \{STRING(name), INTEGER(owner\_id), STRING(cc\_email)}(org\_id), STRING(name), \[\{STRING(value), BOOLEAN(primary), STRING(label)}]\(phone), \[\{STRING(value), BOOLEAN(primary), STRING(label)}]\(email)}]\(items)} | |
#### Output Example [#output-example-19]
```json
{
"data" : {
"items" : [ {
"id" : 1,
"company_id" : 1,
"owner_id" : {
"id" : 1,
"name" : "",
"email" : ""
},
"org_id" : {
"name" : "",
"owner_id" : 1,
"cc_email" : ""
},
"name" : "",
"phone" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ],
"email" : [ {
"value" : "",
"primary" : false,
"label" : ""
} ]
} ]
}
}
```
## Triggers [#triggers]
### New Activity [#new-activity]
Name: newActivity
`Trigger off whenever a new activity is added.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-20]
Type: OBJECT
#### Properties [#properties-41]
| Name | Type | Description |
| :-----------------: | :-----: | :---------: |
| type\_name | STRING | |
| public\_description | STRING | |
| subject | STRING | |
| type | STRING | |
| id | INTEGER | |
| owner\_name | STRING | |
| user\_id | INTEGER | |
| company\_id | INTEGER | |
#### JSON Example [#json-example]
```json
{
"label" : "New Activity",
"name" : "newActivity",
"type" : "pipedrive/v1/newActivity"
}
```
### New Deal [#new-deal]
Name: newDeal
`Trigger off whenever a new deal is added.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-21]
Type: OBJECT
#### Properties [#properties-42]
| Name | Type | Description |
| :--------------------: | :-----: | :---------: |
| email\_messages\_count | INTEGER | |
| cc\_email | STRING | |
| id | INTEGER | |
| person\_id | INTEGER | |
| owner\_name | STRING | |
| status | STRING | |
| title | STRING | |
| currency | STRING | |
| value | INTEGER | |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Deal",
"name" : "newDeal",
"type" : "pipedrive/v1/newDeal"
}
```
### New Organization [#new-organization]
Name: newOrganization
`Trigger off whenever a new organization is added.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-22]
Type: OBJECT
#### Properties [#properties-43]
| Name | Type | Description |
| :--------------------: | :-----: | :---------: |
| email\_messages\_count | INTEGER | |
| cc\_email | STRING | |
| owner\_id | INTEGER | |
| id | INTEGER | |
| owner\_name | STRING | |
| name | STRING | |
| company\_id | INTEGER | |
#### JSON Example [#json-example-2]
```json
{
"label" : "New Organization",
"name" : "newOrganization",
"type" : "pipedrive/v1/newOrganization"
}
```
### New Person [#new-person]
Name: newPerson
`Trigger off whenever a new person is added.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-23]
Type: OBJECT
#### Properties [#properties-44]
| Name | Type | Description |
| :--------------------: | :-----------------------------------------------------------------------------------------: | :---------: |
| email\_messages\_count | INTEGER | |
| cc\_email | STRING | |
| owner\_id | INTEGER | |
| id | INTEGER | |
| owner\_name | STRING | |
| phone | ARRAY Items \[\{STRING(value), BOOLEAN(primary)}] | |
| name | STRING | |
| email | ARRAY Items \[\{STRING(value), BOOLEAN(primary)}] | |
| company\_id | INTEGER | |
#### JSON Example [#json-example-3]
```json
{
"label" : "New Person",
"name" : "newPerson",
"type" : "pipedrive/v1/newPerson"
}
```
### Updated Deal [#updated-deal]
Name: updatedDeal
`Trigger off whenever an existing deal is updated.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-24]
Type: OBJECT
#### Properties [#properties-45]
| Name | Type | Description |
| :--------------------: | :-----: | :---------: |
| email\_messages\_count | INTEGER | |
| cc\_email | STRING | |
| id | INTEGER | |
| person\_id | INTEGER | |
| owner\_name | STRING | |
| status | STRING | |
| title | STRING | |
| currency | STRING | |
| value | INTEGER | |
#### JSON Example [#json-example-4]
```json
{
"label" : "Updated Deal",
"name" : "updatedDeal",
"type" : "pipedrive/v1/updatedDeal"
}
```
### Updated Organization [#updated-organization]
Name: updatedOrganization
`Trigger off whenever an existing organization is updated.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-25]
Type: OBJECT
#### Properties [#properties-46]
| Name | Type | Description |
| :--------------------: | :-----: | :---------: |
| email\_messages\_count | INTEGER | |
| cc\_email | STRING | |
| owner\_id | INTEGER | |
| id | INTEGER | |
| owner\_name | STRING | |
| name | STRING | |
| company\_id | INTEGER | |
#### JSON Example [#json-example-5]
```json
{
"label" : "Updated Organization",
"name" : "updatedOrganization",
"type" : "pipedrive/v1/updatedOrganization"
}
```
### Updated Person [#updated-person]
Name: updatedPerson
`Trigger off whenever an existing person is updated.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-26]
Type: OBJECT
#### Properties [#properties-47]
| Name | Type | Description |
| :--------------------: | :-----------------------------------------------------------------------------------------: | :---------: |
| email\_messages\_count | INTEGER | |
| cc\_email | STRING | |
| owner\_id | INTEGER | |
| id | INTEGER | |
| owner\_name | STRING | |
| phone | ARRAY Items \[\{STRING(value), BOOLEAN(primary)}] | |
| name | STRING | |
| email | ARRAY Items \[\{STRING(value), BOOLEAN(primary)}] | |
| company\_id | INTEGER | |
#### JSON Example [#json-example-6]
```json
{
"label" : "Updated Person",
"name" : "updatedPerson",
"type" : "pipedrive/v1/updatedPerson"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Pipeliner
URL: /reference/components/pipeliner_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/pipeliner_v1.mdx
Pipeliner CRM is a comprehensive sales management tool that helps streamline sales processes through visual pipline management, contact organization, sales forecasting, and reporting.
Categories: CRM
Type: pipeliner/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------: | :------: |
| spaceId | Space Id | STRING | Your Space ID | true |
| serverUrl | Server URL | STRING Options [https://us-east.api.pipelinersales.com/api/v100/rest/spaces/](https://us-east.api.pipelinersales.com/api/v100/rest/spaces/) , [https://eu-central.api.pipelinersales.com/api/v100/rest/spaces/](https://eu-central.api.pipelinersales.com/api/v100/rest/spaces/) , [https://ca-central.api.pipelinersales.com/api/v100/rest/spaces/](https://ca-central.api.pipelinersales.com/api/v100/rest/spaces/) , [https://ap-southeast.api.pipelinersales.com/api/v100/rest/spaces/](https://ap-southeast.api.pipelinersales.com/api/v100/rest/spaces/) | | true |
| username | Username | STRING | | true |
| password | Password | STRING | | true |
## Actions [#actions]
### Create Account [#create-account]
Name: createAccount
`Creates new account.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :------: | :----: | :----------------------------------------------------------------------------------------------: | :------: |
| owner\_id | Owner ID | STRING | Id of the user in Pipeliner Application that will become the owner of the newly created account. | true |
| name | Name | STRING | Account name | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Account",
"name" : "createAccount",
"parameters" : {
"owner_id" : "",
"name" : ""
},
"type" : "pipeliner/v1/createAccount"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :--------------------------------------------------------------------------------------------------------: | :-------------------------------------------: |
| success | BOOLEAN Options true , false | True when response succeeded, false on error. |
| data | OBJECT Properties \{STRING(id), STRING(owner\_id), STRING(name)} | |
#### Output Example [#output-example]
```json
{
"success" : false,
"data" : {
"id" : "",
"owner_id" : "",
"name" : ""
}
}
```
### Create Contact [#create-contact]
Name: createContact
`Creates new contact.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :----: | :----------------------------------------------------------------------------------------------: | :------: |
| owner\_id | Owner ID | STRING | ID of the user in Pipeliner Application that will become the owner of the newly created Contact. | true |
| first\_name | First Name | STRING | The firstname of the contact. | false |
| last\_name | Last Name | STRING | The lastname of the contact. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"owner_id" : "",
"first_name" : "",
"last_name" : ""
},
"type" : "pipeliner/v1/createContact"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :-----------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: |
| success | BOOLEAN Options true , false | True when response succeeded, false on error. |
| data | OBJECT Properties \{STRING(id), STRING(owner\_id), STRING(first\_name), STRING(last\_name)} | |
#### Output Example [#output-example-1]
```json
{
"success" : false,
"data" : {
"id" : "",
"owner_id" : "",
"first_name" : "",
"last_name" : ""
}
}
```
### Create Task [#create-task]
Name: createTask
`Creates new Task`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------------: | :--------------: | :----: | :-----------------------------------------------------: | :------: |
| subject | Subject | STRING | Name of the entity and its default text representation. | true |
| activity\_type\_id | Activity Type ID | STRING | Id of the activity type of task. | true |
| unit\_id | Unit ID | STRING | Sales Unit ID | true |
| owner\_id | Owner ID | STRING | | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"subject" : "",
"activity_type_id" : "",
"unit_id" : "",
"owner_id" : ""
},
"type" : "pipeliner/v1/createTask"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| success | BOOLEAN Options true , false | |
| data | OBJECT Properties \{STRING(id), STRING(subject), STRING(activity\_type\_id), STRING(unit\_id), STRING(owner\_id)} | |
#### Output Example [#output-example-2]
```json
{
"success" : false,
"data" : {
"id" : "",
"subject" : "",
"activity_type_id" : "",
"unit_id" : "",
"owner_id" : ""
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: PostgreSQL
URL: /reference/components/postgresql_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/postgresql_v1.mdx
Query, insert and update data from PostgreSQL.
Categories:
Type: postgresql/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :---------: | :------: |
| username | Username | STRING | | true |
| password | Password | STRING | | true |
## Actions [#actions]
### Query [#query]
Name: query
`Execute an SQL query.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The raw SQL query to execute. You can use :property1 and :property2 in conjunction with parameters. | true |
| parameters | Parameters | OBJECT Properties \{} | The list of properties which should be used as query parameters. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Query",
"name" : "query",
"parameters" : {
"query" : "",
"parameters" : { }
},
"type" : "postgresql/v1/query"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Insert [#insert]
Name: insert
`Insert rows in database.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: | :------: |
| schema | Schema | STRING | Name of the schema the table belongs to. | true |
| table | Table | STRING | Name of the table in which to insert data to. | true |
| columns | Columns | ARRAY Items \[\{STRING(name), STRING(type)}] | The list of the table column names where corresponding values would be inserted. | false |
| values | | DYNAMIC\_PROPERTIES Depends On columns | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Insert",
"name" : "insert",
"parameters" : {
"schema" : "",
"table" : "",
"columns" : [ {
"name" : "",
"type" : ""
} ],
"values" : { }
},
"type" : "postgresql/v1/insert"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update [#update]
Name: update
`Update rows in database.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------: | :------: |
| schema | Schema | STRING | Name of the schema the table belongs to. | true |
| table | Table | STRING | Name of the table in which to update data in. | true |
| condition | Condition | STRING | Condition that will be checked in the column. Example: column1=5 | true |
| columns | Columns | ARRAY Items \[\{STRING(name), STRING(type)}] | The list of the table column names where corresponding values would be updated. | false |
| values | | DYNAMIC\_PROPERTIES Depends On columns | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update",
"name" : "update",
"parameters" : {
"schema" : "",
"table" : "",
"condition" : "",
"columns" : [ {
"name" : "",
"type" : ""
} ],
"values" : { }
},
"type" : "postgresql/v1/update"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Delete [#delete]
Name: delete
`Delete rows from database.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----: | :--------------------------------------------------------------: | :------: |
| schema | Schema | STRING | Name of the schema the table belongs to. | true |
| table | Table | STRING | Name of the table in which to update data in. | true |
| condition | Condition | STRING | Condition that will be checked in the column. Example: column1=5 | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Delete",
"name" : "delete",
"parameters" : {
"schema" : "",
"table" : "",
"condition" : ""
},
"type" : "postgresql/v1/delete"
}
```
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Execute [#execute]
Name: execute
`Execute an SQL DML or DML statement.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--------: | :--------------: | :-------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------: | :------: |
| execute | Execute | STRING | The raw DML or DDL statement to execute. You can use :property1 and :property2 in conjunction with parameters. | true |
| columns | Fields to select | ARRAY Items \[\{}] | List of fields to select from. | false |
| parameters | Parameters | OBJECT Properties \{} | The list of values which should be used to replace corresponding criteria parameters. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Execute",
"name" : "execute",
"parameters" : {
"execute" : "",
"columns" : [ { } ],
"parameters" : { }
},
"type" : "postgresql/v1/execute"
}
```
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
## Triggers [#triggers]
### New Row [#new-row]
Name: newRow
`Triggers when new row is added.`
Type: POLLING
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :------------: | :---------------: | :------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------: | :------: |
| schema | Schema | STRING | Name of the schema the table belongs to. | true |
| table | Table | STRING | Name of the table in which to update data in. | true |
| orderBy | Colum To Order By | STRING | Use something like a created timestamp or an auto-incrementing ID. | true |
| orderDirection | Order Direction | STRING Options ASC , DESC | The direction to sort by such that the newest rows are fetched first. | true |
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Row",
"name" : "newRow",
"parameters" : {
"schema" : "",
"table" : "",
"orderBy" : "",
"orderDirection" : ""
},
"type" : "postgresql/v1/newRow"
}
```
# ByteChef Reference: PostHog
URL: /reference/components/posthog_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/posthog_v1.mdx
PostHog is the only all-in-one platform for product analytics, feature flags, session replays, experiments, and surveys that's built for developers.
Categories: Analytics
Type: postHog/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| token | API key | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to your PostHog homepage.
2. Click on **Settings**.
3. Scroll until you reach **Project ID**.
4. There you will see your **Project API Key**.
## Actions [#actions]
### Create Event [#create-event]
Name: createEvent
`Create a new event.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-------------: | :----: | :----------------------------------------------------------------------------------------------------------------: | :------: |
| api\_key | Api Key Project | STRING | The project API key used to create a new event.Found in Settings -> Project -> Project ID -> Project API key. | true |
| event | Event | STRING | Event name used to create a new event. | true |
| distinct\_id | Distinct ID | STRING | A unique identifier for the user creating the event, such as their username, email address, or system-assigned ID. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Event",
"name" : "createEvent",
"parameters" : {
"api_key" : "",
"event" : "",
"distinct_id" : ""
},
"type" : "postHog/v1/createEvent"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----: | :----: | :------------------------: |
| status | STRING | The status of the request. |
#### Output Example [#output-example]
```json
{
"status" : ""
}
```
### Create Project [#create-project]
Name: createProject
`Create a new Project.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :-------------: | :----: | :---------: | :------: |
| id | Organization ID | STRING | | true |
| name | Project Name | STRING | | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Project",
"name" : "createProject",
"parameters" : {
"id" : "",
"name" : ""
},
"type" : "postHog/v1/createProject"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------------------------------------------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------: |
| id | STRING | The unique identifier for this project. |
| organization | STRING | The organization UUID associated with this project. |
| name | STRING | The name of the project. |
| product\_description | STRING | A description of the product. |
| created\_at | STRING | Creation timestamp in ISO 8601 format. |
| effective\_membership\_level | INTEGER | Level of membership assigned to this organization. |
| has\_group\_types | BOOLEAN Options true , false | Indicates whether group types are enabled. |
| live\_events\_token | STRING | Token used for accessing live events. |
| updated\_at | STRING | Last updated timestamp in ISO 8601 format. |
| uuid | STRING | Universally unique identifier for this record. |
| api\_token | STRING | API token used for authentication. |
| app\_urls | ARRAY Items \[STRING] | List of application URLs. |
| slack\_incoming\_webhook | STRING | Slack webhook URL for incoming messages. |
| anonymize\_ips | BOOLEAN Options true , false | Whether IPs are anonymized. |
| completed\_snippet\_onboarding | BOOLEAN Options true , false | Whether the snippet onboarding has been completed. |
| ingested\_event | BOOLEAN Options true , false | Indicates if any event has been ingested. |
| test\_account\_filters | STRING | Filters used to define test accounts. |
| test\_account\_filters\_default\_checked | BOOLEAN Options true , false | Default checked state for test account filters. |
| path\_cleaning\_filters | STRING | Filters used to clean paths in analytics. |
| is\_demo | BOOLEAN Options true , false | Whether this is a demo account. |
| timezone | STRING | Timezone of the account. |
| data\_attributes | STRING | Additional data attributes. |
| person\_display\_name\_properties | ARRAY Items \[STRING] | Properties used to display person's name. |
| correlation\_config | STRING | Configuration for correlation analysis. |
| autocapture\_opt\_out | BOOLEAN Options true , false | Whether autocapture is disabled. |
| autocapture\_exceptions\_opt\_in | BOOLEAN Options true , false | Whether exceptions are autocaptured. |
| autocapture\_web\_vitals\_opt\_in | BOOLEAN Options true , false | Whether web vitals are autocaptured. |
| autocapture\_web\_vitals\_allowed\_metrics | STRING | Metrics allowed for web vitals autocapture. |
| autocapture\_exceptions\_errors\_to\_ignore | STRING | List of error types to ignore in exceptions. |
| capture\_console\_log\_opt\_in | BOOLEAN Options true , false | Whether console log capturing is enabled. |
| capture\_performance\_opt\_in | BOOLEAN Options true , false | Whether performance capturing is enabled. |
| session\_recording\_opt\_in | BOOLEAN Options true , false | Whether session recording is enabled. |
| session\_recording\_sample\_rate | STRING | Sample rate for session recording. |
| session\_recording\_minimum\_duration\_milliseconds | INTEGER | Minimum duration for recorded sessions in milliseconds. |
| session\_recording\_linked\_flag | STRING | Flag linking session recordings. |
| session\_recording\_network\_payload\_capture\_config | STRING | Network payload config for session recordings. |
| session\_recording\_masking\_config | STRING | Masking configuration for session recordings. |
| session\_replay\_config | STRING | Configuration for session replay. |
| survey\_config | STRING | Configuration for surveys. |
| access\_control | BOOLEAN Options true , false | Whether access control is enabled. |
| week\_start\_day | INTEGER | Defines the first day of the week. |
| primary\_dashboard | INTEGER | ID of the primary dashboard. |
| live\_events\_columns | ARRAY Items \[STRING] | Columns shown in live events. |
| recording\_domains | ARRAY Items \[STRING] | List of domains where recording is allowed. |
| person\_on\_events\_querying\_enabled | STRING | Whether person querying on events is enabled. |
| inject\_web\_apps | BOOLEAN Options true , false | Whether web apps should be injected. |
| extra\_settings | STRING | Any extra settings not covered elsewhere. |
| modifiers | STRING | Current modifiers in use. |
| default\_modifiers | STRING | Default modifier settings. |
| has\_completed\_onboarding\_for | STRING | Features the user has completed onboarding for. |
| surveys\_opt\_in | BOOLEAN Options true , false | Whether surveys are enabled. |
| heatmaps\_opt\_in | BOOLEAN Options true , false | Whether heatmaps are enabled. |
| product\_intents | STRING | Product intents settings. |
| flags\_persistence\_default | STRING | Default setting for flags persistence. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"organization" : "",
"name" : "",
"product_description" : "",
"created_at" : "",
"effective_membership_level" : 1,
"has_group_types" : false,
"live_events_token" : "",
"updated_at" : "",
"uuid" : "",
"api_token" : "",
"app_urls" : [ "" ],
"slack_incoming_webhook" : "",
"anonymize_ips" : false,
"completed_snippet_onboarding" : false,
"ingested_event" : false,
"test_account_filters" : "",
"test_account_filters_default_checked" : false,
"path_cleaning_filters" : "",
"is_demo" : false,
"timezone" : "",
"data_attributes" : "",
"person_display_name_properties" : [ "" ],
"correlation_config" : "",
"autocapture_opt_out" : false,
"autocapture_exceptions_opt_in" : false,
"autocapture_web_vitals_opt_in" : false,
"autocapture_web_vitals_allowed_metrics" : "",
"autocapture_exceptions_errors_to_ignore" : "",
"capture_console_log_opt_in" : false,
"capture_performance_opt_in" : false,
"session_recording_opt_in" : false,
"session_recording_sample_rate" : "",
"session_recording_minimum_duration_milliseconds" : 1,
"session_recording_linked_flag" : "",
"session_recording_network_payload_capture_config" : "",
"session_recording_masking_config" : "",
"session_replay_config" : "",
"survey_config" : "",
"access_control" : false,
"week_start_day" : 1,
"primary_dashboard" : 1,
"live_events_columns" : [ "" ],
"recording_domains" : [ "" ],
"person_on_events_querying_enabled" : "",
"inject_web_apps" : false,
"extra_settings" : "",
"modifiers" : "",
"default_modifiers" : "",
"has_completed_onboarding_for" : "",
"surveys_opt_in" : false,
"heatmaps_opt_in" : false,
"product_intents" : "",
"flags_persistence_default" : ""
}
```
# ByteChef Reference: Productboard
URL: /reference/components/productboard_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/productboard_v1.mdx
Productboard is a product management platform that helps teams prioritize features, gather customer feedback, and align their product strategy to deliver better products.
Categories: Project Management
Type: productboard/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect Productboard to ByteChef using either a Public API Access Token (Bearer Token) or OAuth 2.0 Authorization Code.
### Public API Access Token [#public-api-access-token]
1. Log in to Productboard.
2. Open **Settings** → **Integrations**.
3. Go to the **Manage** tab.
4. Under **Public APIs**, click **Access token**.
5. Click **+ Add token** and follow the prompts.
6. Copy the generated token value.
### OAuth 2.0 Authorization Code [#oauth-20-authorization-code]
1. In Productboard, open: [https://app.productboard.com/oauth2/applications](https://app.productboard.com/oauth2/applications)
2. Click **New OAuth2 Application**.
3. Enter a name, description, and any other required fields.
4. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://localhost:5173/callback`
5. Select the scopes your app needs. For the ByteChef Productboard connector, enable:
* `notes:create`
* `notes:read`
* `notes:manage`
* `product_hierarchy_data:read`
6. Click **Create Application**.
7. Copy the generated `Client ID` and `Client Secret`.
## Actions [#actions]
### Create Note [#create-note]
Name: createNote
`Creates a new note.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :----: | :--------------------------------------------------------------------------------------: | :------: |
| title | Title | STRING | Title of note. | true |
| content | Content | STRING | HTML-encoded rich text supported by certain tags; unsupported tags will be stripped out. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Note",
"name" : "createNote",
"parameters" : {
"title" : "",
"content" : ""
},
"type" : "productboard/v1/createNote"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :---: | :-------------------------------------------------------------------------: | :---------: |
| links | OBJECT Properties \{STRING(html)} | |
| data | OBJECT Properties \{STRING(id)} | |
#### Output Example [#output-example]
```json
{
"links" : {
"html" : ""
},
"data" : {
"id" : ""
}
}
```
### Delete Note [#delete-note]
Name: deleteNote
`Deletes a note.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :------------: | :------: |
| noteId | Note ID | STRING | ID of the note | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Note",
"name" : "deleteNote",
"parameters" : {
"noteId" : ""
},
"type" : "productboard/v1/deleteNote"
}
```
#### Output [#output-1]
This action does not produce any output.
### Get Feature [#get-feature]
Name: getFeature
`Returns detail of a specific feature.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :---------------: | :------: |
| featureId | Feature Id | STRING | ID of the feature | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Feature",
"name" : "getFeature",
"parameters" : {
"featureId" : ""
},
"type" : "productboard/v1/getFeature"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), STRING(name), STRING(description), STRING(type), \{STRING(id), STRING(name)}(status), \{\{STRING(id), \{STRING(self)}(links)}(component)}(parent), \{STRING(self), STRING(html)}(links), BOOLEAN(archived), \{STRING(startDate), STRING(endDate), STRING(granularity)}(timeframe), \{STRING(email), STRING(name)}(owner), DATE\_TIME(createdAt), DATE\_TIME(updatedAt), DATE\_TIME(lastHealthUpdate)} | |
#### Output Example [#output-example-1]
```json
{
"data" : {
"id" : "",
"name" : "",
"description" : "",
"type" : "",
"status" : {
"id" : "",
"name" : ""
},
"parent" : {
"component" : {
"id" : "",
"links" : {
"self" : ""
}
}
},
"links" : {
"self" : "",
"html" : ""
},
"archived" : false,
"timeframe" : {
"startDate" : "",
"endDate" : "",
"granularity" : ""
},
"owner" : {
"email" : "",
"name" : ""
},
"createdAt" : "2021-01-01T00:00:00",
"updatedAt" : "2021-01-01T00:00:00",
"lastHealthUpdate" : "2021-01-01T00:00:00"
}
}
```
### Get Note [#get-note]
Name: getNote
`Returns detail of a specific note.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :------------: | :------: |
| noteId | Note ID | STRING | ID of the note | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Get Note",
"name" : "getNote",
"parameters" : {
"noteId" : ""
},
"type" : "productboard/v1/getNote"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), STRING(title), STRING(content), STRING(displayUrl), STRING(externalDisplayUrl), \{STRING(id)}(company), \{STRING(id)}(user), \{STRING(email), STRING(name)}(owner), \[\{STRING(memberId), STRING(memberName), STRING(memberEmail), STRING(teamId), STRING(teamName)}]\(followers), STRING(state), \{STRING(origin), STRING(record\_id)}(source), STRING(tags), \[\{STRING(id), STRING(type), INTEGER(importance)}]\(features), DATE\_TIME(createdAt), DATE\_TIME(updatedAt), \{STRING(email), STRING(name), STRING(uuid)}(createdBy)} | |
#### Output Example [#output-example-2]
```json
{
"data" : {
"id" : "",
"title" : "",
"content" : "",
"displayUrl" : "",
"externalDisplayUrl" : "",
"company" : {
"id" : ""
},
"user" : {
"id" : ""
},
"owner" : {
"email" : "",
"name" : ""
},
"followers" : [ {
"memberId" : "",
"memberName" : "",
"memberEmail" : "",
"teamId" : "",
"teamName" : ""
} ],
"state" : "",
"source" : {
"origin" : "",
"record_id" : ""
},
"tags" : "",
"features" : [ {
"id" : "",
"type" : "",
"importance" : 1
} ],
"createdAt" : "2021-01-01T00:00:00",
"updatedAt" : "2021-01-01T00:00:00",
"createdBy" : {
"email" : "",
"name" : "",
"uuid" : ""
}
}
}
```
### Update Note [#update-note]
Name: updateNote
`Updates a note.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----------------------------------------------------------------------------------------------------------------------------------------------------: | :------------: | :------: |
| noteId | Note ID | STRING | ID of the note | true |
| data | Data | OBJECT Properties \{STRING(content), \{STRING(email), STRING(name)}(owner), \[STRING]\(tags), STRING(title)} | | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Update Note",
"name" : "updateNote",
"parameters" : {
"noteId" : "",
"data" : {
"content" : "",
"owner" : {
"email" : "",
"name" : ""
},
"tags" : [ "" ],
"title" : ""
}
},
"type" : "productboard/v1/updateNote"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :---: | :-------------------------------------------------------------------------: | :---------: |
| links | OBJECT Properties \{STRING(html)} | |
| data | OBJECT Properties \{STRING(id)} | |
#### Output Example [#output-example-3]
```json
{
"links" : {
"html" : ""
},
"data" : {
"id" : ""
}
}
```
### List All Notes [#list-all-notes]
Name: listNotes
`Returns detail of all notes order by created_at desc`
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "List All Notes",
"name" : "listNotes",
"type" : "productboard/v1/listNotes"
}
```
#### Output [#output-5]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-11]
| Name | Type | Description |
| :----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: |
| id | STRING | ID of the note. |
| title | STRING | Title of note. |
| content | STRING | HTML-encoded rich text supported by certain tags; unsupported tags will be stripped out. |
| displayUrl | STRING | Note display url leading to Productboard detail page. |
| externalDisplayUrl | STRING | URL in an external system where the note originated. |
| company | OBJECT Properties \{STRING(id)} | |
| user | OBJECT Properties \{STRING(id)} | |
| owner | OBJECT Properties \{STRING(email), STRING(name)} | |
| followers | ARRAY Items \[\{STRING(memberId), STRING(memberName), STRING(memberEmail), STRING(teamId), STRING(teamName)}] | The followers of the note. |
| state | STRING | State of the note. |
| source | OBJECT Properties \{STRING(origin), STRING(record\_id)} | |
| tags | STRING | Comma-separated list of tags. |
| features | ARRAY Items \[\{STRING(id), STRING(type), INTEGER(importance)}] | All features related to a given note. |
| createdAt | DATE\_TIME | Date and time when the note was created. |
| updatedAt | DATE\_TIME | Date and time when the note was last updated. |
| createdBy | OBJECT Properties \{STRING(email), STRING(name), STRING(uuid)} | |
#### Output Example [#output-example-4]
```json
[ {
"id" : "",
"title" : "",
"content" : "",
"displayUrl" : "",
"externalDisplayUrl" : "",
"company" : {
"id" : ""
},
"user" : {
"id" : ""
},
"owner" : {
"email" : "",
"name" : ""
},
"followers" : [ {
"memberId" : "",
"memberName" : "",
"memberEmail" : "",
"teamId" : "",
"teamName" : ""
} ],
"state" : "",
"source" : {
"origin" : "",
"record_id" : ""
},
"tags" : "",
"features" : [ {
"id" : "",
"type" : "",
"importance" : 1
} ],
"createdAt" : "2021-01-01T00:00:00",
"updatedAt" : "2021-01-01T00:00:00",
"createdBy" : {
"email" : "",
"name" : "",
"uuid" : ""
}
} ]
```
## Triggers [#triggers]
### New Note [#new-note]
Name: newNote
`Triggers when a note is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :-------: | :---------------------------------------------------------------------------: | :-------------------------------------------: |
| id | STRING | ID of the note. |
| eventType | STRING | Type of the event that triggered the webhook. |
| links | OBJECT Properties \{STRING(target)} | Links to the updated entity. |
#### JSON Example [#json-example]
```json
{
"label" : "New Note",
"name" : "newNote",
"type" : "productboard/v1/newNote"
}
```
### Updated Feature [#updated-feature]
Name: updatedFeature
`Triggers when a feature is updated.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-13]
| Name | Type | Description |
| :---------------: | :---------------------------------------------------------------------------: | :-------------------------------------------: |
| id | STRING | ID of the updated feature. |
| eventType | STRING | Type of the event that triggered the webhook. |
| links | OBJECT Properties \{STRING(target)} | Links to the updated entity. |
| updatedAttributes | ARRAY Items \[STRING] | List of updated attributes. |
#### JSON Example [#json-example-1]
```json
{
"label" : "Updated Feature",
"name" : "updatedFeature",
"type" : "productboard/v1/updatedFeature"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Property Testing
URL: /reference/components/property-testing_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/property-testing_v1.mdx
Component fo testing.
Categories: Helpers
Type: propertyTesting/v1
## Actions [#actions]
### Testing [#testing]
Name: testingAction
`Description`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------------------: | :------------------------------------: | :---------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: | :------: |
| arrayDefaultValues | Array With Default Values | ARRAY Items \[] | Default value is \[element1, element2, element3] | false |
| arrayMaxItems | Array Max Items | ARRAY Items \[STRING] | Max items set to 3 | false |
| arrayMinItems | Array Min Items | ARRAY Items \[STRING] | Min items set to 3 | false |
| arrayNoDefaultValues | Array With No Default Values | ARRAY Items \[] | | false |
| arrayNoPredefinedProperties | Array No Predefined Properties | ARRAY Items \[] | | false |
| arrayPredefinedProperties | Array Predefined Properties | ARRAY Items \[\{STRING(predefined1), STRING(predefined2)}] | | false |
| bool | Boolean Property and Display Condition | BOOLEAN Options true , false | Display condition string will be shown when this value is set to True. | false |
| date | Date Property | DATE | | false |
| dateTime | Date Time Property | DATE\_TIME | | false |
| displayCondition | Display Condition | STRING | Will be displayed only if the boolean property is true. | false |
| dynamicPropertiesLookup | Dynamic Properties Lookup | STRING | Dynamic property will be shown when this value is set. | false |
| dynamicProperty | | DYNAMIC\_PROPERTIES Depends On dynamicPropertiesLookup | | false |
| fileEntry | FileEntry Property | FILE\_ENTRY | | false |
| integerMaxValue | Integer Max Value | INTEGER | Integer maximum value set to 10 | false |
| integerMinValue | Integer Min Value | INTEGER | Integer minimum value set to 10 | false |
| numberMaxNumPrecision | Number Max Number Precision | NUMBER | Number max number precision set to 2 | false |
| numberMinNumPrecision | Number Min Number Precision | NUMBER | Number min number precision set to 2 | false |
| numberMaxValue | Number Max Value | NUMBER | Number max value set to 5 | false |
| numberMinValue | Number Min Value | NUMBER | Number min value set to 5 | false |
| numberPrecision | Number Precision | NUMBER | Number precision set to 3 | false |
| objectDefaultValues | Object With Default Values | OBJECT Properties \{} | Default value is \{ key1 : value1, key2: value2 } | false |
| objectNoDefaultValues | Object With No Default Values | OBJECT Properties \{} | | false |
| objectNoPredefinedProperties | Object No Predefined Properties | OBJECT Properties \{} | | false |
| objectPredefinedProperties | Object Predefined Properties | OBJECT Properties \{\[\{STRING(key), STRING(value)}]\(array)} | | false |
| setForOptionsLookup | Set For Options Lookup | STRING | This has to be set so you can se the options below. | false |
| optionsLookupDependsOn | Option Lookup Depends On | STRING Depends On setForOptionsLookup | This options depend on "Set For Options Lookup" property. | false |
| optionsMultiselect | Options Multiselect | ARRAY Items \[STRING] | | false |
| optionsNoMultiselect | Options No Multiselect | STRING Options 1 , 2 , 3 , 4 | | false |
| stringMaxLength | String Max Length | STRING | Maximum length set to 5. | false |
| stringMinLength | String Min Length | STRING | Minimum length set to 5. | false |
| stringRegEx | String Regular Expression | STRING | Regular expression is set to: "\[^A-Za-z]". Just letters from a text should be returned. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Testing",
"name" : "testingAction",
"parameters" : {
"arrayDefaultValues" : [ ],
"arrayMaxItems" : [ "" ],
"arrayMinItems" : [ "" ],
"arrayNoDefaultValues" : [ ],
"arrayNoPredefinedProperties" : [ ],
"arrayPredefinedProperties" : [ {
"predefined1" : "",
"predefined2" : ""
} ],
"bool" : false,
"date" : "2021-01-01",
"dateTime" : "2021-01-01T00:00:00",
"displayCondition" : "",
"dynamicPropertiesLookup" : "",
"dynamicProperty" : { },
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"integerMaxValue" : 1,
"integerMinValue" : 1,
"numberMaxNumPrecision" : 0.0,
"numberMinNumPrecision" : 0.0,
"numberMaxValue" : 0.0,
"numberMinValue" : 0.0,
"numberPrecision" : 0.0,
"objectDefaultValues" : { },
"objectNoDefaultValues" : { },
"objectNoPredefinedProperties" : { },
"objectPredefinedProperties" : {
"array" : [ {
"key" : "",
"value" : ""
} ]
},
"setForOptionsLookup" : "",
"optionsLookupDependsOn" : "",
"optionsMultiselect" : [ "" ],
"optionsNoMultiselect" : "",
"stringMaxLength" : "",
"stringMinLength" : "",
"stringRegEx" : ""
},
"type" : "propertyTesting/v1/testingAction"
}
```
#### Output [#output]
Type: OBJECT
# Additional Instructions [#additional-instructions]
## Example [#example]
This is an example of an example.
1. Step 1
2. Step 2
3.
# ByteChef Reference: Pushover
URL: /reference/components/pushover_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/pushover_v1.mdx
Pushover is a notification service that sends real-time alerts to mobile and desktop devices, integrating with apps, scripts, and services.
Categories: Communication
Type: pushover/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :--------------------: | :----: | :-----------------------------------------------------------------: | :------: |
| token | Applications API Token | STRING | Applications API Token can be found in your applications dashboard. | true |
| user | User Key | STRING | User Key can be found in main dashboard. | true |
## Connection Setup [#connection-setup]
1. Navigate to [link](https://pushover.net/).
2. Click on **Create an Application/API Token**.
3. Enter name of your application and optionally description, icon and URL.
4. Check Terms of Service checkbox.
5. Click **Create Application**.
6. This is your **Application API Token**.
7. Click here to go to the Pushover dashboard.
8. This is your **User Key**.
## Actions [#actions]
### Send Notification [#send-notification]
Name: sendNotification
`Sends a notification.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: | :------: |
| title | Message Title | STRING | The title of the message that will be sent. | false |
| message | Message | STRING | The message to send. | true |
| priority | Priority | STRING Options -2 , -1 , 0 , 1 , 2 | The priority of the message. | false |
| retry | Retry | INTEGER | How often will the notification be sent to the user. Must have a value of at least 30 seconds | true |
| expire | Expire | INTEGER | If the notification has not be acknowledged in expire seconds, it will be marked as expired and will stop being sent to the user. | true |
| url | URL | STRING | Clickable URL link in the message to send. | false |
| url\_title | Url Title | STRING | When the user taps on the notification in Pushover to expand it, the URL will be shown as the supplied url\_title | false |
| attachment\_base64 | Attachment | FILE\_ENTRY | The attachment to send. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send Notification",
"name" : "sendNotification",
"parameters" : {
"title" : "",
"message" : "",
"priority" : "",
"retry" : 1,
"expire" : 1,
"url" : "",
"url_title" : "",
"attachment_base64" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "pushover/v1/sendNotification"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :-----: | :---------: |
| status | INTEGER | |
| request | STRING | |
#### Output Example [#output-example]
```json
{
"status" : 1,
"request" : ""
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Qdrant
URL: /reference/components/qdrant_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/qdrant_v1.mdx
Qdrant is an open-source vector similarity search engine designed to handle high-dimensional data, enabling efficient and scalable nearest neighbor search for applications like recommendation systems and machine learning.
Categories: Artificial Intelligence
Type: qdrant/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------: | :------: |
| host | Host | STRING | The host of the Qdrant server. | true |
| port | Port | INTEGER | The gRPC port of the Qdrant server. | true |
| apiKey | API Key | STRING | The API key to use for authentication withe the server. | true |
| collection | Collection Name | STRING | The name of the collection to use. | true |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to initialize the schema. | true |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "qdrant/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "qdrant/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "qdrant/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "qdrant/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Query Augmenter
URL: /reference/components/query-augmenter_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/query-augmenter_v1.mdx
Query Augmenter.
Categories: Artificial Intelligence
Type: queryAugmenter/v1
# ByteChef Reference: Query Expander
URL: /reference/components/query-expander_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/query-expander_v1.mdx
Query Expander.
Categories: Artificial Intelligence
Type: queryExpander/v1
# ByteChef Reference: Query Transformer
URL: /reference/components/query-transformer_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/query-transformer_v1.mdx
Query Transformer.
Categories: Artificial Intelligence
Type: queryTransformer/v1
# ByteChef Reference: Question Answer RAG
URL: /reference/components/questionanswer-rag_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/questionanswer-rag_v1.mdx
A component that enables Question-Answer Retrieval Augmented Generation (RAG) capabilities. It combines natural language processing with document retrieval to provide accurate answers based on the given context.
Categories: Artificial Intelligence
Type: questionAnswerRag/v1
# ByteChef Reference: QuickBooks
URL: /reference/components/quickbooks_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/quickbooks_v1.mdx
QuickBooks is an accounting software package developed and marketed by Intuit. It is geared mainly toward small and medium-sized businesses and offers on-premises accounting applications as well as cloud-based versions that accept business payments, manage and pay bills, and payroll functions.
Categories: Accounting
Type: quickbooks/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| base | Base | STRING Options [https://sandbox-quickbooks.api.intuit.com](https://sandbox-quickbooks.api.intuit.com) , [https://quickbooks.api.intuit.com](https://quickbooks.api.intuit.com) | The base URL for Quickbooks. | true |
| companyId | Company Id | STRING | To get the company id, go to your dashboard. On the top right corner press the gear logo and click Additional information. There you will see your company ID. | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Actions [#actions]
### Create Category [#create-category]
Name: createCategory
`Creates a new category.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-------------------: | :------: |
| name | Name | STRING | Name of the category. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Category",
"name" : "createCategory",
"parameters" : {
"name" : ""
},
"type" : "quickbooks/v1/createCategory"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| item | OBJECT Properties \{STRING(domain), STRING(id), STRING(name), STRING(active), STRING(fullyQualifiedName), STRING(type)} | |
#### Output Example [#output-example]
```json
{
"item" : {
"domain" : "",
"id" : "",
"name" : "",
"active" : "",
"fullyQualifiedName" : "",
"type" : ""
}
}
```
### Create Customer [#create-customer]
Name: createCustomer
`Creates a new customer.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----: | :--------------------------------------------------: | :------: |
| displayName | Display Name | STRING | The name of the person or organization as displayed. | true |
| givenName | First Name | STRING | Given name or first name of a person. | false |
| familyName | Last Name | STRING | Family name or the last name of the person. | false |
| suffix | Suffix | STRING | Suffix of the name. | false |
| title | Title | STRING | Title of the person. | false |
| middleName | Middle Name | STRING | Middle name of the person. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Customer",
"name" : "createCustomer",
"parameters" : {
"displayName" : "",
"givenName" : "",
"familyName" : "",
"suffix" : "",
"title" : "",
"middleName" : ""
},
"type" : "quickbooks/v1/createCustomer"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| customer | OBJECT Properties \{STRING(domain), STRING(id), STRING(title), STRING(givenName), STRING(middleName), STRING(familyName), STRING(suffix), STRING(fullyQualifiedName), STRING(displayName), STRING(active)} | |
#### Output Example [#output-example-1]
```json
{
"customer" : {
"domain" : "",
"id" : "",
"title" : "",
"givenName" : "",
"middleName" : "",
"familyName" : "",
"suffix" : "",
"fullyQualifiedName" : "",
"displayName" : "",
"active" : ""
}
}
```
### Create Item [#create-item]
Name: createItem
`Creates a new item.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------------: | :--------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------: | :------: |
| name | Name | STRING | Name of the item. | true |
| type | Type | STRING Options INVENTORY , SERVICE , NON\_INVENTORY | Type of item. | true |
| account | | DYNAMIC\_PROPERTIES Depends On type | | false |
| expenseAccountRef | Expense Account | STRING | | true |
| qtyOnHand | Quantity on Hand | NUMBER | Current quantity of the inventory items available for sale. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Item",
"name" : "createItem",
"parameters" : {
"name" : "",
"type" : "",
"account" : { },
"expenseAccountRef" : "",
"qtyOnHand" : 0.0
},
"type" : "quickbooks/v1/createItem"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| item | OBJECT Properties \{STRING(domain), STRING(id), STRING(name), STRING(active), STRING(fullyQualifiedName), STRING(type), \{STRING(name)}(incomeAccountRef), \{STRING(name)}(assetAccountRef), \{STRING(name)}(expenseAccountRef)} | |
#### Output Example [#output-example-2]
```json
{
"item" : {
"domain" : "",
"id" : "",
"name" : "",
"active" : "",
"fullyQualifiedName" : "",
"type" : "",
"incomeAccountRef" : {
"name" : ""
},
"assetAccountRef" : {
"name" : ""
},
"expenseAccountRef" : {
"name" : ""
}
}
}
```
### Create Payment [#create-payment]
Name: createPayment
`Creates a new payment.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :------: | :----------: | :----: | :------------------------------: | :------: |
| customer | Customer | STRING | | true |
| totalAmt | Total Amount | NUMBER | Total amount of the transaction. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Payment",
"name" : "createPayment",
"parameters" : {
"customer" : "",
"totalAmt" : 0.0
},
"type" : "quickbooks/v1/createPayment"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| payment | OBJECT Properties \{STRING(domain), STRING(id), \{STRING(name)}(CurrencyRef), \{STRING(name)}(customerRef), STRING(totalAmt)} | |
#### Output Example [#output-example-3]
```json
{
"payment" : {
"domain" : "",
"id" : "",
"CurrencyRef" : {
"name" : ""
},
"customerRef" : {
"name" : ""
},
"totalAmt" : ""
}
}
```
### Get Customer [#get-customer]
Name: getCustomer
`Gets details about a specific customer.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :------: | :---------: | :----: | :------------------------: | :------: |
| customer | Customer ID | STRING | ID of the customer to get. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Get Customer",
"name" : "getCustomer",
"parameters" : {
"customer" : ""
},
"type" : "quickbooks/v1/getCustomer"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| customer | OBJECT Properties \{STRING(domain), STRING(id), STRING(title), STRING(givenName), STRING(middleName), STRING(familyName), STRING(suffix), STRING(fullyQualifiedName), STRING(displayName), STRING(active)} | |
#### Output Example [#output-example-4]
```json
{
"customer" : {
"domain" : "",
"id" : "",
"title" : "",
"givenName" : "",
"middleName" : "",
"familyName" : "",
"suffix" : "",
"fullyQualifiedName" : "",
"displayName" : "",
"active" : ""
}
}
```
### Get Invoice [#get-invoice]
Name: getInvoice
`Gets details about a specific invoice.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :-----: | :--------: | :----: | :-----------------------: | :------: |
| invoice | Invoice ID | STRING | ID of the invoice to get. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get Invoice",
"name" : "getInvoice",
"parameters" : {
"invoice" : ""
},
"type" : "quickbooks/v1/getInvoice"
}
```
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| invoice | OBJECT Properties \{STRING(domain), STRING(id), STRING(DocNumber), \{STRING(name)}(customerRef), STRING(Balance)} | |
#### Output Example [#output-example-5]
```json
{
"invoice" : {
"domain" : "",
"id" : "",
"DocNumber" : "",
"customerRef" : {
"name" : ""
},
"Balance" : ""
}
}
```
### Get Item [#get-item]
Name: getItem
`Gets details about a specific item.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :--: | :-----: | :----: | :--------------------: | :------: |
| item | Item ID | STRING | ID of the item to get. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Get Item",
"name" : "getItem",
"parameters" : {
"item" : ""
},
"type" : "quickbooks/v1/getItem"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :--: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| item | OBJECT Properties \{STRING(domain), STRING(id), STRING(name), STRING(active), STRING(fullyQualifiedName), STRING(type), \{STRING(name)}(incomeAccountRef), \{STRING(name)}(assetAccountRef), \{STRING(name)}(expenseAccountRef)} | |
#### Output Example [#output-example-6]
```json
{
"item" : {
"domain" : "",
"id" : "",
"name" : "",
"active" : "",
"fullyQualifiedName" : "",
"type" : "",
"incomeAccountRef" : {
"name" : ""
},
"assetAccountRef" : {
"name" : ""
},
"expenseAccountRef" : {
"name" : ""
}
}
}
```
### Get Payment [#get-payment]
Name: getPayment
`Gets details about a specific payment.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :-----: | :--------: | :----: | :-----------------------: | :------: |
| payment | Payment ID | STRING | ID of the payment to get. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Get Payment",
"name" : "getPayment",
"parameters" : {
"payment" : ""
},
"type" : "quickbooks/v1/getPayment"
}
```
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-16]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| payment | OBJECT Properties \{STRING(domain), STRING(id), \{STRING(name)}(CurrencyRef), \{STRING(name)}(customerRef), STRING(totalAmt)} | |
#### Output Example [#output-example-7]
```json
{
"payment" : {
"domain" : "",
"id" : "",
"CurrencyRef" : {
"name" : ""
},
"customerRef" : {
"name" : ""
},
"totalAmt" : ""
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: RabbitMQ
URL: /reference/components/rabbitmq_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/rabbitmq_v1.mdx
RabbitMQ is an open-source message broker software that enables efficient communication between different systems, applications, and services. It supports multiple messaging protocols and facilitates a reliable and flexible messaging system.
Categories:
Type: rabbitMQ/v1
## Connections [#connections]
Version: 1
## Actions [#actions]
### Send Message [#send-message]
Name: sendMessage
`Send a new RabbitMQ message.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----: | :---: | :-------------------------------------------------------------: | :--------------------------------: | :------: |
| queue | null | STRING | The name of the queue to read from | true |
| message | null | OBJECT Properties \{} | The name of the queue to read from | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send Message",
"name" : "sendMessage",
"parameters" : {
"queue" : "",
"message" : { }
},
"type" : "rabbitMQ/v1/sendMessage"
}
```
#### Output [#output]
This action does not produce any output.
## Triggers [#triggers]
### New Message [#new-message]
Name: newMessage
`Triggers on new RabbitMQ messages.`
Type: LISTENER
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :--------------------------------: | :------: |
| queue | null | STRING | The name of the queue to read from | true |
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Message",
"name" : "newMessage",
"parameters" : {
"queue" : ""
},
"type" : "rabbitMQ/v1/newMessage"
}
```
# ByteChef Reference: Random Helper
URL: /reference/components/random-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/random-helper_v1.mdx
The Random Helper allows you to generate random values.
Categories: Helpers
Type: randomHelper/v1
## Actions [#actions]
### Random Float [#random-float]
Name: randomFloat
`Generates a random float value.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :-----: | :-----------------------------------: | :------: |
| startInclusive | Start Inclusive | INTEGER | The minimum possible generated value. | true |
| endInclusive | End Inclusive | INTEGER | The maximum possible generated value. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Random Float",
"name" : "randomFloat",
"parameters" : {
"startInclusive" : 1,
"endInclusive" : 1
},
"type" : "randomHelper/v1/randomFloat"
}
```
#### Output [#output]
Type: NUMBER
### Random Hex [#random-hex]
Name: randomHex
`Generates a random Hex.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-------------: | :-----: | :---------------------------------------------------------------------: | :------: |
| length | Hex Byte Length | INTEGER | Hex byte length must be a positive integer smaller than or equal to 32. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Random Hex",
"name" : "randomHex",
"parameters" : {
"length" : 1
},
"type" : "randomHelper/v1/randomHex"
}
```
#### Output [#output-1]
Type: STRING
### Random Integer [#random-integer]
Name: randomInt
`Generates a random integer value.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :-----: | :-----------------------------------: | :------: |
| startInclusive | Start Inclusive | INTEGER | The minimum possible generated value. | true |
| endInclusive | End Inclusive | INTEGER | The maximum possible generated value. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Random Integer",
"name" : "randomInt",
"parameters" : {
"startInclusive" : 1,
"endInclusive" : 1
},
"type" : "randomHelper/v1/randomInt"
}
```
#### Output [#output-2]
Type: INTEGER
### Random String [#random-string]
Name: randomString
`Generates a random string of the specified length using the provided character set.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| length | Length | INTEGER | The length of the generated string. | true |
| characterSet | Character Set | STRING Options ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 , ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\~\`!@#\$%^&\*()-\_=+\[\{]}\|;:'",\<.>/? | The character set to be used for generating string. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Random String",
"name" : "randomString",
"parameters" : {
"length" : 1,
"characterSet" : ""
},
"type" : "randomHelper/v1/randomString"
}
```
#### Output [#output-3]
Type: STRING
### Random UUID [#random-uuid]
Name: randomUuid
`Generates a random UUID.`
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Random UUID",
"name" : "randomUuid",
"type" : "randomHelper/v1/randomUuid"
}
```
#### Output [#output-4]
Type: STRING
# ByteChef Reference: Reckon
URL: /reference/components/reckon_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/reckon_v1.mdx
Reckon is an accounting software used for financial management and bookkeeping tasks.
Categories: Accounting
Type: reckon/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :-----------------------------------------------: | :------: |
| bookId | Book ID | STRING | ID of the book where new contact will be created. | true |
| name | Name | STRING | The name of the contact. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"bookId" : "",
"name" : ""
},
"type" : "reckon/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :----: | :---------: |
| id | STRING | |
#### Output Example [#output-example]
```json
{
"id" : ""
}
```
### Create Invoice [#create-invoice]
Name: createInvoice
`Creates a new invoice.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :----------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: | :------: |
| bookId | Book ID | STRING | ID of the book where new invoice will be created. | true |
| customer | Customer | STRING | The customer that is being invoiced. | true |
| invoiceDate | Invoice Date | DATE | The date of the invoice. | true |
| amountTaxStatus | Amount Tax Status | STRING Options NonTaxed , Inclusive , Exclusive | The amount tax status of the amounts in the invoice. | true |
| lineItems | Line Items | ARRAY Items \[\{INTEGER(lineNumber)}] | The individual items that make up the invoice. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Invoice",
"name" : "createInvoice",
"parameters" : {
"bookId" : "",
"customer" : "",
"invoiceDate" : "2021-01-01",
"amountTaxStatus" : "",
"lineItems" : [ {
"lineNumber" : 1
} ]
},
"type" : "reckon/v1/createInvoice"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :----: | :---------: |
| id | STRING | |
#### Output Example [#output-example-1]
```json
{
"id" : ""
}
```
### Create Payment [#create-payment]
Name: createPayment
`Creates a new payment.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :----: | :-----------------------------------------------: | :------: |
| bookId | Book ID | STRING | ID of the book where new payment will be created. | true |
| supplier | Supplier | STRING | The supplier that is being paid. | true |
| paymentDate | Payment Date | DATE | The date of the payment. | true |
| totalAmount | Total Amount | NUMBER | The total amount of the payment applied. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Payment",
"name" : "createPayment",
"parameters" : {
"bookId" : "",
"supplier" : "",
"paymentDate" : "2021-01-01",
"totalAmount" : 0.0
},
"type" : "reckon/v1/createPayment"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :----: | :---------: |
| id | STRING | |
#### Output Example [#output-example-2]
```json
{
"id" : ""
}
```
## Triggers [#triggers]
### New Invoice [#new-invoice]
Name: newInvoice
`Triggers when a new invoice is created.`
Type: POLLING
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----: | :---: | :----: | :---------: | :------: |
| bookId | Book | STRING | | true |
#### Output [#output-3]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------------------------------: | :---------: |
| id | STRING | |
| invoiceNumber | STRING | |
| customer | OBJECT Properties \{STRING(id), STRING(name)} | |
| invoiceDate | DATE | |
| amountTaxStatus | STRING | |
| lineItems | ARRAY Items \[\{INTEGER(lineNumber)}] | |
#### JSON Example [#json-example]
```json
{
"label" : "New Invoice",
"name" : "newInvoice",
"parameters" : {
"bookId" : ""
},
"type" : "reckon/v1/newInvoice"
}
```
### New Payment [#new-payment]
Name: newPayment
`Triggers when a new payment is created.`
Type: POLLING
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :----: | :---: | :----: | :---------: | :------: |
| bookId | Book | STRING | | true |
#### Output [#output-4]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-----------: | :-------------------------------------------------------------------------------------: | :---------: |
| id | STRING | |
| paymentNumber | STRING | |
| supplier | OBJECT Properties \{STRING(id), STRING(name)} | |
| paymentDate | DATE | |
| totalAmount | NUMBER | |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Payment",
"name" : "newPayment",
"parameters" : {
"bookId" : ""
},
"type" : "reckon/v1/newPayment"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Reddit
URL: /reference/components/reddit_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/reddit_v1.mdx
Reddit is a social news aggregation, discussion, and content-sharing platform where users post and vote on content organized into communities called subreddits.
Categories: Social Media
Type: reddit/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
1. Login to your account at [https://www.reddit.com/prefs/apps](https://www.reddit.com/prefs/apps).
2. Click on **are you a developer? create an app...**
3. Fill in the required fields, choose web app as type and click **create app**.
4. Here you will find Client ID.
5. Click on **edit** and here you will find Client Secret.
## Actions [#actions]
### Create Comment [#create-comment]
Name: createComment
`Creates comment on a Reddit post or replies to a comment.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :----------: | :----: | :-----------------------------------------------------: | :------: |
| thing\_id | Parent ID | STRING | Post ID (t3\_*) or comment ID (t1\_*) to reply to. | true |
| text | Comment Text | STRING | Comment text. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Comment",
"name" : "createComment",
"parameters" : {
"thing_id" : "",
"text" : ""
},
"type" : "reddit/v1/createComment"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------: |
| jquery | ARRAY Items \[] | An array with response data. |
| success | BOOLEAN Options true , false | Boolean value that indicates the success or failure of the request. |
#### Output Example [#output-example]
```json
{
"jquery" : [ ],
"success" : false
}
```
#### Find Parent ID [#find-parent-id]
To find the Parent ID, click [here](/reference/components/reddit_v1#how-to-find-parent-id).
### Create Post [#create-post]
Name: createPost
`Creates a new reddit post.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---: | :------------: | :-------------------------------------------------------------------------------------------: | :-------------: | :------: |
| sr | Subreddit Name | STRING | Subreddit name. | true |
| title | Title | STRING | Post title. | true |
| kind | Kind | STRING Options link , self | Type of post. | true |
| url | URL | STRING | Link URL. | true |
| text | Text | STRING | Post text. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Post",
"name" : "createPost",
"parameters" : {
"sr" : "",
"title" : "",
"kind" : "",
"url" : "",
"text" : ""
},
"type" : "reddit/v1/createPost"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------: |
| jquery | ARRAY Items \[] | An array with response data. |
| success | BOOLEAN Options true , false | Boolean value that indicates the success or failure of the request. |
#### Output Example [#output-example-1]
```json
{
"jquery" : [ ],
"success" : false
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Parent ID [#how-to-find-parent-id]
Open the Reddit post on your browser and you can find ID in the URL (just add t3\_ or t1\_). For example in `https://www.reddit.com/r/subreddit/comments/123/title/`, post ID is t3\_123.
If you want to respond to a comment, open that comment and find ID in the URL. For example in `https://www.reddit.com/r/subreddit/comments/123/comment/456/`, comment ID is t1\_456.
# ByteChef Reference: Redis Chat Memory
URL: /reference/components/redis-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/redis-chat-memory_v1.mdx
Redis Chat Memory stores conversation history in Redis for fast, persistent storage.
Categories: Artificial Intelligence
Type: redisChatMemory/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :------------------------------------------------: | :------: |
| username | Username | STRING | The Redis username (optional, for Redis 6.0+ ACL). | false |
| password | Password | STRING | The Redis password. | false |
## Actions [#actions]
### Add Messages [#add-messages]
Name: addMessages
`Adds messages to the chat memory for a conversation.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :---------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content)}] | The messages to add to the conversation. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Messages",
"name" : "addMessages",
"parameters" : {
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
},
"type" : "redisChatMemory/v1/addMessages"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :-----: | :---------: |
| conversationId | STRING | |
| messageCount | INTEGER | |
#### Output Example [#output-example]
```json
{
"conversationId" : "",
"messageCount" : 1
}
```
### Get Messages [#get-messages]
Name: getMessages
`Retrieves all messages from a conversation.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Messages",
"name" : "getMessages",
"parameters" : {
"conversationId" : ""
},
"type" : "redisChatMemory/v1/getMessages"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| messages | ARRAY Items \[\{STRING(role), STRING(content)}] | |
#### Output Example [#output-example-1]
```json
{
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
}
```
### Delete Conversation [#delete-conversation]
Name: deleteConversation
`Deletes all messages for a conversation.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :---------------------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Conversation",
"name" : "deleteConversation",
"parameters" : {
"conversationId" : ""
},
"type" : "redisChatMemory/v1/deleteConversation"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| deleted | BOOLEAN Options true , false | |
#### Output Example [#output-example-2]
```json
{
"conversationId" : "",
"deleted" : false
}
```
### List Conversations [#list-conversations]
Name: listConversations
`Lists all conversation IDs in the chat memory.`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "List Conversations",
"name" : "listConversations",
"type" : "redisChatMemory/v1/listConversations"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------: | :---------: |
| conversationIds | ARRAY Items \[STRING] | |
| count | INTEGER | |
#### Output Example [#output-example-3]
```json
{
"conversationIds" : [ "" ],
"count" : 1
}
```
# ByteChef Reference: Redis Session Repository
URL: /reference/components/redis-session-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/redis-session-chat-memory_v1.mdx
Stores agent session events as JSON documents in Redis.
Categories: Artificial Intelligence
Type: redisSessionChatMemory/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :------------------------------------------------: | :------: |
| username | Username | STRING | The Redis username (optional, for Redis 6.0+ ACL). | false |
| password | Password | STRING | The Redis password. | false |
# ByteChef Reference: Redis
URL: /reference/components/redisVectorStore_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/redisVectorStore_v1.mdx
Redis is an open-source, in-memory data structure store used as a database, cache, and message broker, known for its high performance and support for various data structures like strings, hashes, lists, sets, and more.
Categories: Artificial Intelligence
Type: redisVectorStore/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------: | :------: |
| publicEndpoint | Public Endpoint | STRING | | true |
| username | Username | STRING | | true |
| password | Password | STRING | | true |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to initialize the schema. | true |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "redisVectorStore/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "redisVectorStore/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "redisVectorStore/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "redisVectorStore/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Redis
URL: /reference/components/redis_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/redis_v1.mdx
Redis is an open-source, in-memory data structure store used as a database, cache, message broker, and streaming engine.
Categories: Developer Tools
Type: redis/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------: | :-----: | :----------------------------------------------------------------------: | :------: |
| host | Host | STRING | The Redis server hostname or IP address. | true |
| port | Port | INTEGER | The Redis server port. | true |
| password | Password | STRING | The password for Redis authentication. Leave empty if no authentication. | false |
| database | Database | INTEGER | The Redis database index (0-15). | false |
## Actions [#actions]
### Delete [#delete]
Name: delete
`Deletes a key from Redis.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------: | :------: |
| key | Key | STRING | The key to delete. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete",
"name" : "delete",
"parameters" : {
"key" : ""
},
"type" : "redis/v1/delete"
}
```
#### Output [#output]
Type: BOOLEAN
### Get [#get]
Name: get
`Gets the value of a key from Redis.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :------------------: | :------: |
| key | Key | STRING | The key to retrieve. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get",
"name" : "get",
"parameters" : {
"key" : ""
},
"type" : "redis/v1/get"
}
```
#### Output [#output-1]
Type: STRING
### Increment [#increment]
Name: increment
`Atomically increments a key by 1. Creates the key with value 1 if it does not exist.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :-----------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------: | :------: |
| key | Key | STRING | The key to increment. | true |
| expire | Expire | BOOLEAN Options true , false | Whether to set an expiration time on the key. | false |
| ttl | TTL (seconds) | INTEGER | Time to live in seconds. Only used when Expire is true. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Increment",
"name" : "increment",
"parameters" : {
"key" : "",
"expire" : false,
"ttl" : 1
},
"type" : "redis/v1/increment"
}
```
#### Output [#output-2]
Type: INTEGER
### Info [#info]
Name: info
`Returns information and statistics about the Redis server.`
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Info",
"name" : "info",
"type" : "redis/v1/info"
}
```
#### Output [#output-3]
Type: OBJECT
### Keys [#keys]
Name: keys
`Returns all keys matching a pattern.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----: | :---------------------------------------------------------------: | :------: |
| keyPattern | Key Pattern | STRING | The pattern to match keys against (e.g., 'user:\*', '*session*'). | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Keys",
"name" : "keys",
"parameters" : {
"keyPattern" : ""
},
"type" : "redis/v1/keys"
}
```
#### Output [#output-4]
Type: ARRAY
Items Type: STRING
#### Output Example [#output-example]
```json
[ "" ]
```
### List Length [#list-length]
Name: listLength
`Returns the length of a Redis list.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-------------------: | :------: |
| list | List | STRING | The name of the list. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "List Length",
"name" : "listLength",
"parameters" : {
"list" : ""
},
"type" : "redis/v1/listLength"
}
```
#### Output [#output-5]
Type: INTEGER
### Pop [#pop]
Name: pop
`Pops data from a Redis list.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :------: | :-----------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------: | :------: |
| list | List | STRING | The name of the list. | true |
| fromTail | Pop from Tail | BOOLEAN Options true , false | If true, pops from the end of the list. If false, pops from the beginning. | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Pop",
"name" : "pop",
"parameters" : {
"list" : "",
"fromTail" : false
},
"type" : "redis/v1/pop"
}
```
#### Output [#output-6]
Type: STRING
### Publish [#publish]
Name: publish
`Publishes a message to a Redis channel.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :----: | :------------------------------------: | :------: |
| channel | Channel | STRING | The channel to publish the message to. | true |
| message | Message | STRING | The message to publish. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Publish",
"name" : "publish",
"parameters" : {
"channel" : "",
"message" : ""
},
"type" : "redis/v1/publish"
}
```
#### Output [#output-7]
Type: INTEGER
### Push [#push]
Name: push
`Pushes data to a Redis list.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :------: | :----------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------: | :------: |
| list | List | STRING | The name of the list. | true |
| value | Value | STRING | The value to push to the list. | true |
| fromTail | Push to Tail | BOOLEAN Options true , false | If true, pushes to the end of the list. If false, pushes to the beginning. | false |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Push",
"name" : "push",
"parameters" : {
"list" : "",
"value" : "",
"fromTail" : false
},
"type" : "redis/v1/push"
}
```
#### Output [#output-8]
Type: INTEGER
### Set [#set]
Name: set
`Sets the value of a key in Redis.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :----: | :-----------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------: | :------: |
| key | Key | STRING | The key to set. | true |
| value | Value | STRING | The value to store. | true |
| expire | Expire | BOOLEAN Options true , false | Whether to set an expiration time on the key. | false |
| ttl | TTL (seconds) | INTEGER | Time to live in seconds. Only used when Expire is true. | false |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Set",
"name" : "set",
"parameters" : {
"key" : "",
"value" : "",
"expire" : false,
"ttl" : 1
},
"type" : "redis/v1/set"
}
```
#### Output [#output-9]
Type: BOOLEAN
# ByteChef Reference: Request
URL: /reference/components/request_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/request_v1.mdx
Send an HTTP request from your application to a designated integration and workflow, with the option to receive a synchronous response.
Categories: Helpers
Type: request/v1
## Triggers [#triggers]
### Auto Respond with HTTP 200 Status [#auto-respond-with-http-200-status]
Name: autoRespondWithHTTP200
`The request trigger always replies immediately with an HTTP 200 status code in response to any incoming workflow request request. This guarantees execution of the request trigger, but does not involve any validation of the received request.`
Type: STATIC\_WEBHOOK
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "Auto Respond with HTTP 200 Status",
"name" : "autoRespondWithHTTP200",
"type" : "request/v1/autoRespondWithHTTP200"
}
```
### Await Workflow and Respond [#await-workflow-and-respond]
Name: awaitWorkflowAndRespond
`You have the flexibility to set up your preferred response. After a workflow request is received, the request trigger enters a waiting state for the workflow's response.`
Type: STATIC\_WEBHOOK
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----: | :----------: | :-----: | :-----------------------------------------------------------------------------------------------------------------------------: | :------: |
| timeout | Timeout (ms) | INTEGER | The incoming request will time out after the specified number of milliseconds. The max wait time before a timeout is 5 minutes. | false |
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-1]
```json
{
"label" : "Await Workflow and Respond",
"name" : "awaitWorkflowAndRespond",
"parameters" : {
"timeout" : 1
},
"type" : "request/v1/awaitWorkflowAndRespond"
}
```
# ByteChef Reference: Resend
URL: /reference/components/resend_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/resend_v1.mdx
Resend is the email API for developers.
Categories: Marketing Automation
Type: resend/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| token | API Key | STRING | | true |
## Connection Setup [#connection-setup]
Connect Resend to ByteChef using an API key.
### Create a Resend API key [#create-a-resend-api-key]
1. Log in to your [Resend account](https://resend.com/).
2. Go to **API Keys**: [https://resend.com/api-keys](https://resend.com/api-keys)
3. Click **+ Create API Key**.
4. Give the key a descriptive name (for example, `ByteChef Integration`), choose the appropriate permission, and (optionally) limit it to a specific domain. Click **Add**.
5. Copy the generated API key.
## Actions [#actions]
### Send Email [#send-email]
Name: sendEmail
`Send an email`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :-------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| from | From | STRING | Sender email address. | true |
| to | To | ARRAY Items \[STRING(\$email)] | Recipients email addresses. | true |
| subject | Subject | STRING | Email subject. | true |
| bcc | Bcc | ARRAY Items \[STRING(\$email)] | Bcc recipients email addresses. | false |
| cc | Cc | ARRAY Items \[STRING(\$email)] | Cc recipients email addresses. | false |
| reply\_to | Reply To | ARRAY Items \[STRING(\$email)] | Reply-to email addresses. | false |
| contentType | Content Type | STRING Options HTML , TEXT | | true |
| html | HTML | STRING | The HTML version of the message. | false |
| text | Text | STRING | The plain text version of the message. | false |
| headers | Headers | OBJECT Properties \{} | Custom headers to add to the email. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | A list of attachments to send with the email. | false |
| tags | | ARRAY Items \[\{STRING(name), STRING(value)}] | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send Email",
"name" : "sendEmail",
"parameters" : {
"from" : "",
"to" : [ "" ],
"subject" : "",
"bcc" : [ "" ],
"cc" : [ "" ],
"reply_to" : [ "" ],
"contentType" : "",
"html" : "",
"text" : "",
"headers" : { },
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ],
"tags" : [ {
"name" : "",
"value" : ""
} ]
},
"type" : "resend/v1/sendEmail"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :----: | :--------------: |
| id | STRING | ID of the email. |
#### Output Example [#output-example]
```json
{
"id" : ""
}
```
## Triggers [#triggers]
### Email Delivered [#email-delivered]
Name: emailDelivered
`Triggers whenever Resend successfully delivers the email to the recipient's mail server.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :---------: | :--------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------: |
| data | OBJECT Properties \{STRING(created\_at), STRING(email\_id), STRING(from), STRING(subject), \[STRING]\(to)} | |
| created\_at | STRING | ISO 8601 timestamp when the webhook event was created. |
| type | STRING | The event type that triggered the webhook. |
#### JSON Example [#json-example]
```json
{
"label" : "Email Delivered",
"name" : "emailDelivered",
"type" : "resend/v1/emailDelivered"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Retable
URL: /reference/components/retable_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/retable_v1.mdx
Retable is a online database and spreadsheet platform designed for teams and individuals who want to organize, manage, and collaborate on structured data.
Categories: Productivity and Collaboration
Type: retable/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | API key | STRING | | true |
## Actions [#actions]
### Delete Row [#delete-row]
Name: deleteRow
`Delete a row.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :-----------------------------------------------------------------------: | :-----------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace. | true |
| project\_id | Project ID | STRING Depends On workspace\_id | ID of the project. | true |
| retable\_id | Retable ID | STRING Depends On project\_id | ID of the retable. | true |
| row\_ids | Rows IDs | ARRAY Items \[INTEGER] | ID of the rows to delete. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Row",
"name" : "deleteRow",
"parameters" : {
"workspace_id" : "",
"project_id" : "",
"retable_id" : "",
"row_ids" : [ 1 ]
},
"type" : "retable/v1/deleteRow"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{INTEGER(deleted\_row\_count)} | |
#### Output Example [#output-example]
```json
{
"data" : {
"deleted_row_count" : 1
}
}
```
### Insert Row [#insert-row]
Name: insertRow
`Insert a row.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :----------------------------------------------------------------------------------: | :------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace. | true |
| project\_id | Project ID | STRING Depends On workspace\_id | ID of the project. | true |
| retable\_id | Retable ID | STRING Depends On project\_id | ID of the retable. | true |
| row\_ids | | DYNAMIC\_PROPERTIES Depends On retable\_id | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Insert Row",
"name" : "insertRow",
"parameters" : {
"workspace_id" : "",
"project_id" : "",
"retable_id" : "",
"row_ids" : { }
},
"type" : "retable/v1/insertRow"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{\[INTEGER($row_id), STRING\($created\_at), STRING($updated_at), {STRING\(id), STRING\(name), STRING\(surname), STRING\(email)}\($created\_by), \{STRING(id), STRING(name), STRING(surname), STRING(email)}($updated_by), [STRING\($column\_id), STRING($title), STRING\($cell\_value)]\(\$columns)]\(rows)} | |
#### Output Example [#output-example-1]
```json
{
"data" : {
"rows" : [ 1, "", "", {
"id" : "",
"name" : "",
"surname" : "",
"email" : ""
}, {
"id" : "",
"name" : "",
"surname" : "",
"email" : ""
}, [ "", "", "" ] ]
}
}
```
### Update Row [#update-row]
Name: updateRow
`Update a row.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :----------------------------------------------------------------------------------: | :----------------------: | :------: |
| workspace\_id | Workspace ID | STRING | ID of the workspace. | true |
| project\_id | Project ID | STRING Depends On workspace\_id | ID of the project. | true |
| retable\_id | Retable ID | STRING Depends On project\_id | ID of the retable. | true |
| row\_id | Row ID | INTEGER | ID of the row to update. | true |
| row\_ids | | DYNAMIC\_PROPERTIES Depends On retable\_id | | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Update Row",
"name" : "updateRow",
"parameters" : {
"workspace_id" : "",
"project_id" : "",
"retable_id" : "",
"row_id" : 1,
"row_ids" : { }
},
"type" : "retable/v1/updateRow"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :--------------------------------------------------------------: | :---------: |
| data | ARRAY Items \[INTEGER] | Row IDs. |
#### Output Example [#output-example-2]
```json
{
"data" : [ 1 ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Rocket.Chat
URL: /reference/components/rocketchat_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/rocketchat_v1.mdx
Rocket.Chat is a communication platform that enables team collaboration through messaging, audio/video calls, and integrations, all customizable and self-hostable.
Categories: Communication
Type: rocketchat/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :--------: | :----: | :---------: | :------: |
| domain | Domain | STRING | | true |
| X-Auth-Token | Auth Token | STRING | | true |
| X-User-Id | User ID | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to your dashboard.
2. Go to your account and click on **Profile**.
3. Click on **Personal Access Tokens**.
4. Enter the token name and click **Add**.
5. Copy the token and user Id and use it in ByteChef.
## Actions [#actions]
### Send Direct Message [#send-direct-message]
Name: sendDirectMessage
`Send messages to users on your workspace.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :------: | :----: | :-------------------------------------: | :------: |
| roomId | Username | STRING | Username to send the direct message to. | true |
| text | Message | STRING | The message to send. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send Direct Message",
"name" : "sendDirectMessage",
"parameters" : {
"roomId" : "",
"text" : ""
},
"type" : "rocketchat/v1/sendDirectMessage"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| ts | INTEGER | |
| channel | STRING | |
| message | OBJECT Properties \{STRING(alias), STRING(msg), \[]\(attachments), BOOLEAN(parseUrls), BOOLEAN(groupable), STRING(ts), \{STRING(\_id), STRING(username), STRING(name)}(u), STRING(rid), STRING(\_id), STRING(\_updateAt), \[]\(urls), \[]\(mentions), \[]\(channels), \[]\(md)} | |
| success | BOOLEAN Options true , false | |
#### Output Example [#output-example]
```json
{
"ts" : 1,
"channel" : "",
"message" : {
"alias" : "",
"msg" : "",
"attachments" : [ ],
"parseUrls" : false,
"groupable" : false,
"ts" : "",
"u" : {
"_id" : "",
"username" : "",
"name" : ""
},
"rid" : "",
"_id" : "",
"_updateAt" : "",
"urls" : [ ],
"mentions" : [ ],
"channels" : [ ],
"md" : [ ]
},
"success" : false
}
```
### Send Channel Message [#send-channel-message]
Name: sendChannelMessage
`Send messages to channel on your workspace.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :----------: | :----: | :----------------------------------------------------------: | :------: |
| roomId | Channel Name | STRING | Channel name to send the message to. Must have the # prefix. | true |
| text | Message | STRING | The message to send. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send Channel Message",
"name" : "sendChannelMessage",
"parameters" : {
"roomId" : "",
"text" : ""
},
"type" : "rocketchat/v1/sendChannelMessage"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| ts | INTEGER | |
| channel | STRING | |
| message | OBJECT Properties \{STRING(alias), STRING(msg), \[]\(attachments), BOOLEAN(parseUrls), BOOLEAN(groupable), STRING(ts), \{STRING(\_id), STRING(username), STRING(name)}(u), STRING(rid), STRING(\_id), STRING(\_updateAt), \[]\(urls), \[]\(mentions), \[]\(channels), \[]\(md)} | |
| success | BOOLEAN Options true , false | |
#### Output Example [#output-example-1]
```json
{
"ts" : 1,
"channel" : "",
"message" : {
"alias" : "",
"msg" : "",
"attachments" : [ ],
"parseUrls" : false,
"groupable" : false,
"ts" : "",
"u" : {
"_id" : "",
"username" : "",
"name" : ""
},
"rid" : "",
"_id" : "",
"_updateAt" : "",
"urls" : [ ],
"mentions" : [ ],
"channels" : [ ],
"md" : [ ]
},
"success" : false
}
```
### Create Channel [#create-channel]
Name: createChannel
`Create a public channel.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: | :------: |
| name | Channel Name | STRING | The name of the channel. | true |
| members | Members | ARRAY Items \[STRING] | An array of the users to be added to the channel when it is created. | false |
| readOnly | Read Only | BOOLEAN Options true , false | Whether the channel is read only. | false |
| excludeSelf | Exclude Self | BOOLEAN Options true , false | If set to true, the user calling the endpoint is not automatically added as a member of the channel. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Channel",
"name" : "createChannel",
"parameters" : {
"name" : "",
"members" : [ "" ],
"readOnly" : false,
"excludeSelf" : false
},
"type" : "rocketchat/v1/createChannel"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| channel | OBJECT Properties \{STRING(\_id), STRING(fname), STRING(\_updateAt), \{}(customFields), STRING(name), STRING(t), INTEGER(msgs), INTEGER(usersCount), \{STRING(\_id), STRING(username), STRING(name)}(u), STRING(ts), BOOLEAN(ro), BOOLEAN(default), BOOLEAN(sysMes)} | |
| success | BOOLEAN Options true , false | |
#### Output Example [#output-example-2]
```json
{
"channel" : {
"_id" : "",
"fname" : "",
"_updateAt" : "",
"customFields" : { },
"name" : "",
"t" : "",
"msgs" : 1,
"usersCount" : 1,
"u" : {
"_id" : "",
"username" : "",
"name" : ""
},
"ts" : "",
"ro" : false,
"default" : false,
"sysMes" : false
},
"success" : false
}
```
## Triggers [#triggers]
### New Message [#new-message]
Name: newMessage
`Trigger off whenever a new message is posted to any public channel, private group or direct messages.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-3]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Message",
"name" : "newMessage",
"type" : "rocketchat/v1/newMessage"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: RSS
URL: /reference/components/rss_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/rss_v1.mdx
RSS.app is a web-based tool that helps you create, customize, and manage RSS feeds-even from websites that don’t provide them natively.
Categories: Social Media
Type: rss/v1
## Connections [#connections]
Version: 1
### bearer\_token [#bearer_token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :------------------------------------------------------: | :------: |
| apiKey | API Key | STRING | Your API key can be found in Account Settings -> API. | true |
| apiSecret | API Secret | STRING | Your API secret can be found in Account Settings -> API. | true |
## Connection Setup [#connection-setup]
### Setup webhook [#setup-webhook]
1. Create ByteChef workflow with RSS trigger.
2. Click this icon to publish the project.
3. Click on **Publish**.
4. Click this icon to go to Project Deployments.
5. Click on **Create Deployment**.
6. Click on **Select...** and select your RSS project and desired version.
7. Click on **Next**.
8. Enable workflow.
9. Choose connection.
10. Click on **Save**.
11. Enable deployment.
12. Click here to expand the deployment.
13. Click this icon to copy webhook URL.
14. Navigate to [RSS app](https://rss.app/).
15. Click on **MY FEEDS**.
16. Click this icon.
17. Click on **Webhooks**.
18. Click **New Webhook** button.
19. Enter copied webhook URL.
20. Click on **Add Webhook**.
21. Click on **Select Feed or Bundle**.
22. Select desired feed.
23. Click on **Save**.
24. Click on **Send Test**.
## Actions [#actions]
### Create Feed [#create-feed]
Name: createFeed
`Creates feed from website by using website URL.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------------------------------------------------------------------: | :------: |
| url | Url | STRING | A valid Website URL is required (example: [https://bbc.com](https://bbc.com)). | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Feed",
"name" : "createFeed",
"parameters" : {
"url" : ""
},
"type" : "rss/v1/createFeed"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
| id | STRING | Unique ID of the RSS feed. |
| title | STRING | Title of the RSS feed. |
| rss\_feed\_url | STRING | Direct URL to the RSS XML feed. |
| source\_url | STRING | Original source URL for the content. |
| description | STRING | Description of the RSS feed. |
| items | ARRAY Items \[\{STRING(url), STRING(title), STRING(description\_text), STRING(description\_html), STRING(thumbnail), STRING(date\_published), \[STRING]\(authors)}] | List of items in the RSS feed. |
#### Output Example [#output-example]
```json
{
"id" : "",
"title" : "",
"rss_feed_url" : "",
"source_url" : "",
"description" : "",
"items" : [ {
"url" : "",
"title" : "",
"description_text" : "",
"description_html" : "",
"thumbnail" : "",
"date_published" : "",
"authors" : [ "" ]
} ]
}
```
## Triggers [#triggers]
### New Item in Feed [#new-item-in-feed]
Name: newItemInFeed
`Triggers when a new item is added to the feed.`
Type: STATIC\_WEBHOOK
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------: |
| id | STRING | Event ID. |
| type | STRING | Type of the event. |
| feed | OBJECT Properties \{STRING(id), STRING(title), STRING(source\_url), STRING(rss\_feed\_url), STRING(description), STRING(icon)} | Feed object. |
| data | OBJECT Properties \{\[\{STRING(url), STRING(title), STRING(description\_text), STRING(thumbnail), STRING(date\_published), \[STRING($author)]\(authors)}]\(items_new), [{STRING\(url), STRING\(title), STRING\(description_text), STRING\(thumbnail), STRING\(date_published), [STRING\($author)]\(authors)}]\(items\_changed)} | Feed data. |
#### JSON Example [#json-example]
```json
{
"label" : "New Item in Feed",
"name" : "newItemInFeed",
"type" : "rss/v1/newItemInFeed"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: S3 Vector Store
URL: /reference/components/s3_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/s3_v1.mdx
Amazon S3 Vector Store uses AWS S3 as a persistent storage backend for vector embeddings, enabling scalable and durable similarity search.
Categories: Artificial Intelligence
Type: s3VectorStore/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :------: |
| accessKeyId | Access Key ID | STRING | AWS access key ID for authentication. | true |
| secretAccessKey | Secret Access Key | STRING | AWS secret access key for authentication. | true |
| region | Region | STRING Options us-east-1 , us-east-2 , us-west-1 , us-west-2 , ca-central-1 , ap-east-1 , ap-south-1 , ap-south-2 , ap-northeast-3 , ap-northeast-2 , ap-southeast-1 , ap-southeast-2 , ap-southeast-3 , ap-southeast-4 , ap-northeast-1 , me-south-1 , me-central-1 , eu-central-1 , eu-central-2 , eu-west-1 , eu-west-2 , eu-south-1 , eu-south-2 , eu-west-3 , eu-north-1 , af-south-1 , sa-east-1 , cn-north-1 , cn-northwest-1 | AWS region where the S3 bucket is located. | true |
| bucketName | Bucket Name | STRING | The name of the S3 bucket where the vector store data is persisted. | true |
| key | Key | STRING | The S3 object key (file path) used to store the vector store JSON data. | true |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "s3VectorStore/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "s3VectorStore/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "s3VectorStore/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "s3VectorStore/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Salesflare
URL: /reference/components/salesflare_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/salesflare_v1.mdx
Salesflare is a CRM software designed to help small businesses and startups manage their customer relationships efficiently.
Categories: CRM
Type: salesflare/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Actions [#actions]
### Create Account [#create-account]
Name: createAccount
`Creates new account.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :-------------------------------------------------------------: | :-----------------: | :------: |
| name | Name | STRING | Account name | true |
| website | Website | STRING | Account website | false |
| description | Description | STRING | Account description | false |
| email | Email | STRING | | false |
| phone\_number | Phone Number | STRING | | false |
| social\_profiles | Social Profiles | ARRAY Items \[STRING] | Social profile URL | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Account",
"name" : "createAccount",
"parameters" : {
"name" : "",
"website" : "",
"description" : "",
"email" : "",
"phone_number" : "",
"social_profiles" : [ "" ]
},
"type" : "salesflare/v1/createAccount"
}
```
#### Output [#output]
This action does not produce any output.
### Create Contacts [#create-contacts]
Name: createContacts
`Creates new contacts.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-------: | :------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| \_\_items | Contacts | ARRAY Items \[\{STRING(email), STRING(firstname), STRING(lastname), STRING(phone\_number), STRING(mobile\_phone\_number), STRING(home\_phone\_number), STRING(fax\_number), \[STRING]\(social\_profiles)}] | | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Contacts",
"name" : "createContacts",
"parameters" : {
"__items" : [ {
"email" : "",
"firstname" : "",
"lastname" : "",
"phone_number" : "",
"mobile_phone_number" : "",
"home_phone_number" : "",
"fax_number" : "",
"social_profiles" : [ "" ]
} ]
},
"type" : "salesflare/v1/createContacts"
}
```
#### Output [#output-1]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :--: | :-----: | :----------------: |
| id | INTEGER | ID of the contact. |
#### Output Example [#output-example]
```json
[ {
"id" : 1
} ]
```
### Create Tasks [#create-tasks]
Name: createTasks
`Creates new tasks.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-------: | :---: | :---------------------------------------------------------------------------------------------------: | :---------: | :------: |
| \_\_items | Tasks | ARRAY Items \[\{STRING(description), DATE(reminder\_date)}] | | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Tasks",
"name" : "createTasks",
"parameters" : {
"__items" : [ {
"description" : "",
"reminder_date" : "2021-01-01"
} ]
},
"type" : "salesflare/v1/createTasks"
}
```
#### Output [#output-2]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :--: | :-----: | :-------------: |
| id | INTEGER | ID of the task. |
#### Output Example [#output-example-1]
```json
[ {
"id" : 1
} ]
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Salesforce
URL: /reference/components/salesforce_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/salesforce_v1.mdx
Salesforce is a cloud-based customer relationship management (CRM) platform that provides tools for sales, service, marketing, and analytics to help businesses manage customer interactions and data.
Categories: CRM
Type: salesforce/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :----------------------------------------: | :------: |
| subdomain | Subdomain | STRING | The subdomain of your Salesforce instance. | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Actions [#actions]
### Create Record [#create-record]
Name: createRecord
`Creates a new record of a specified Salesforce object.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :---------------: | :-----------------------------------------------------------------------------: | :---------: | :------: |
| object | Salesforce Object | STRING | | true |
| fields | | DYNAMIC\_PROPERTIES Depends On object | | true |
| customFields | Custom Fields | OBJECT Properties \{} | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Record",
"name" : "createRecord",
"parameters" : {
"object" : "",
"fields" : { },
"customFields" : { }
},
"type" : "salesforce/v1/createRecord"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :----: | :-----------------------: |
| id | STRING | ID of the created record. |
#### Output Example [#output-example]
```json
{
"id" : ""
}
```
### Delete Record [#delete-record]
Name: deleteRecord
`Deletes an existing record of a specified Salesforce object.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :---------------: | :----------------------------------------------------------------: | :-------------------------: | :------: |
| object | Salesforce Object | STRING | | true |
| id | Record ID | STRING Depends On object | ID of the object to delete. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Record",
"name" : "deleteRecord",
"parameters" : {
"object" : "",
"id" : ""
},
"type" : "salesforce/v1/deleteRecord"
}
```
#### Output [#output-1]
This action does not produce any output.
### SOQL Query [#soql-query]
Name: soqlQuery
`Executes a raw SOQL query to extract data from Salesforce.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :--------------------: | :------: |
| q | Query | STRING | SOQL query to execute. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "SOQL Query",
"name" : "soqlQuery",
"parameters" : {
"q" : ""
},
"type" : "salesforce/v1/soqlQuery"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Record [#update-record]
Name: updateRecord
`Updates an existing record for a specified Salesforce object.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------: | :---------------: | :-----------------------------------------------------------------------------: | :-------------------------: | :------: |
| object | Salesforce Object | STRING | | true |
| id | Record ID | STRING Depends On object | ID of the record to update. | true |
| fields | | DYNAMIC\_PROPERTIES Depends On object | | true |
| customFields | Custom Fields | OBJECT Properties \{} | | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Record",
"name" : "updateRecord",
"parameters" : {
"object" : "",
"id" : "",
"fields" : { },
"customFields" : { }
},
"type" : "salesforce/v1/updateRecord"
}
```
#### Output [#output-3]
This action does not produce any output.
## Triggers [#triggers]
### New Record [#new-record]
Name: newRecord
`Triggers when there is new record in Salesforce.`
Type: POLLING
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :----: | :---------------: | :----: | :---------: | :------: |
| object | Salesforce Object | STRING | | true |
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Record",
"name" : "newRecord",
"parameters" : {
"object" : ""
},
"type" : "salesforce/v1/newRecord"
}
```
### Updated Record [#updated-record]
Name: updatedRecord
`Triggers when record is updated.`
Type: POLLING
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----: | :---------------: | :----: | :---------: | :------: |
| object | Salesforce Object | STRING | | true |
#### Output [#output-5]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-1]
```json
{
"label" : "Updated Record",
"name" : "updatedRecord",
"parameters" : {
"object" : ""
},
"type" : "salesforce/v1/updatedRecord"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Sanitize Text
URL: /reference/components/sanitizeText_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/sanitizeText_v1.mdx
Runs configured sanitizers on the model response.
Categories: Artificial Intelligence
Type: sanitizeText/v1
# ByteChef Reference: Schedule
URL: /reference/components/schedule_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/schedule_v1.mdx
Start workflows automatically on a recurring schedule. Choose daily, weekly, monthly, interval-based, or cron-based triggers.
Categories: Helpers
Type: schedule/v1
## Triggers [#triggers]
### Every Day [#every-day]
Name: everyDay
`Runs the workflow at a set time every day, or only on selected days of the week.`
Type: LISTENER
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------: | :----------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| hour | Hour | INTEGER | The hour (0-23) when the workflow runs. | true |
| minute | Minute | INTEGER | The minute (0-59) when the workflow runs. | true |
| dayOfWeek | Days of Week | ARRAY Items \[INTEGER] | The days of the week when the workflow runs. | true |
| timezone | Timezone | STRING Options Africa/Abidjan , Africa/Accra , Africa/Addis\_Ababa , Africa/Algiers , Africa/Asmara , Africa/Asmera , Africa/Bamako , Africa/Bangui , Africa/Banjul , Africa/Bissau , Africa/Blantyre , Africa/Brazzaville , Africa/Bujumbura , Africa/Cairo , Africa/Casablanca , Africa/Ceuta , Africa/Conakry , Africa/Dakar , Africa/Dar\_es\_Salaam , Africa/Djibouti , Africa/Douala , Africa/El\_Aaiun , Africa/Freetown , Africa/Gaborone , Africa/Harare , Africa/Johannesburg , Africa/Juba , Africa/Kampala , Africa/Khartoum , Africa/Kigali , Africa/Kinshasa , Africa/Lagos , Africa/Libreville , Africa/Lome , Africa/Luanda , Africa/Lubumbashi , Africa/Lusaka , Africa/Malabo , Africa/Maputo , Africa/Maseru , Africa/Mbabane , Africa/Mogadishu , Africa/Monrovia , Africa/Nairobi , Africa/Ndjamena , Africa/Niamey , Africa/Nouakchott , Africa/Ouagadougou , Africa/Porto-Novo , Africa/Sao\_Tome , Africa/Timbuktu , Africa/Tripoli , Africa/Tunis , Africa/Windhoek , America/Adak , America/Anchorage , America/Anguilla , America/Antigua , America/Araguaina , America/Argentina/Buenos\_Aires , America/Argentina/Catamarca , America/Argentina/ComodRivadavia , America/Argentina/Cordoba , America/Argentina/Jujuy , America/Argentina/La\_Rioja , America/Argentina/Mendoza , America/Argentina/Rio\_Gallegos , America/Argentina/Salta , America/Argentina/San\_Juan , America/Argentina/San\_Luis , America/Argentina/Tucuman , America/Argentina/Ushuaia , America/Aruba , America/Asuncion , America/Atikokan , America/Atka , America/Bahia , America/Bahia\_Banderas , America/Barbados , America/Belem , America/Belize , America/Blanc-Sablon , America/Boa\_Vista , America/Bogota , America/Boise , America/Buenos\_Aires , America/Cambridge\_Bay , America/Campo\_Grande , America/Cancun , America/Caracas , America/Catamarca , America/Cayenne , America/Cayman , America/Chicago , America/Chihuahua , America/Ciudad\_Juarez , America/Coral\_Harbour , America/Cordoba , America/Costa\_Rica , America/Coyhaique , America/Creston , America/Cuiaba , America/Curacao , America/Danmarkshavn , America/Dawson , America/Dawson\_Creek , America/Denver , America/Detroit , America/Dominica , America/Edmonton , America/Eirunepe , America/El\_Salvador , America/Ensenada , America/Fort\_Nelson , America/Fort\_Wayne , America/Fortaleza , America/Glace\_Bay , America/Godthab , America/Goose\_Bay , America/Grand\_Turk , America/Grenada , America/Guadeloupe , America/Guatemala , America/Guayaquil , America/Guyana , America/Halifax , America/Havana , America/Hermosillo , America/Indiana/Indianapolis , America/Indiana/Knox , America/Indiana/Marengo , America/Indiana/Petersburg , America/Indiana/Tell\_City , America/Indiana/Vevay , America/Indiana/Vincennes , America/Indiana/Winamac , America/Indianapolis , America/Inuvik , America/Iqaluit , America/Jamaica , America/Jujuy , America/Juneau , America/Kentucky/Louisville , America/Kentucky/Monticello , America/Knox\_IN , America/Kralendijk , America/La\_Paz , America/Lima , America/Los\_Angeles , America/Louisville , America/Lower\_Princes , America/Maceio , America/Managua , America/Manaus , America/Marigot , America/Martinique , America/Matamoros , America/Mazatlan , America/Mendoza , America/Menominee , America/Merida , America/Metlakatla , America/Mexico\_City , America/Miquelon , America/Moncton , America/Monterrey , America/Montevideo , America/Montreal , America/Montserrat , America/Nassau , America/New\_York , America/Nipigon , America/Nome , America/Noronha , America/North\_Dakota/Beulah , America/North\_Dakota/Center , America/North\_Dakota/New\_Salem , America/Nuuk , America/Ojinaga , America/Panama , America/Pangnirtung , America/Paramaribo , America/Phoenix , America/Port-au-Prince , America/Port\_of\_Spain , America/Porto\_Acre , America/Porto\_Velho , America/Puerto\_Rico , America/Punta\_Arenas , America/Rainy\_River , America/Rankin\_Inlet , America/Recife , America/Regina , America/Resolute , America/Rio\_Branco , America/Rosario , America/Santa\_Isabel , America/Santarem , America/Santiago , America/Santo\_Domingo , America/Sao\_Paulo , America/Scoresbysund , America/Shiprock , America/Sitka , America/St\_Barthelemy , America/St\_Johns , America/St\_Kitts , America/St\_Lucia , America/St\_Thomas , America/St\_Vincent , America/Swift\_Current , America/Tegucigalpa , America/Thule , America/Thunder\_Bay , America/Tijuana , America/Toronto , America/Tortola , America/Vancouver , America/Virgin , America/Whitehorse , America/Winnipeg , America/Yakutat , America/Yellowknife , Antarctica/Casey , Antarctica/Davis , Antarctica/DumontDUrville , Antarctica/Macquarie , Antarctica/Mawson , Antarctica/McMurdo , Antarctica/Palmer , Antarctica/Rothera , Antarctica/South\_Pole , Antarctica/Syowa , Antarctica/Troll , Antarctica/Vostok , Arctic/Longyearbyen , Asia/Aden , Asia/Almaty , Asia/Amman , Asia/Anadyr , Asia/Aqtau , Asia/Aqtobe , Asia/Ashgabat , Asia/Ashkhabad , Asia/Atyrau , Asia/Baghdad , Asia/Bahrain , Asia/Baku , Asia/Bangkok , Asia/Barnaul , Asia/Beirut , Asia/Bishkek , Asia/Brunei , Asia/Calcutta , Asia/Chita , Asia/Choibalsan , Asia/Chongqing , Asia/Chungking , Asia/Colombo , Asia/Dacca , Asia/Damascus , Asia/Dhaka , Asia/Dili , Asia/Dubai , Asia/Dushanbe , Asia/Famagusta , Asia/Gaza , Asia/Harbin , Asia/Hebron , Asia/Ho\_Chi\_Minh , Asia/Hong\_Kong , Asia/Hovd , Asia/Irkutsk , Asia/Istanbul , Asia/Jakarta , Asia/Jayapura , Asia/Jerusalem , Asia/Kabul , Asia/Kamchatka , Asia/Karachi , Asia/Kashgar , Asia/Kathmandu , Asia/Katmandu , Asia/Khandyga , Asia/Kolkata , Asia/Krasnoyarsk , Asia/Kuala\_Lumpur , Asia/Kuching , Asia/Kuwait , Asia/Macao , Asia/Macau , Asia/Magadan , Asia/Makassar , Asia/Manila , Asia/Muscat , Asia/Nicosia , Asia/Novokuznetsk , Asia/Novosibirsk , Asia/Omsk , Asia/Oral , Asia/Phnom\_Penh , Asia/Pontianak , Asia/Pyongyang , Asia/Qatar , Asia/Qostanay , Asia/Qyzylorda , Asia/Rangoon , Asia/Riyadh , Asia/Saigon , Asia/Sakhalin , Asia/Samarkand , Asia/Seoul , Asia/Shanghai , Asia/Singapore , Asia/Srednekolymsk , Asia/Taipei , Asia/Tashkent , Asia/Tbilisi , Asia/Tehran , Asia/Tel\_Aviv , Asia/Thimbu , Asia/Thimphu , Asia/Tokyo , Asia/Tomsk , Asia/Ujung\_Pandang , Asia/Ulaanbaatar , Asia/Ulan\_Bator , Asia/Urumqi , Asia/Ust-Nera , Asia/Vientiane , Asia/Vladivostok , Asia/Yakutsk , Asia/Yangon , Asia/Yekaterinburg , Asia/Yerevan , Atlantic/Azores , Atlantic/Bermuda , Atlantic/Canary , Atlantic/Cape\_Verde , Atlantic/Faeroe , Atlantic/Faroe , Atlantic/Jan\_Mayen , Atlantic/Madeira , Atlantic/Reykjavik , Atlantic/South\_Georgia , Atlantic/St\_Helena , Atlantic/Stanley , Australia/ACT , Australia/Adelaide , Australia/Brisbane , Australia/Broken\_Hill , Australia/Canberra , Australia/Currie , Australia/Darwin , Australia/Eucla , Australia/Hobart , Australia/LHI , Australia/Lindeman , Australia/Lord\_Howe , Australia/Melbourne , Australia/NSW , Australia/North , Australia/Perth , Australia/Queensland , Australia/South , Australia/Sydney , Australia/Tasmania , Australia/Victoria , Australia/West , Australia/Yancowinna , Brazil/Acre , Brazil/DeNoronha , Brazil/East , Brazil/West , CET , CST6CDT , Canada/Atlantic , Canada/Central , Canada/Eastern , Canada/Mountain , Canada/Newfoundland , Canada/Pacific , Canada/Saskatchewan , Canada/Yukon , Chile/Continental , Chile/EasterIsland , Cuba , EET , EST5EDT , Egypt , Eire , Etc/GMT , Etc/GMT+0 , Etc/GMT+1 , Etc/GMT+10 , Etc/GMT+11 , Etc/GMT+12 , Etc/GMT+2 , Etc/GMT+3 , Etc/GMT+4 , Etc/GMT+5 , Etc/GMT+6 , Etc/GMT+7 , Etc/GMT+8 , Etc/GMT+9 , Etc/GMT-0 , Etc/GMT-1 , Etc/GMT-10 , Etc/GMT-11 , Etc/GMT-12 , Etc/GMT-13 , Etc/GMT-14 , Etc/GMT-2 , Etc/GMT-3 , Etc/GMT-4 , Etc/GMT-5 , Etc/GMT-6 , Etc/GMT-7 , Etc/GMT-8 , Etc/GMT-9 , Etc/GMT0 , Etc/Greenwich , Etc/UCT , Etc/UTC , Etc/Universal , Etc/Zulu , Europe/Amsterdam , Europe/Andorra , Europe/Astrakhan , Europe/Athens , Europe/Belfast , Europe/Belgrade , Europe/Berlin , Europe/Bratislava , Europe/Brussels , Europe/Bucharest , Europe/Budapest , Europe/Busingen , Europe/Chisinau , Europe/Copenhagen , Europe/Dublin , Europe/Gibraltar , Europe/Guernsey , Europe/Helsinki , Europe/Isle\_of\_Man , Europe/Istanbul , Europe/Jersey , Europe/Kaliningrad , Europe/Kiev , Europe/Kirov , Europe/Kyiv , Europe/Lisbon , Europe/Ljubljana , Europe/London , Europe/Luxembourg , Europe/Madrid , Europe/Malta , Europe/Mariehamn , Europe/Minsk , Europe/Monaco , Europe/Moscow , Europe/Nicosia , Europe/Oslo , Europe/Paris , Europe/Podgorica , Europe/Prague , Europe/Riga , Europe/Rome , Europe/Samara , Europe/San\_Marino , Europe/Sarajevo , Europe/Saratov , Europe/Simferopol , Europe/Skopje , Europe/Sofia , Europe/Stockholm , Europe/Tallinn , Europe/Tirane , Europe/Tiraspol , Europe/Ulyanovsk , Europe/Uzhgorod , Europe/Vaduz , Europe/Vatican , Europe/Vienna , Europe/Vilnius , Europe/Volgograd , Europe/Warsaw , Europe/Zagreb , Europe/Zaporozhye , Europe/Zurich , GB , GB-Eire , GMT , GMT0 , Greenwich , Hongkong , Iceland , Indian/Antananarivo , Indian/Chagos , Indian/Christmas , Indian/Cocos , Indian/Comoro , Indian/Kerguelen , Indian/Mahe , Indian/Maldives , Indian/Mauritius , Indian/Mayotte , Indian/Reunion , Iran , Israel , Jamaica , Japan , Kwajalein , Libya , MET , MST7MDT , Mexico/BajaNorte , Mexico/BajaSur , Mexico/General , NZ , NZ-CHAT , Navajo , PRC , PST8PDT , Pacific/Apia , Pacific/Auckland , Pacific/Bougainville , Pacific/Chatham , Pacific/Chuuk , Pacific/Easter , Pacific/Efate , Pacific/Enderbury , Pacific/Fakaofo , Pacific/Fiji , Pacific/Funafuti , Pacific/Galapagos , Pacific/Gambier , Pacific/Guadalcanal , Pacific/Guam , Pacific/Honolulu , Pacific/Johnston , Pacific/Kanton , Pacific/Kiritimati , Pacific/Kosrae , Pacific/Kwajalein , Pacific/Majuro , Pacific/Marquesas , Pacific/Midway , Pacific/Nauru , Pacific/Niue , Pacific/Norfolk , Pacific/Noumea , Pacific/Pago\_Pago , Pacific/Palau , Pacific/Pitcairn , Pacific/Pohnpei , Pacific/Ponape , Pacific/Port\_Moresby , Pacific/Rarotonga , Pacific/Saipan , Pacific/Samoa , Pacific/Tahiti , Pacific/Tarawa , Pacific/Tongatapu , Pacific/Truk , Pacific/Wake , Pacific/Wallis , Pacific/Yap , Poland , Portugal , ROK , Singapore , SystemV/AST4 , SystemV/AST4ADT , SystemV/CST6 , SystemV/CST6CDT , SystemV/EST5 , SystemV/EST5EDT , SystemV/HST10 , SystemV/MST7 , SystemV/MST7MDT , SystemV/PST8 , SystemV/PST8PDT , SystemV/YST9 , SystemV/YST9YDT , Turkey , UCT , US/Alaska , US/Aleutian , US/Arizona , US/Central , US/East-Indiana , US/Eastern , US/Hawaii , US/Indiana-Starke , US/Michigan , US/Mountain , US/Pacific , US/Samoa , UTC , Universal , W-SU , WET , Zulu | The time zone used to interpret the schedule. | true |
#### Output [#output]
Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :-------: | :--------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------: |
| fireTime | STRING | The exact date and time when the trigger was activated. |
| dateTime | DATE\_TIME | The date and time when the trigger was activated, formatted according to the specified timezone. |
| hour | INTEGER | The hour of the day (0-23) at which the workflow was set to trigger. |
| minute | INTEGER | The minute of the hour (0-59) at which the workflow was set to trigger. |
| dayOfWeek | ARRAY Items \[INTEGER] | The specific days of the week (represented as integers) on which the workflow was set to trigger. |
| timezone | STRING | The timezone used for scheduling the cron expression, ensuring the trigger fires at the correct local time. |
#### JSON Example [#json-example]
```json
{
"label" : "Every Day",
"name" : "everyDay",
"parameters" : {
"hour" : 1,
"minute" : 1,
"dayOfWeek" : [ 1 ],
"timezone" : ""
},
"type" : "schedule/v1/everyDay"
}
```
### Every Week [#every-week]
Name: everyWeek
`Runs the workflow once each week on a chosen day at a specific time.`
Type: LISTENER
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-------: | :---------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| hour | Hour | INTEGER | The hour (0-23) when the workflow runs. | true |
| minute | Minute | INTEGER | The minute (0-59) when the workflow runs. | true |
| dayOfWeek | Day of Week | INTEGER Options 2 , 3 , 4 , 5 , 6 , 7 , 1 | The day of the week when the workflow runs. | true |
| timezone | Timezone | STRING Options Africa/Abidjan , Africa/Accra , Africa/Addis\_Ababa , Africa/Algiers , Africa/Asmara , Africa/Asmera , Africa/Bamako , Africa/Bangui , Africa/Banjul , Africa/Bissau , Africa/Blantyre , Africa/Brazzaville , Africa/Bujumbura , Africa/Cairo , Africa/Casablanca , Africa/Ceuta , Africa/Conakry , Africa/Dakar , Africa/Dar\_es\_Salaam , Africa/Djibouti , Africa/Douala , Africa/El\_Aaiun , Africa/Freetown , Africa/Gaborone , Africa/Harare , Africa/Johannesburg , Africa/Juba , Africa/Kampala , Africa/Khartoum , Africa/Kigali , Africa/Kinshasa , Africa/Lagos , Africa/Libreville , Africa/Lome , Africa/Luanda , Africa/Lubumbashi , Africa/Lusaka , Africa/Malabo , Africa/Maputo , Africa/Maseru , Africa/Mbabane , Africa/Mogadishu , Africa/Monrovia , Africa/Nairobi , Africa/Ndjamena , Africa/Niamey , Africa/Nouakchott , Africa/Ouagadougou , Africa/Porto-Novo , Africa/Sao\_Tome , Africa/Timbuktu , Africa/Tripoli , Africa/Tunis , Africa/Windhoek , America/Adak , America/Anchorage , America/Anguilla , America/Antigua , America/Araguaina , America/Argentina/Buenos\_Aires , America/Argentina/Catamarca , America/Argentina/ComodRivadavia , America/Argentina/Cordoba , America/Argentina/Jujuy , America/Argentina/La\_Rioja , America/Argentina/Mendoza , America/Argentina/Rio\_Gallegos , America/Argentina/Salta , America/Argentina/San\_Juan , America/Argentina/San\_Luis , America/Argentina/Tucuman , America/Argentina/Ushuaia , America/Aruba , America/Asuncion , America/Atikokan , America/Atka , America/Bahia , America/Bahia\_Banderas , America/Barbados , America/Belem , America/Belize , America/Blanc-Sablon , America/Boa\_Vista , America/Bogota , America/Boise , America/Buenos\_Aires , America/Cambridge\_Bay , America/Campo\_Grande , America/Cancun , America/Caracas , America/Catamarca , America/Cayenne , America/Cayman , America/Chicago , America/Chihuahua , America/Ciudad\_Juarez , America/Coral\_Harbour , America/Cordoba , America/Costa\_Rica , America/Coyhaique , America/Creston , America/Cuiaba , America/Curacao , America/Danmarkshavn , America/Dawson , America/Dawson\_Creek , America/Denver , America/Detroit , America/Dominica , America/Edmonton , America/Eirunepe , America/El\_Salvador , America/Ensenada , America/Fort\_Nelson , America/Fort\_Wayne , America/Fortaleza , America/Glace\_Bay , America/Godthab , America/Goose\_Bay , America/Grand\_Turk , America/Grenada , America/Guadeloupe , America/Guatemala , America/Guayaquil , America/Guyana , America/Halifax , America/Havana , America/Hermosillo , America/Indiana/Indianapolis , America/Indiana/Knox , America/Indiana/Marengo , America/Indiana/Petersburg , America/Indiana/Tell\_City , America/Indiana/Vevay , America/Indiana/Vincennes , America/Indiana/Winamac , America/Indianapolis , America/Inuvik , America/Iqaluit , America/Jamaica , America/Jujuy , America/Juneau , America/Kentucky/Louisville , America/Kentucky/Monticello , America/Knox\_IN , America/Kralendijk , America/La\_Paz , America/Lima , America/Los\_Angeles , America/Louisville , America/Lower\_Princes , America/Maceio , America/Managua , America/Manaus , America/Marigot , America/Martinique , America/Matamoros , America/Mazatlan , America/Mendoza , America/Menominee , America/Merida , America/Metlakatla , America/Mexico\_City , America/Miquelon , America/Moncton , America/Monterrey , America/Montevideo , America/Montreal , America/Montserrat , America/Nassau , America/New\_York , America/Nipigon , America/Nome , America/Noronha , America/North\_Dakota/Beulah , America/North\_Dakota/Center , America/North\_Dakota/New\_Salem , America/Nuuk , America/Ojinaga , America/Panama , America/Pangnirtung , America/Paramaribo , America/Phoenix , America/Port-au-Prince , America/Port\_of\_Spain , America/Porto\_Acre , America/Porto\_Velho , America/Puerto\_Rico , America/Punta\_Arenas , America/Rainy\_River , America/Rankin\_Inlet , America/Recife , America/Regina , America/Resolute , America/Rio\_Branco , America/Rosario , America/Santa\_Isabel , America/Santarem , America/Santiago , America/Santo\_Domingo , America/Sao\_Paulo , America/Scoresbysund , America/Shiprock , America/Sitka , America/St\_Barthelemy , America/St\_Johns , America/St\_Kitts , America/St\_Lucia , America/St\_Thomas , America/St\_Vincent , America/Swift\_Current , America/Tegucigalpa , America/Thule , America/Thunder\_Bay , America/Tijuana , America/Toronto , America/Tortola , America/Vancouver , America/Virgin , America/Whitehorse , America/Winnipeg , America/Yakutat , America/Yellowknife , Antarctica/Casey , Antarctica/Davis , Antarctica/DumontDUrville , Antarctica/Macquarie , Antarctica/Mawson , Antarctica/McMurdo , Antarctica/Palmer , Antarctica/Rothera , Antarctica/South\_Pole , Antarctica/Syowa , Antarctica/Troll , Antarctica/Vostok , Arctic/Longyearbyen , Asia/Aden , Asia/Almaty , Asia/Amman , Asia/Anadyr , Asia/Aqtau , Asia/Aqtobe , Asia/Ashgabat , Asia/Ashkhabad , Asia/Atyrau , Asia/Baghdad , Asia/Bahrain , Asia/Baku , Asia/Bangkok , Asia/Barnaul , Asia/Beirut , Asia/Bishkek , Asia/Brunei , Asia/Calcutta , Asia/Chita , Asia/Choibalsan , Asia/Chongqing , Asia/Chungking , Asia/Colombo , Asia/Dacca , Asia/Damascus , Asia/Dhaka , Asia/Dili , Asia/Dubai , Asia/Dushanbe , Asia/Famagusta , Asia/Gaza , Asia/Harbin , Asia/Hebron , Asia/Ho\_Chi\_Minh , Asia/Hong\_Kong , Asia/Hovd , Asia/Irkutsk , Asia/Istanbul , Asia/Jakarta , Asia/Jayapura , Asia/Jerusalem , Asia/Kabul , Asia/Kamchatka , Asia/Karachi , Asia/Kashgar , Asia/Kathmandu , Asia/Katmandu , Asia/Khandyga , Asia/Kolkata , Asia/Krasnoyarsk , Asia/Kuala\_Lumpur , Asia/Kuching , Asia/Kuwait , Asia/Macao , Asia/Macau , Asia/Magadan , Asia/Makassar , Asia/Manila , Asia/Muscat , Asia/Nicosia , Asia/Novokuznetsk , Asia/Novosibirsk , Asia/Omsk , Asia/Oral , Asia/Phnom\_Penh , Asia/Pontianak , Asia/Pyongyang , Asia/Qatar , Asia/Qostanay , Asia/Qyzylorda , Asia/Rangoon , Asia/Riyadh , Asia/Saigon , Asia/Sakhalin , Asia/Samarkand , Asia/Seoul , Asia/Shanghai , Asia/Singapore , Asia/Srednekolymsk , Asia/Taipei , Asia/Tashkent , Asia/Tbilisi , Asia/Tehran , Asia/Tel\_Aviv , Asia/Thimbu , Asia/Thimphu , Asia/Tokyo , Asia/Tomsk , Asia/Ujung\_Pandang , Asia/Ulaanbaatar , Asia/Ulan\_Bator , Asia/Urumqi , Asia/Ust-Nera , Asia/Vientiane , Asia/Vladivostok , Asia/Yakutsk , Asia/Yangon , Asia/Yekaterinburg , Asia/Yerevan , Atlantic/Azores , Atlantic/Bermuda , Atlantic/Canary , Atlantic/Cape\_Verde , Atlantic/Faeroe , Atlantic/Faroe , Atlantic/Jan\_Mayen , Atlantic/Madeira , Atlantic/Reykjavik , Atlantic/South\_Georgia , Atlantic/St\_Helena , Atlantic/Stanley , Australia/ACT , Australia/Adelaide , Australia/Brisbane , Australia/Broken\_Hill , Australia/Canberra , Australia/Currie , Australia/Darwin , Australia/Eucla , Australia/Hobart , Australia/LHI , Australia/Lindeman , Australia/Lord\_Howe , Australia/Melbourne , Australia/NSW , Australia/North , Australia/Perth , Australia/Queensland , Australia/South , Australia/Sydney , Australia/Tasmania , Australia/Victoria , Australia/West , Australia/Yancowinna , Brazil/Acre , Brazil/DeNoronha , Brazil/East , Brazil/West , CET , CST6CDT , Canada/Atlantic , Canada/Central , Canada/Eastern , Canada/Mountain , Canada/Newfoundland , Canada/Pacific , Canada/Saskatchewan , Canada/Yukon , Chile/Continental , Chile/EasterIsland , Cuba , EET , EST5EDT , Egypt , Eire , Etc/GMT , Etc/GMT+0 , Etc/GMT+1 , Etc/GMT+10 , Etc/GMT+11 , Etc/GMT+12 , Etc/GMT+2 , Etc/GMT+3 , Etc/GMT+4 , Etc/GMT+5 , Etc/GMT+6 , Etc/GMT+7 , Etc/GMT+8 , Etc/GMT+9 , Etc/GMT-0 , Etc/GMT-1 , Etc/GMT-10 , Etc/GMT-11 , Etc/GMT-12 , Etc/GMT-13 , Etc/GMT-14 , Etc/GMT-2 , Etc/GMT-3 , Etc/GMT-4 , Etc/GMT-5 , Etc/GMT-6 , Etc/GMT-7 , Etc/GMT-8 , Etc/GMT-9 , Etc/GMT0 , Etc/Greenwich , Etc/UCT , Etc/UTC , Etc/Universal , Etc/Zulu , Europe/Amsterdam , Europe/Andorra , Europe/Astrakhan , Europe/Athens , Europe/Belfast , Europe/Belgrade , Europe/Berlin , Europe/Bratislava , Europe/Brussels , Europe/Bucharest , Europe/Budapest , Europe/Busingen , Europe/Chisinau , Europe/Copenhagen , Europe/Dublin , Europe/Gibraltar , Europe/Guernsey , Europe/Helsinki , Europe/Isle\_of\_Man , Europe/Istanbul , Europe/Jersey , Europe/Kaliningrad , Europe/Kiev , Europe/Kirov , Europe/Kyiv , Europe/Lisbon , Europe/Ljubljana , Europe/London , Europe/Luxembourg , Europe/Madrid , Europe/Malta , Europe/Mariehamn , Europe/Minsk , Europe/Monaco , Europe/Moscow , Europe/Nicosia , Europe/Oslo , Europe/Paris , Europe/Podgorica , Europe/Prague , Europe/Riga , Europe/Rome , Europe/Samara , Europe/San\_Marino , Europe/Sarajevo , Europe/Saratov , Europe/Simferopol , Europe/Skopje , Europe/Sofia , Europe/Stockholm , Europe/Tallinn , Europe/Tirane , Europe/Tiraspol , Europe/Ulyanovsk , Europe/Uzhgorod , Europe/Vaduz , Europe/Vatican , Europe/Vienna , Europe/Vilnius , Europe/Volgograd , Europe/Warsaw , Europe/Zagreb , Europe/Zaporozhye , Europe/Zurich , GB , GB-Eire , GMT , GMT0 , Greenwich , Hongkong , Iceland , Indian/Antananarivo , Indian/Chagos , Indian/Christmas , Indian/Cocos , Indian/Comoro , Indian/Kerguelen , Indian/Mahe , Indian/Maldives , Indian/Mauritius , Indian/Mayotte , Indian/Reunion , Iran , Israel , Jamaica , Japan , Kwajalein , Libya , MET , MST7MDT , Mexico/BajaNorte , Mexico/BajaSur , Mexico/General , NZ , NZ-CHAT , Navajo , PRC , PST8PDT , Pacific/Apia , Pacific/Auckland , Pacific/Bougainville , Pacific/Chatham , Pacific/Chuuk , Pacific/Easter , Pacific/Efate , Pacific/Enderbury , Pacific/Fakaofo , Pacific/Fiji , Pacific/Funafuti , Pacific/Galapagos , Pacific/Gambier , Pacific/Guadalcanal , Pacific/Guam , Pacific/Honolulu , Pacific/Johnston , Pacific/Kanton , Pacific/Kiritimati , Pacific/Kosrae , Pacific/Kwajalein , Pacific/Majuro , Pacific/Marquesas , Pacific/Midway , Pacific/Nauru , Pacific/Niue , Pacific/Norfolk , Pacific/Noumea , Pacific/Pago\_Pago , Pacific/Palau , Pacific/Pitcairn , Pacific/Pohnpei , Pacific/Ponape , Pacific/Port\_Moresby , Pacific/Rarotonga , Pacific/Saipan , Pacific/Samoa , Pacific/Tahiti , Pacific/Tarawa , Pacific/Tongatapu , Pacific/Truk , Pacific/Wake , Pacific/Wallis , Pacific/Yap , Poland , Portugal , ROK , Singapore , SystemV/AST4 , SystemV/AST4ADT , SystemV/CST6 , SystemV/CST6CDT , SystemV/EST5 , SystemV/EST5EDT , SystemV/HST10 , SystemV/MST7 , SystemV/MST7MDT , SystemV/PST8 , SystemV/PST8PDT , SystemV/YST9 , SystemV/YST9YDT , Turkey , UCT , US/Alaska , US/Aleutian , US/Arizona , US/Central , US/East-Indiana , US/Eastern , US/Hawaii , US/Indiana-Starke , US/Michigan , US/Mountain , US/Pacific , US/Samoa , UTC , Universal , W-SU , WET , Zulu | The time zone used to interpret the schedule. | true |
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :-------: | :--------: | :---------------------------------------------------------------------------------------------------------: |
| fireTime | STRING | The exact date and time when the trigger was activated. |
| dateTime | DATE\_TIME | The date and time when the trigger was activated, formatted according to the specified timezone. |
| hour | INTEGER | The hour of the day (0-23) at which the workflow was set to trigger. |
| minute | INTEGER | The minute of the hour (0-59) at which the workflow was set to trigger. |
| dayOfWeek | INTEGER | The day of the week (represented as integers) on which the workflow was set to trigger. |
| timezone | STRING | The timezone used for scheduling the cron expression, ensuring the trigger fires at the correct local time. |
#### JSON Example [#json-example-1]
```json
{
"label" : "Every Week",
"name" : "everyWeek",
"parameters" : {
"hour" : 1,
"minute" : 1,
"dayOfWeek" : 1,
"timezone" : ""
},
"type" : "schedule/v1/everyWeek"
}
```
### Every Month [#every-month]
Name: everyMonth
`Runs the workflow once each month on a chosen day at a specific time.`
Type: LISTENER
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| hour | Hour | INTEGER | The hour (0-23) when the workflow runs. | true |
| minute | Minute | INTEGER | The minute (0-59) when the workflow runs. | true |
| dayOfMonth | Day of Month | INTEGER | The day of the month (1-31) when the workflow runs. | true |
| timezone | Timezone | STRING Options Africa/Abidjan , Africa/Accra , Africa/Addis\_Ababa , Africa/Algiers , Africa/Asmara , Africa/Asmera , Africa/Bamako , Africa/Bangui , Africa/Banjul , Africa/Bissau , Africa/Blantyre , Africa/Brazzaville , Africa/Bujumbura , Africa/Cairo , Africa/Casablanca , Africa/Ceuta , Africa/Conakry , Africa/Dakar , Africa/Dar\_es\_Salaam , Africa/Djibouti , Africa/Douala , Africa/El\_Aaiun , Africa/Freetown , Africa/Gaborone , Africa/Harare , Africa/Johannesburg , Africa/Juba , Africa/Kampala , Africa/Khartoum , Africa/Kigali , Africa/Kinshasa , Africa/Lagos , Africa/Libreville , Africa/Lome , Africa/Luanda , Africa/Lubumbashi , Africa/Lusaka , Africa/Malabo , Africa/Maputo , Africa/Maseru , Africa/Mbabane , Africa/Mogadishu , Africa/Monrovia , Africa/Nairobi , Africa/Ndjamena , Africa/Niamey , Africa/Nouakchott , Africa/Ouagadougou , Africa/Porto-Novo , Africa/Sao\_Tome , Africa/Timbuktu , Africa/Tripoli , Africa/Tunis , Africa/Windhoek , America/Adak , America/Anchorage , America/Anguilla , America/Antigua , America/Araguaina , America/Argentina/Buenos\_Aires , America/Argentina/Catamarca , America/Argentina/ComodRivadavia , America/Argentina/Cordoba , America/Argentina/Jujuy , America/Argentina/La\_Rioja , America/Argentina/Mendoza , America/Argentina/Rio\_Gallegos , America/Argentina/Salta , America/Argentina/San\_Juan , America/Argentina/San\_Luis , America/Argentina/Tucuman , America/Argentina/Ushuaia , America/Aruba , America/Asuncion , America/Atikokan , America/Atka , America/Bahia , America/Bahia\_Banderas , America/Barbados , America/Belem , America/Belize , America/Blanc-Sablon , America/Boa\_Vista , America/Bogota , America/Boise , America/Buenos\_Aires , America/Cambridge\_Bay , America/Campo\_Grande , America/Cancun , America/Caracas , America/Catamarca , America/Cayenne , America/Cayman , America/Chicago , America/Chihuahua , America/Ciudad\_Juarez , America/Coral\_Harbour , America/Cordoba , America/Costa\_Rica , America/Coyhaique , America/Creston , America/Cuiaba , America/Curacao , America/Danmarkshavn , America/Dawson , America/Dawson\_Creek , America/Denver , America/Detroit , America/Dominica , America/Edmonton , America/Eirunepe , America/El\_Salvador , America/Ensenada , America/Fort\_Nelson , America/Fort\_Wayne , America/Fortaleza , America/Glace\_Bay , America/Godthab , America/Goose\_Bay , America/Grand\_Turk , America/Grenada , America/Guadeloupe , America/Guatemala , America/Guayaquil , America/Guyana , America/Halifax , America/Havana , America/Hermosillo , America/Indiana/Indianapolis , America/Indiana/Knox , America/Indiana/Marengo , America/Indiana/Petersburg , America/Indiana/Tell\_City , America/Indiana/Vevay , America/Indiana/Vincennes , America/Indiana/Winamac , America/Indianapolis , America/Inuvik , America/Iqaluit , America/Jamaica , America/Jujuy , America/Juneau , America/Kentucky/Louisville , America/Kentucky/Monticello , America/Knox\_IN , America/Kralendijk , America/La\_Paz , America/Lima , America/Los\_Angeles , America/Louisville , America/Lower\_Princes , America/Maceio , America/Managua , America/Manaus , America/Marigot , America/Martinique , America/Matamoros , America/Mazatlan , America/Mendoza , America/Menominee , America/Merida , America/Metlakatla , America/Mexico\_City , America/Miquelon , America/Moncton , America/Monterrey , America/Montevideo , America/Montreal , America/Montserrat , America/Nassau , America/New\_York , America/Nipigon , America/Nome , America/Noronha , America/North\_Dakota/Beulah , America/North\_Dakota/Center , America/North\_Dakota/New\_Salem , America/Nuuk , America/Ojinaga , America/Panama , America/Pangnirtung , America/Paramaribo , America/Phoenix , America/Port-au-Prince , America/Port\_of\_Spain , America/Porto\_Acre , America/Porto\_Velho , America/Puerto\_Rico , America/Punta\_Arenas , America/Rainy\_River , America/Rankin\_Inlet , America/Recife , America/Regina , America/Resolute , America/Rio\_Branco , America/Rosario , America/Santa\_Isabel , America/Santarem , America/Santiago , America/Santo\_Domingo , America/Sao\_Paulo , America/Scoresbysund , America/Shiprock , America/Sitka , America/St\_Barthelemy , America/St\_Johns , America/St\_Kitts , America/St\_Lucia , America/St\_Thomas , America/St\_Vincent , America/Swift\_Current , America/Tegucigalpa , America/Thule , America/Thunder\_Bay , America/Tijuana , America/Toronto , America/Tortola , America/Vancouver , America/Virgin , America/Whitehorse , America/Winnipeg , America/Yakutat , America/Yellowknife , Antarctica/Casey , Antarctica/Davis , Antarctica/DumontDUrville , Antarctica/Macquarie , Antarctica/Mawson , Antarctica/McMurdo , Antarctica/Palmer , Antarctica/Rothera , Antarctica/South\_Pole , Antarctica/Syowa , Antarctica/Troll , Antarctica/Vostok , Arctic/Longyearbyen , Asia/Aden , Asia/Almaty , Asia/Amman , Asia/Anadyr , Asia/Aqtau , Asia/Aqtobe , Asia/Ashgabat , Asia/Ashkhabad , Asia/Atyrau , Asia/Baghdad , Asia/Bahrain , Asia/Baku , Asia/Bangkok , Asia/Barnaul , Asia/Beirut , Asia/Bishkek , Asia/Brunei , Asia/Calcutta , Asia/Chita , Asia/Choibalsan , Asia/Chongqing , Asia/Chungking , Asia/Colombo , Asia/Dacca , Asia/Damascus , Asia/Dhaka , Asia/Dili , Asia/Dubai , Asia/Dushanbe , Asia/Famagusta , Asia/Gaza , Asia/Harbin , Asia/Hebron , Asia/Ho\_Chi\_Minh , Asia/Hong\_Kong , Asia/Hovd , Asia/Irkutsk , Asia/Istanbul , Asia/Jakarta , Asia/Jayapura , Asia/Jerusalem , Asia/Kabul , Asia/Kamchatka , Asia/Karachi , Asia/Kashgar , Asia/Kathmandu , Asia/Katmandu , Asia/Khandyga , Asia/Kolkata , Asia/Krasnoyarsk , Asia/Kuala\_Lumpur , Asia/Kuching , Asia/Kuwait , Asia/Macao , Asia/Macau , Asia/Magadan , Asia/Makassar , Asia/Manila , Asia/Muscat , Asia/Nicosia , Asia/Novokuznetsk , Asia/Novosibirsk , Asia/Omsk , Asia/Oral , Asia/Phnom\_Penh , Asia/Pontianak , Asia/Pyongyang , Asia/Qatar , Asia/Qostanay , Asia/Qyzylorda , Asia/Rangoon , Asia/Riyadh , Asia/Saigon , Asia/Sakhalin , Asia/Samarkand , Asia/Seoul , Asia/Shanghai , Asia/Singapore , Asia/Srednekolymsk , Asia/Taipei , Asia/Tashkent , Asia/Tbilisi , Asia/Tehran , Asia/Tel\_Aviv , Asia/Thimbu , Asia/Thimphu , Asia/Tokyo , Asia/Tomsk , Asia/Ujung\_Pandang , Asia/Ulaanbaatar , Asia/Ulan\_Bator , Asia/Urumqi , Asia/Ust-Nera , Asia/Vientiane , Asia/Vladivostok , Asia/Yakutsk , Asia/Yangon , Asia/Yekaterinburg , Asia/Yerevan , Atlantic/Azores , Atlantic/Bermuda , Atlantic/Canary , Atlantic/Cape\_Verde , Atlantic/Faeroe , Atlantic/Faroe , Atlantic/Jan\_Mayen , Atlantic/Madeira , Atlantic/Reykjavik , Atlantic/South\_Georgia , Atlantic/St\_Helena , Atlantic/Stanley , Australia/ACT , Australia/Adelaide , Australia/Brisbane , Australia/Broken\_Hill , Australia/Canberra , Australia/Currie , Australia/Darwin , Australia/Eucla , Australia/Hobart , Australia/LHI , Australia/Lindeman , Australia/Lord\_Howe , Australia/Melbourne , Australia/NSW , Australia/North , Australia/Perth , Australia/Queensland , Australia/South , Australia/Sydney , Australia/Tasmania , Australia/Victoria , Australia/West , Australia/Yancowinna , Brazil/Acre , Brazil/DeNoronha , Brazil/East , Brazil/West , CET , CST6CDT , Canada/Atlantic , Canada/Central , Canada/Eastern , Canada/Mountain , Canada/Newfoundland , Canada/Pacific , Canada/Saskatchewan , Canada/Yukon , Chile/Continental , Chile/EasterIsland , Cuba , EET , EST5EDT , Egypt , Eire , Etc/GMT , Etc/GMT+0 , Etc/GMT+1 , Etc/GMT+10 , Etc/GMT+11 , Etc/GMT+12 , Etc/GMT+2 , Etc/GMT+3 , Etc/GMT+4 , Etc/GMT+5 , Etc/GMT+6 , Etc/GMT+7 , Etc/GMT+8 , Etc/GMT+9 , Etc/GMT-0 , Etc/GMT-1 , Etc/GMT-10 , Etc/GMT-11 , Etc/GMT-12 , Etc/GMT-13 , Etc/GMT-14 , Etc/GMT-2 , Etc/GMT-3 , Etc/GMT-4 , Etc/GMT-5 , Etc/GMT-6 , Etc/GMT-7 , Etc/GMT-8 , Etc/GMT-9 , Etc/GMT0 , Etc/Greenwich , Etc/UCT , Etc/UTC , Etc/Universal , Etc/Zulu , Europe/Amsterdam , Europe/Andorra , Europe/Astrakhan , Europe/Athens , Europe/Belfast , Europe/Belgrade , Europe/Berlin , Europe/Bratislava , Europe/Brussels , Europe/Bucharest , Europe/Budapest , Europe/Busingen , Europe/Chisinau , Europe/Copenhagen , Europe/Dublin , Europe/Gibraltar , Europe/Guernsey , Europe/Helsinki , Europe/Isle\_of\_Man , Europe/Istanbul , Europe/Jersey , Europe/Kaliningrad , Europe/Kiev , Europe/Kirov , Europe/Kyiv , Europe/Lisbon , Europe/Ljubljana , Europe/London , Europe/Luxembourg , Europe/Madrid , Europe/Malta , Europe/Mariehamn , Europe/Minsk , Europe/Monaco , Europe/Moscow , Europe/Nicosia , Europe/Oslo , Europe/Paris , Europe/Podgorica , Europe/Prague , Europe/Riga , Europe/Rome , Europe/Samara , Europe/San\_Marino , Europe/Sarajevo , Europe/Saratov , Europe/Simferopol , Europe/Skopje , Europe/Sofia , Europe/Stockholm , Europe/Tallinn , Europe/Tirane , Europe/Tiraspol , Europe/Ulyanovsk , Europe/Uzhgorod , Europe/Vaduz , Europe/Vatican , Europe/Vienna , Europe/Vilnius , Europe/Volgograd , Europe/Warsaw , Europe/Zagreb , Europe/Zaporozhye , Europe/Zurich , GB , GB-Eire , GMT , GMT0 , Greenwich , Hongkong , Iceland , Indian/Antananarivo , Indian/Chagos , Indian/Christmas , Indian/Cocos , Indian/Comoro , Indian/Kerguelen , Indian/Mahe , Indian/Maldives , Indian/Mauritius , Indian/Mayotte , Indian/Reunion , Iran , Israel , Jamaica , Japan , Kwajalein , Libya , MET , MST7MDT , Mexico/BajaNorte , Mexico/BajaSur , Mexico/General , NZ , NZ-CHAT , Navajo , PRC , PST8PDT , Pacific/Apia , Pacific/Auckland , Pacific/Bougainville , Pacific/Chatham , Pacific/Chuuk , Pacific/Easter , Pacific/Efate , Pacific/Enderbury , Pacific/Fakaofo , Pacific/Fiji , Pacific/Funafuti , Pacific/Galapagos , Pacific/Gambier , Pacific/Guadalcanal , Pacific/Guam , Pacific/Honolulu , Pacific/Johnston , Pacific/Kanton , Pacific/Kiritimati , Pacific/Kosrae , Pacific/Kwajalein , Pacific/Majuro , Pacific/Marquesas , Pacific/Midway , Pacific/Nauru , Pacific/Niue , Pacific/Norfolk , Pacific/Noumea , Pacific/Pago\_Pago , Pacific/Palau , Pacific/Pitcairn , Pacific/Pohnpei , Pacific/Ponape , Pacific/Port\_Moresby , Pacific/Rarotonga , Pacific/Saipan , Pacific/Samoa , Pacific/Tahiti , Pacific/Tarawa , Pacific/Tongatapu , Pacific/Truk , Pacific/Wake , Pacific/Wallis , Pacific/Yap , Poland , Portugal , ROK , Singapore , SystemV/AST4 , SystemV/AST4ADT , SystemV/CST6 , SystemV/CST6CDT , SystemV/EST5 , SystemV/EST5EDT , SystemV/HST10 , SystemV/MST7 , SystemV/MST7MDT , SystemV/PST8 , SystemV/PST8PDT , SystemV/YST9 , SystemV/YST9YDT , Turkey , UCT , US/Alaska , US/Aleutian , US/Arizona , US/Central , US/East-Indiana , US/Eastern , US/Hawaii , US/Indiana-Starke , US/Michigan , US/Mountain , US/Pacific , US/Samoa , UTC , Universal , W-SU , WET , Zulu | The time zone used to interpret the schedule. | true |
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :--------: | :--------: | :---------------------------------------------------------------------------------------------------------: |
| fireTime | STRING | The exact date and time when the trigger was activated. |
| dateTime | DATE\_TIME | The date and time when the trigger was activated, formatted according to the specified timezone. |
| hour | INTEGER | The hour of the day (0-23) at which the workflow was set to trigger. |
| minute | INTEGER | The minute of the hour (0-59) at which the workflow was set to trigger. |
| dayOfMonth | INTEGER | The specific day of the month (1-31) on which the workflow was set to trigger. |
| timezone | STRING | The timezone used for scheduling the cron expression, ensuring the trigger fires at the correct local time. |
#### JSON Example [#json-example-2]
```json
{
"label" : "Every Month",
"name" : "everyMonth",
"parameters" : {
"hour" : 1,
"minute" : 1,
"dayOfMonth" : 1,
"timezone" : ""
},
"type" : "schedule/v1/everyMonth"
}
```
### Interval [#interval]
Name: interval
`Runs the workflow repeatedly at a fixed interval (for example, every 5 minutes or every 2 days).`
Type: LISTENER
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| interval | Interval | INTEGER | How often the workflow runs, combined with the time unit. For example, an interval of 5 with time unit 'Minute' runs the workflow every 5 minutes. | true |
| timeUnit | Time Unit | INTEGER Options 1 , 2 , 3 , 4 | The unit of time used with the interval to determine how often the workflow runs. | true |
| timezone | Timezone | STRING Options Africa/Abidjan , Africa/Accra , Africa/Addis\_Ababa , Africa/Algiers , Africa/Asmara , Africa/Asmera , Africa/Bamako , Africa/Bangui , Africa/Banjul , Africa/Bissau , Africa/Blantyre , Africa/Brazzaville , Africa/Bujumbura , Africa/Cairo , Africa/Casablanca , Africa/Ceuta , Africa/Conakry , Africa/Dakar , Africa/Dar\_es\_Salaam , Africa/Djibouti , Africa/Douala , Africa/El\_Aaiun , Africa/Freetown , Africa/Gaborone , Africa/Harare , Africa/Johannesburg , Africa/Juba , Africa/Kampala , Africa/Khartoum , Africa/Kigali , Africa/Kinshasa , Africa/Lagos , Africa/Libreville , Africa/Lome , Africa/Luanda , Africa/Lubumbashi , Africa/Lusaka , Africa/Malabo , Africa/Maputo , Africa/Maseru , Africa/Mbabane , Africa/Mogadishu , Africa/Monrovia , Africa/Nairobi , Africa/Ndjamena , Africa/Niamey , Africa/Nouakchott , Africa/Ouagadougou , Africa/Porto-Novo , Africa/Sao\_Tome , Africa/Timbuktu , Africa/Tripoli , Africa/Tunis , Africa/Windhoek , America/Adak , America/Anchorage , America/Anguilla , America/Antigua , America/Araguaina , America/Argentina/Buenos\_Aires , America/Argentina/Catamarca , America/Argentina/ComodRivadavia , America/Argentina/Cordoba , America/Argentina/Jujuy , America/Argentina/La\_Rioja , America/Argentina/Mendoza , America/Argentina/Rio\_Gallegos , America/Argentina/Salta , America/Argentina/San\_Juan , America/Argentina/San\_Luis , America/Argentina/Tucuman , America/Argentina/Ushuaia , America/Aruba , America/Asuncion , America/Atikokan , America/Atka , America/Bahia , America/Bahia\_Banderas , America/Barbados , America/Belem , America/Belize , America/Blanc-Sablon , America/Boa\_Vista , America/Bogota , America/Boise , America/Buenos\_Aires , America/Cambridge\_Bay , America/Campo\_Grande , America/Cancun , America/Caracas , America/Catamarca , America/Cayenne , America/Cayman , America/Chicago , America/Chihuahua , America/Ciudad\_Juarez , America/Coral\_Harbour , America/Cordoba , America/Costa\_Rica , America/Coyhaique , America/Creston , America/Cuiaba , America/Curacao , America/Danmarkshavn , America/Dawson , America/Dawson\_Creek , America/Denver , America/Detroit , America/Dominica , America/Edmonton , America/Eirunepe , America/El\_Salvador , America/Ensenada , America/Fort\_Nelson , America/Fort\_Wayne , America/Fortaleza , America/Glace\_Bay , America/Godthab , America/Goose\_Bay , America/Grand\_Turk , America/Grenada , America/Guadeloupe , America/Guatemala , America/Guayaquil , America/Guyana , America/Halifax , America/Havana , America/Hermosillo , America/Indiana/Indianapolis , America/Indiana/Knox , America/Indiana/Marengo , America/Indiana/Petersburg , America/Indiana/Tell\_City , America/Indiana/Vevay , America/Indiana/Vincennes , America/Indiana/Winamac , America/Indianapolis , America/Inuvik , America/Iqaluit , America/Jamaica , America/Jujuy , America/Juneau , America/Kentucky/Louisville , America/Kentucky/Monticello , America/Knox\_IN , America/Kralendijk , America/La\_Paz , America/Lima , America/Los\_Angeles , America/Louisville , America/Lower\_Princes , America/Maceio , America/Managua , America/Manaus , America/Marigot , America/Martinique , America/Matamoros , America/Mazatlan , America/Mendoza , America/Menominee , America/Merida , America/Metlakatla , America/Mexico\_City , America/Miquelon , America/Moncton , America/Monterrey , America/Montevideo , America/Montreal , America/Montserrat , America/Nassau , America/New\_York , America/Nipigon , America/Nome , America/Noronha , America/North\_Dakota/Beulah , America/North\_Dakota/Center , America/North\_Dakota/New\_Salem , America/Nuuk , America/Ojinaga , America/Panama , America/Pangnirtung , America/Paramaribo , America/Phoenix , America/Port-au-Prince , America/Port\_of\_Spain , America/Porto\_Acre , America/Porto\_Velho , America/Puerto\_Rico , America/Punta\_Arenas , America/Rainy\_River , America/Rankin\_Inlet , America/Recife , America/Regina , America/Resolute , America/Rio\_Branco , America/Rosario , America/Santa\_Isabel , America/Santarem , America/Santiago , America/Santo\_Domingo , America/Sao\_Paulo , America/Scoresbysund , America/Shiprock , America/Sitka , America/St\_Barthelemy , America/St\_Johns , America/St\_Kitts , America/St\_Lucia , America/St\_Thomas , America/St\_Vincent , America/Swift\_Current , America/Tegucigalpa , America/Thule , America/Thunder\_Bay , America/Tijuana , America/Toronto , America/Tortola , America/Vancouver , America/Virgin , America/Whitehorse , America/Winnipeg , America/Yakutat , America/Yellowknife , Antarctica/Casey , Antarctica/Davis , Antarctica/DumontDUrville , Antarctica/Macquarie , Antarctica/Mawson , Antarctica/McMurdo , Antarctica/Palmer , Antarctica/Rothera , Antarctica/South\_Pole , Antarctica/Syowa , Antarctica/Troll , Antarctica/Vostok , Arctic/Longyearbyen , Asia/Aden , Asia/Almaty , Asia/Amman , Asia/Anadyr , Asia/Aqtau , Asia/Aqtobe , Asia/Ashgabat , Asia/Ashkhabad , Asia/Atyrau , Asia/Baghdad , Asia/Bahrain , Asia/Baku , Asia/Bangkok , Asia/Barnaul , Asia/Beirut , Asia/Bishkek , Asia/Brunei , Asia/Calcutta , Asia/Chita , Asia/Choibalsan , Asia/Chongqing , Asia/Chungking , Asia/Colombo , Asia/Dacca , Asia/Damascus , Asia/Dhaka , Asia/Dili , Asia/Dubai , Asia/Dushanbe , Asia/Famagusta , Asia/Gaza , Asia/Harbin , Asia/Hebron , Asia/Ho\_Chi\_Minh , Asia/Hong\_Kong , Asia/Hovd , Asia/Irkutsk , Asia/Istanbul , Asia/Jakarta , Asia/Jayapura , Asia/Jerusalem , Asia/Kabul , Asia/Kamchatka , Asia/Karachi , Asia/Kashgar , Asia/Kathmandu , Asia/Katmandu , Asia/Khandyga , Asia/Kolkata , Asia/Krasnoyarsk , Asia/Kuala\_Lumpur , Asia/Kuching , Asia/Kuwait , Asia/Macao , Asia/Macau , Asia/Magadan , Asia/Makassar , Asia/Manila , Asia/Muscat , Asia/Nicosia , Asia/Novokuznetsk , Asia/Novosibirsk , Asia/Omsk , Asia/Oral , Asia/Phnom\_Penh , Asia/Pontianak , Asia/Pyongyang , Asia/Qatar , Asia/Qostanay , Asia/Qyzylorda , Asia/Rangoon , Asia/Riyadh , Asia/Saigon , Asia/Sakhalin , Asia/Samarkand , Asia/Seoul , Asia/Shanghai , Asia/Singapore , Asia/Srednekolymsk , Asia/Taipei , Asia/Tashkent , Asia/Tbilisi , Asia/Tehran , Asia/Tel\_Aviv , Asia/Thimbu , Asia/Thimphu , Asia/Tokyo , Asia/Tomsk , Asia/Ujung\_Pandang , Asia/Ulaanbaatar , Asia/Ulan\_Bator , Asia/Urumqi , Asia/Ust-Nera , Asia/Vientiane , Asia/Vladivostok , Asia/Yakutsk , Asia/Yangon , Asia/Yekaterinburg , Asia/Yerevan , Atlantic/Azores , Atlantic/Bermuda , Atlantic/Canary , Atlantic/Cape\_Verde , Atlantic/Faeroe , Atlantic/Faroe , Atlantic/Jan\_Mayen , Atlantic/Madeira , Atlantic/Reykjavik , Atlantic/South\_Georgia , Atlantic/St\_Helena , Atlantic/Stanley , Australia/ACT , Australia/Adelaide , Australia/Brisbane , Australia/Broken\_Hill , Australia/Canberra , Australia/Currie , Australia/Darwin , Australia/Eucla , Australia/Hobart , Australia/LHI , Australia/Lindeman , Australia/Lord\_Howe , Australia/Melbourne , Australia/NSW , Australia/North , Australia/Perth , Australia/Queensland , Australia/South , Australia/Sydney , Australia/Tasmania , Australia/Victoria , Australia/West , Australia/Yancowinna , Brazil/Acre , Brazil/DeNoronha , Brazil/East , Brazil/West , CET , CST6CDT , Canada/Atlantic , Canada/Central , Canada/Eastern , Canada/Mountain , Canada/Newfoundland , Canada/Pacific , Canada/Saskatchewan , Canada/Yukon , Chile/Continental , Chile/EasterIsland , Cuba , EET , EST5EDT , Egypt , Eire , Etc/GMT , Etc/GMT+0 , Etc/GMT+1 , Etc/GMT+10 , Etc/GMT+11 , Etc/GMT+12 , Etc/GMT+2 , Etc/GMT+3 , Etc/GMT+4 , Etc/GMT+5 , Etc/GMT+6 , Etc/GMT+7 , Etc/GMT+8 , Etc/GMT+9 , Etc/GMT-0 , Etc/GMT-1 , Etc/GMT-10 , Etc/GMT-11 , Etc/GMT-12 , Etc/GMT-13 , Etc/GMT-14 , Etc/GMT-2 , Etc/GMT-3 , Etc/GMT-4 , Etc/GMT-5 , Etc/GMT-6 , Etc/GMT-7 , Etc/GMT-8 , Etc/GMT-9 , Etc/GMT0 , Etc/Greenwich , Etc/UCT , Etc/UTC , Etc/Universal , Etc/Zulu , Europe/Amsterdam , Europe/Andorra , Europe/Astrakhan , Europe/Athens , Europe/Belfast , Europe/Belgrade , Europe/Berlin , Europe/Bratislava , Europe/Brussels , Europe/Bucharest , Europe/Budapest , Europe/Busingen , Europe/Chisinau , Europe/Copenhagen , Europe/Dublin , Europe/Gibraltar , Europe/Guernsey , Europe/Helsinki , Europe/Isle\_of\_Man , Europe/Istanbul , Europe/Jersey , Europe/Kaliningrad , Europe/Kiev , Europe/Kirov , Europe/Kyiv , Europe/Lisbon , Europe/Ljubljana , Europe/London , Europe/Luxembourg , Europe/Madrid , Europe/Malta , Europe/Mariehamn , Europe/Minsk , Europe/Monaco , Europe/Moscow , Europe/Nicosia , Europe/Oslo , Europe/Paris , Europe/Podgorica , Europe/Prague , Europe/Riga , Europe/Rome , Europe/Samara , Europe/San\_Marino , Europe/Sarajevo , Europe/Saratov , Europe/Simferopol , Europe/Skopje , Europe/Sofia , Europe/Stockholm , Europe/Tallinn , Europe/Tirane , Europe/Tiraspol , Europe/Ulyanovsk , Europe/Uzhgorod , Europe/Vaduz , Europe/Vatican , Europe/Vienna , Europe/Vilnius , Europe/Volgograd , Europe/Warsaw , Europe/Zagreb , Europe/Zaporozhye , Europe/Zurich , GB , GB-Eire , GMT , GMT0 , Greenwich , Hongkong , Iceland , Indian/Antananarivo , Indian/Chagos , Indian/Christmas , Indian/Cocos , Indian/Comoro , Indian/Kerguelen , Indian/Mahe , Indian/Maldives , Indian/Mauritius , Indian/Mayotte , Indian/Reunion , Iran , Israel , Jamaica , Japan , Kwajalein , Libya , MET , MST7MDT , Mexico/BajaNorte , Mexico/BajaSur , Mexico/General , NZ , NZ-CHAT , Navajo , PRC , PST8PDT , Pacific/Apia , Pacific/Auckland , Pacific/Bougainville , Pacific/Chatham , Pacific/Chuuk , Pacific/Easter , Pacific/Efate , Pacific/Enderbury , Pacific/Fakaofo , Pacific/Fiji , Pacific/Funafuti , Pacific/Galapagos , Pacific/Gambier , Pacific/Guadalcanal , Pacific/Guam , Pacific/Honolulu , Pacific/Johnston , Pacific/Kanton , Pacific/Kiritimati , Pacific/Kosrae , Pacific/Kwajalein , Pacific/Majuro , Pacific/Marquesas , Pacific/Midway , Pacific/Nauru , Pacific/Niue , Pacific/Norfolk , Pacific/Noumea , Pacific/Pago\_Pago , Pacific/Palau , Pacific/Pitcairn , Pacific/Pohnpei , Pacific/Ponape , Pacific/Port\_Moresby , Pacific/Rarotonga , Pacific/Saipan , Pacific/Samoa , Pacific/Tahiti , Pacific/Tarawa , Pacific/Tongatapu , Pacific/Truk , Pacific/Wake , Pacific/Wallis , Pacific/Yap , Poland , Portugal , ROK , Singapore , SystemV/AST4 , SystemV/AST4ADT , SystemV/CST6 , SystemV/CST6CDT , SystemV/EST5 , SystemV/EST5EDT , SystemV/HST10 , SystemV/MST7 , SystemV/MST7MDT , SystemV/PST8 , SystemV/PST8PDT , SystemV/YST9 , SystemV/YST9YDT , Turkey , UCT , US/Alaska , US/Aleutian , US/Arizona , US/Central , US/East-Indiana , US/Eastern , US/Hawaii , US/Indiana-Starke , US/Michigan , US/Mountain , US/Pacific , US/Samoa , UTC , Universal , W-SU , WET , Zulu | The time zone used to interpret the schedule. | true |
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :------: | :--------: | :--------------------------------------------------------------------------------------------------------------: |
| fireTime | STRING | The exact date and time when the trigger was activated. |
| dateTime | DATE\_TIME | The date and time when the trigger was activated, formatted according to the specified timezone. |
| interval | INTEGER | The interval value that determines how frequently the workflow is triggered, based on the selected time unit. |
| timeUnit | INTEGER | The unit of time (e.g., minute, hour, day, month) used in conjunction with the interval to schedule the trigger. |
| timezone | STRING | The timezone used for scheduling the cron expression, ensuring the trigger fires at the correct local time. |
#### JSON Example [#json-example-3]
```json
{
"label" : "Interval",
"name" : "interval",
"parameters" : {
"interval" : 1,
"timeUnit" : 1,
"timezone" : ""
},
"type" : "schedule/v1/interval"
}
```
### Cron [#cron]
Name: cron
`Runs the workflow on a custom schedule defined by a cron expression.`
Type: LISTENER
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :--------: | :-------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| expression | Cron Expression | STRING | The cron expression that defines when the workflow runs (without the seconds field). Format: minute hour day-of-month month day-of-week. | true |
| timezone | Timezone | STRING Options Africa/Abidjan , Africa/Accra , Africa/Addis\_Ababa , Africa/Algiers , Africa/Asmara , Africa/Asmera , Africa/Bamako , Africa/Bangui , Africa/Banjul , Africa/Bissau , Africa/Blantyre , Africa/Brazzaville , Africa/Bujumbura , Africa/Cairo , Africa/Casablanca , Africa/Ceuta , Africa/Conakry , Africa/Dakar , Africa/Dar\_es\_Salaam , Africa/Djibouti , Africa/Douala , Africa/El\_Aaiun , Africa/Freetown , Africa/Gaborone , Africa/Harare , Africa/Johannesburg , Africa/Juba , Africa/Kampala , Africa/Khartoum , Africa/Kigali , Africa/Kinshasa , Africa/Lagos , Africa/Libreville , Africa/Lome , Africa/Luanda , Africa/Lubumbashi , Africa/Lusaka , Africa/Malabo , Africa/Maputo , Africa/Maseru , Africa/Mbabane , Africa/Mogadishu , Africa/Monrovia , Africa/Nairobi , Africa/Ndjamena , Africa/Niamey , Africa/Nouakchott , Africa/Ouagadougou , Africa/Porto-Novo , Africa/Sao\_Tome , Africa/Timbuktu , Africa/Tripoli , Africa/Tunis , Africa/Windhoek , America/Adak , America/Anchorage , America/Anguilla , America/Antigua , America/Araguaina , America/Argentina/Buenos\_Aires , America/Argentina/Catamarca , America/Argentina/ComodRivadavia , America/Argentina/Cordoba , America/Argentina/Jujuy , America/Argentina/La\_Rioja , America/Argentina/Mendoza , America/Argentina/Rio\_Gallegos , America/Argentina/Salta , America/Argentina/San\_Juan , America/Argentina/San\_Luis , America/Argentina/Tucuman , America/Argentina/Ushuaia , America/Aruba , America/Asuncion , America/Atikokan , America/Atka , America/Bahia , America/Bahia\_Banderas , America/Barbados , America/Belem , America/Belize , America/Blanc-Sablon , America/Boa\_Vista , America/Bogota , America/Boise , America/Buenos\_Aires , America/Cambridge\_Bay , America/Campo\_Grande , America/Cancun , America/Caracas , America/Catamarca , America/Cayenne , America/Cayman , America/Chicago , America/Chihuahua , America/Ciudad\_Juarez , America/Coral\_Harbour , America/Cordoba , America/Costa\_Rica , America/Coyhaique , America/Creston , America/Cuiaba , America/Curacao , America/Danmarkshavn , America/Dawson , America/Dawson\_Creek , America/Denver , America/Detroit , America/Dominica , America/Edmonton , America/Eirunepe , America/El\_Salvador , America/Ensenada , America/Fort\_Nelson , America/Fort\_Wayne , America/Fortaleza , America/Glace\_Bay , America/Godthab , America/Goose\_Bay , America/Grand\_Turk , America/Grenada , America/Guadeloupe , America/Guatemala , America/Guayaquil , America/Guyana , America/Halifax , America/Havana , America/Hermosillo , America/Indiana/Indianapolis , America/Indiana/Knox , America/Indiana/Marengo , America/Indiana/Petersburg , America/Indiana/Tell\_City , America/Indiana/Vevay , America/Indiana/Vincennes , America/Indiana/Winamac , America/Indianapolis , America/Inuvik , America/Iqaluit , America/Jamaica , America/Jujuy , America/Juneau , America/Kentucky/Louisville , America/Kentucky/Monticello , America/Knox\_IN , America/Kralendijk , America/La\_Paz , America/Lima , America/Los\_Angeles , America/Louisville , America/Lower\_Princes , America/Maceio , America/Managua , America/Manaus , America/Marigot , America/Martinique , America/Matamoros , America/Mazatlan , America/Mendoza , America/Menominee , America/Merida , America/Metlakatla , America/Mexico\_City , America/Miquelon , America/Moncton , America/Monterrey , America/Montevideo , America/Montreal , America/Montserrat , America/Nassau , America/New\_York , America/Nipigon , America/Nome , America/Noronha , America/North\_Dakota/Beulah , America/North\_Dakota/Center , America/North\_Dakota/New\_Salem , America/Nuuk , America/Ojinaga , America/Panama , America/Pangnirtung , America/Paramaribo , America/Phoenix , America/Port-au-Prince , America/Port\_of\_Spain , America/Porto\_Acre , America/Porto\_Velho , America/Puerto\_Rico , America/Punta\_Arenas , America/Rainy\_River , America/Rankin\_Inlet , America/Recife , America/Regina , America/Resolute , America/Rio\_Branco , America/Rosario , America/Santa\_Isabel , America/Santarem , America/Santiago , America/Santo\_Domingo , America/Sao\_Paulo , America/Scoresbysund , America/Shiprock , America/Sitka , America/St\_Barthelemy , America/St\_Johns , America/St\_Kitts , America/St\_Lucia , America/St\_Thomas , America/St\_Vincent , America/Swift\_Current , America/Tegucigalpa , America/Thule , America/Thunder\_Bay , America/Tijuana , America/Toronto , America/Tortola , America/Vancouver , America/Virgin , America/Whitehorse , America/Winnipeg , America/Yakutat , America/Yellowknife , Antarctica/Casey , Antarctica/Davis , Antarctica/DumontDUrville , Antarctica/Macquarie , Antarctica/Mawson , Antarctica/McMurdo , Antarctica/Palmer , Antarctica/Rothera , Antarctica/South\_Pole , Antarctica/Syowa , Antarctica/Troll , Antarctica/Vostok , Arctic/Longyearbyen , Asia/Aden , Asia/Almaty , Asia/Amman , Asia/Anadyr , Asia/Aqtau , Asia/Aqtobe , Asia/Ashgabat , Asia/Ashkhabad , Asia/Atyrau , Asia/Baghdad , Asia/Bahrain , Asia/Baku , Asia/Bangkok , Asia/Barnaul , Asia/Beirut , Asia/Bishkek , Asia/Brunei , Asia/Calcutta , Asia/Chita , Asia/Choibalsan , Asia/Chongqing , Asia/Chungking , Asia/Colombo , Asia/Dacca , Asia/Damascus , Asia/Dhaka , Asia/Dili , Asia/Dubai , Asia/Dushanbe , Asia/Famagusta , Asia/Gaza , Asia/Harbin , Asia/Hebron , Asia/Ho\_Chi\_Minh , Asia/Hong\_Kong , Asia/Hovd , Asia/Irkutsk , Asia/Istanbul , Asia/Jakarta , Asia/Jayapura , Asia/Jerusalem , Asia/Kabul , Asia/Kamchatka , Asia/Karachi , Asia/Kashgar , Asia/Kathmandu , Asia/Katmandu , Asia/Khandyga , Asia/Kolkata , Asia/Krasnoyarsk , Asia/Kuala\_Lumpur , Asia/Kuching , Asia/Kuwait , Asia/Macao , Asia/Macau , Asia/Magadan , Asia/Makassar , Asia/Manila , Asia/Muscat , Asia/Nicosia , Asia/Novokuznetsk , Asia/Novosibirsk , Asia/Omsk , Asia/Oral , Asia/Phnom\_Penh , Asia/Pontianak , Asia/Pyongyang , Asia/Qatar , Asia/Qostanay , Asia/Qyzylorda , Asia/Rangoon , Asia/Riyadh , Asia/Saigon , Asia/Sakhalin , Asia/Samarkand , Asia/Seoul , Asia/Shanghai , Asia/Singapore , Asia/Srednekolymsk , Asia/Taipei , Asia/Tashkent , Asia/Tbilisi , Asia/Tehran , Asia/Tel\_Aviv , Asia/Thimbu , Asia/Thimphu , Asia/Tokyo , Asia/Tomsk , Asia/Ujung\_Pandang , Asia/Ulaanbaatar , Asia/Ulan\_Bator , Asia/Urumqi , Asia/Ust-Nera , Asia/Vientiane , Asia/Vladivostok , Asia/Yakutsk , Asia/Yangon , Asia/Yekaterinburg , Asia/Yerevan , Atlantic/Azores , Atlantic/Bermuda , Atlantic/Canary , Atlantic/Cape\_Verde , Atlantic/Faeroe , Atlantic/Faroe , Atlantic/Jan\_Mayen , Atlantic/Madeira , Atlantic/Reykjavik , Atlantic/South\_Georgia , Atlantic/St\_Helena , Atlantic/Stanley , Australia/ACT , Australia/Adelaide , Australia/Brisbane , Australia/Broken\_Hill , Australia/Canberra , Australia/Currie , Australia/Darwin , Australia/Eucla , Australia/Hobart , Australia/LHI , Australia/Lindeman , Australia/Lord\_Howe , Australia/Melbourne , Australia/NSW , Australia/North , Australia/Perth , Australia/Queensland , Australia/South , Australia/Sydney , Australia/Tasmania , Australia/Victoria , Australia/West , Australia/Yancowinna , Brazil/Acre , Brazil/DeNoronha , Brazil/East , Brazil/West , CET , CST6CDT , Canada/Atlantic , Canada/Central , Canada/Eastern , Canada/Mountain , Canada/Newfoundland , Canada/Pacific , Canada/Saskatchewan , Canada/Yukon , Chile/Continental , Chile/EasterIsland , Cuba , EET , EST5EDT , Egypt , Eire , Etc/GMT , Etc/GMT+0 , Etc/GMT+1 , Etc/GMT+10 , Etc/GMT+11 , Etc/GMT+12 , Etc/GMT+2 , Etc/GMT+3 , Etc/GMT+4 , Etc/GMT+5 , Etc/GMT+6 , Etc/GMT+7 , Etc/GMT+8 , Etc/GMT+9 , Etc/GMT-0 , Etc/GMT-1 , Etc/GMT-10 , Etc/GMT-11 , Etc/GMT-12 , Etc/GMT-13 , Etc/GMT-14 , Etc/GMT-2 , Etc/GMT-3 , Etc/GMT-4 , Etc/GMT-5 , Etc/GMT-6 , Etc/GMT-7 , Etc/GMT-8 , Etc/GMT-9 , Etc/GMT0 , Etc/Greenwich , Etc/UCT , Etc/UTC , Etc/Universal , Etc/Zulu , Europe/Amsterdam , Europe/Andorra , Europe/Astrakhan , Europe/Athens , Europe/Belfast , Europe/Belgrade , Europe/Berlin , Europe/Bratislava , Europe/Brussels , Europe/Bucharest , Europe/Budapest , Europe/Busingen , Europe/Chisinau , Europe/Copenhagen , Europe/Dublin , Europe/Gibraltar , Europe/Guernsey , Europe/Helsinki , Europe/Isle\_of\_Man , Europe/Istanbul , Europe/Jersey , Europe/Kaliningrad , Europe/Kiev , Europe/Kirov , Europe/Kyiv , Europe/Lisbon , Europe/Ljubljana , Europe/London , Europe/Luxembourg , Europe/Madrid , Europe/Malta , Europe/Mariehamn , Europe/Minsk , Europe/Monaco , Europe/Moscow , Europe/Nicosia , Europe/Oslo , Europe/Paris , Europe/Podgorica , Europe/Prague , Europe/Riga , Europe/Rome , Europe/Samara , Europe/San\_Marino , Europe/Sarajevo , Europe/Saratov , Europe/Simferopol , Europe/Skopje , Europe/Sofia , Europe/Stockholm , Europe/Tallinn , Europe/Tirane , Europe/Tiraspol , Europe/Ulyanovsk , Europe/Uzhgorod , Europe/Vaduz , Europe/Vatican , Europe/Vienna , Europe/Vilnius , Europe/Volgograd , Europe/Warsaw , Europe/Zagreb , Europe/Zaporozhye , Europe/Zurich , GB , GB-Eire , GMT , GMT0 , Greenwich , Hongkong , Iceland , Indian/Antananarivo , Indian/Chagos , Indian/Christmas , Indian/Cocos , Indian/Comoro , Indian/Kerguelen , Indian/Mahe , Indian/Maldives , Indian/Mauritius , Indian/Mayotte , Indian/Reunion , Iran , Israel , Jamaica , Japan , Kwajalein , Libya , MET , MST7MDT , Mexico/BajaNorte , Mexico/BajaSur , Mexico/General , NZ , NZ-CHAT , Navajo , PRC , PST8PDT , Pacific/Apia , Pacific/Auckland , Pacific/Bougainville , Pacific/Chatham , Pacific/Chuuk , Pacific/Easter , Pacific/Efate , Pacific/Enderbury , Pacific/Fakaofo , Pacific/Fiji , Pacific/Funafuti , Pacific/Galapagos , Pacific/Gambier , Pacific/Guadalcanal , Pacific/Guam , Pacific/Honolulu , Pacific/Johnston , Pacific/Kanton , Pacific/Kiritimati , Pacific/Kosrae , Pacific/Kwajalein , Pacific/Majuro , Pacific/Marquesas , Pacific/Midway , Pacific/Nauru , Pacific/Niue , Pacific/Norfolk , Pacific/Noumea , Pacific/Pago\_Pago , Pacific/Palau , Pacific/Pitcairn , Pacific/Pohnpei , Pacific/Ponape , Pacific/Port\_Moresby , Pacific/Rarotonga , Pacific/Saipan , Pacific/Samoa , Pacific/Tahiti , Pacific/Tarawa , Pacific/Tongatapu , Pacific/Truk , Pacific/Wake , Pacific/Wallis , Pacific/Yap , Poland , Portugal , ROK , Singapore , SystemV/AST4 , SystemV/AST4ADT , SystemV/CST6 , SystemV/CST6CDT , SystemV/EST5 , SystemV/EST5EDT , SystemV/HST10 , SystemV/MST7 , SystemV/MST7MDT , SystemV/PST8 , SystemV/PST8PDT , SystemV/YST9 , SystemV/YST9YDT , Turkey , UCT , US/Alaska , US/Aleutian , US/Arizona , US/Central , US/East-Indiana , US/Eastern , US/Hawaii , US/Indiana-Starke , US/Michigan , US/Mountain , US/Pacific , US/Samoa , UTC , Universal , W-SU , WET , Zulu | The time zone used to interpret the schedule. | true |
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :--------: | :--------: | :---------------------------------------------------------------------------------------------------------: |
| fireTime | STRING | The exact date and time when the trigger was activated. |
| dateTime | DATE\_TIME | The date and time when the trigger was activated, formatted according to the specified timezone. |
| expression | STRING | The cron schedule expression that defines the timing pattern for triggering the workflow. |
| timezone | STRING | The timezone used for scheduling the cron expression, ensuring the trigger fires at the correct local time. |
#### JSON Example [#json-example-4]
```json
{
"label" : "Cron",
"name" : "cron",
"parameters" : {
"expression" : "",
"timezone" : ""
},
"type" : "schedule/v1/cron"
}
```
# ByteChef Reference: ScrapeGraphAI
URL: /reference/components/scrape-graph-ai_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/scrape-graph-ai_v1.mdx
ScrapeGraphAI is a web scraping python library that uses LLM and direct graph logic to create scraping pipelines for websites and local documents.
Categories: Artificial Intelligence
Type: scrapeGraphAi/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | Value | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to the dashboard at [https://dashboard.scrapegraphai.com/login](https://dashboard.scrapegraphai.com/login).
2. Copy the API key. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Get SmartCrawler Status [#get-smartcrawler-status]
Name: getCrawlStatus
`Get the status and results of a previous smartcrawl request.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :----: | :---------------------------: | :------: |
| task\_id | Task Id | STRING | The ID of the crawl job task. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get SmartCrawler Status",
"name" : "getCrawlStatus",
"parameters" : {
"task_id" : ""
},
"type" : "scrapeGraphAi/v1/getCrawlStatus"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------: |
| status | STRING | Overall status of the request. |
| result | OBJECT Properties \{STRING(status), \{}(llm\_result), \[STRING]\(crawled\_urls), \[\{STRING(url), STRING(markdown)}]\(pages)} | The crawl job result. |
#### Output Example [#output-example]
```json
{
"status" : "",
"result" : {
"status" : "",
"llm_result" : { },
"crawled_urls" : [ "" ],
"pages" : [ {
"url" : "",
"markdown" : ""
} ]
}
}
```
#### Find Task ID [#find-task-id]
To find Task ID, click [here](/reference/components/scrape-graph-ai_v1#how-to-find-task-id).
### Markdownify [#markdownify]
Name: markdownify
`Convert any webpage into clean, readable Markdown format.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :----: | :----------: | :------: |
| website\_url | Website URL | STRING | Website URL. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Markdownify",
"name" : "markdownify",
"parameters" : {
"website_url" : ""
},
"type" : "scrapeGraphAi/v1/markdownify"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------: | :----: | :---------------------------------------------------------------------------: |
| request\_id | STRING | Unique identifier for the request. |
| status | STRING | Status of the request. One of: “queued”, “processing”, “completed”, “failed”. |
| website\_url | STRING | The original website URL that was submitted. |
| result | STRING | The search results. |
| error | STRING | Error message if the request failed. Empty string if successful. |
#### Output Example [#output-example-1]
```json
{
"request_id" : "",
"status" : "",
"website_url" : "",
"result" : "",
"error" : ""
}
```
### Search Scraper [#search-scraper]
Name: searchScraper
`Start a AI-powered web search request.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :----: | :-------------------------------------------: | :------: |
| user\_prompt | User Prompt | STRING | The search query or question you want to ask. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Scraper",
"name" : "searchScraper",
"parameters" : {
"user_prompt" : ""
},
"type" : "scrapeGraphAi/v1/searchScraper"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------: | :-------------------------------------------------------------: | :---------------------------------------------------------------------------: |
| request\_id | STRING | Unique identifier for the search request. |
| status | STRING | Status of the request. One of: “queued”, “processing”, “completed”, “failed”. |
| user\_prompt | STRING | The original search query that was submitted. |
| result | OBJECT Properties \{} | The search results. |
| reference\_urls | ARRAY Items \[STRING] | List of URLs that were used as references for the answer. |
| error | STRING | Error message if the request failed. Empty string if successful. |
#### Output Example [#output-example-2]
```json
{
"request_id" : "",
"status" : "",
"user_prompt" : "",
"result" : { },
"reference_urls" : [ "" ],
"error" : ""
}
```
### Smart Scraper [#smart-scraper]
Name: smartScraper
`Extract content from a webpage using AI by providing a natural language prompt and a URL.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :----: | :-------------------------------------------: | :------: |
| user\_prompt | User Prompt | STRING | The search query or question you want to ask. | true |
| website\_url | Website URL | STRING | Website URL. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Smart Scraper",
"name" : "smartScraper",
"parameters" : {
"user_prompt" : "",
"website_url" : ""
},
"type" : "scrapeGraphAi/v1/smartScraper"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----------: | :-------------------------------------------------------------: | :---------------------------------------------------------------------------: |
| request\_id | STRING | Unique identifier for the search request. |
| status | STRING | Status of the request. One of: “queued”, “processing”, “completed”, “failed”. |
| website\_url | STRING | The original website URL that was submitted. |
| user\_prompt | STRING | The original search query that was submitted. |
| result | OBJECT Properties \{} | The search results. |
| error | STRING | Error message if the request failed. Empty string if successful. |
#### Output Example [#output-example-3]
```json
{
"request_id" : "",
"status" : "",
"website_url" : "",
"user_prompt" : "",
"result" : { },
"error" : ""
}
```
### Start SmartCrawler [#start-smartcrawler]
Name: startCrawl
`Start a new web crawl request with AI extraction or markdown conversion.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :----------------: | :--------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------: | :------: |
| url | URL | STRING | The starting URL for the crawl. | true |
| prompt | Prompt | STRING | Instructions for data extraction. Required when extraction\_mode is true. | false |
| extraction\_mode | Extraction Mode | BOOLEAN Options true , false | When false, enables markdown conversion mode (2 credits per page). Default is true. | false |
| cache\_website | Cache Website | BOOLEAN Options true , false | Whether to cache the website content. | false |
| depth | Depth | INTEGER | Maximum crawl depth. | false |
| max\_pages | Max Pages | INTEGER | Maximum number of pages to crawl. | false |
| same\_domain\_only | Same Domain Only | BOOLEAN Options true , false | Whether to crawl only the same domain. | false |
| batch\_size | Batch Size | INTEGER | Number of pages to process in each batch. | false |
| schema | Schema | OBJECT Properties \{} | JSON Schema object for structured output. | false |
| rules | Rules | OBJECT Properties \{\[STRING]\(exclude), \[STRING]\(include\_paths), \[STRING]\(exclude\_paths), BOOLEAN(same\_domain)} | Crawl rules for filtering URLs. | false |
| sitemap | Sitemap | BOOLEAN Options true , false | Use sitemap.xml for discovery. | false |
| render\_heavy\_js | Render Heavy JS | BOOLEAN Options true , false | Enable heavy JavaScript rendering. | false |
| stealth | Stealth | BOOLEAN Options true , false | Enable stealth mode to bypass bot protection using advanced anti-detection techniques. Adds +4 credits to the request cost. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Start SmartCrawler",
"name" : "startCrawl",
"parameters" : {
"url" : "",
"prompt" : "",
"extraction_mode" : false,
"cache_website" : false,
"depth" : 1,
"max_pages" : 1,
"same_domain_only" : false,
"batch_size" : 1,
"schema" : { },
"rules" : {
"exclude" : [ "" ],
"include_paths" : [ "" ],
"exclude_paths" : [ "" ],
"same_domain" : false
},
"sitemap" : false,
"render_heavy_js" : false,
"stealth" : false
},
"type" : "scrapeGraphAi/v1/startCrawl"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :------: | :----: | :-----------------------------------------------------------------------------------: |
| task\_id | STRING | Unique identifier for the crawl task. Use this task\_id to retrieve the crawl result. |
#### Output Example [#output-example-4]
```json
{
"task_id" : ""
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Task ID [#how-to-find-task-id]
Task ID can be found in the output of the following actions:
* **Start SmartCrawler**
# ByteChef Reference: Script
URL: /reference/components/script_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/script_v1.mdx
Executes user-defined code. User can write custom workflow logic in Java, JavaScript, Python, R or Ruby programming languages.
Categories: Helpers, Developer Tools
Type: script/v1
## Actions [#actions]
### JavaScript [#javascript]
Name: javascript
`Executes custom JavaScript code.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :-------------: | :-------------------------------------------------------------: | :--------------------------------------------------: | :------: |
| input | Input | OBJECT Properties \{} | Initialize parameter values used in the custom code. | false |
| script | JavaScript Code | STRING | Add your JavaScript custom logic here. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "JavaScript",
"name" : "javascript",
"parameters" : {
"input" : { },
"script" : ""
},
"type" : "script/v1/javascript"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Python [#python]
Name: python
`Executes custom Python code.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :---------: | :-------------------------------------------------------------: | :--------------------------------------------------: | :------: |
| input | Input | OBJECT Properties \{} | Initialize parameter values used in the custom code. | false |
| script | Python Code | STRING | Add your Python custom logic here. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Python",
"name" : "python",
"parameters" : {
"input" : { },
"script" : ""
},
"type" : "script/v1/python"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Ruby [#ruby]
Name: ruby
`Executes custom Ruby code.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----: | :-------: | :-------------------------------------------------------------: | :--------------------------------------------------: | :------: |
| input | Input | OBJECT Properties \{} | Initialize parameter values used in the custom code. | false |
| script | Ruby Code | STRING | Add your Ruby custom logic here. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Ruby",
"name" : "ruby",
"parameters" : {
"input" : { },
"script" : ""
},
"type" : "script/v1/ruby"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# Additional Instructions [#additional-instructions]
### Calling a Component Inside a Script [#calling-a-component-inside-a-script]
To call a component inside a script, you need to use the `context.component` object which gives you references to components and their actions.
For example, to call `logger` component and its `info` action in `javascript` you can use the following code:
```javascript
function perform(input, context) {
context.component.logger.info({'text': 'Hello World!!!'})
return null;
}
```
### Adding Component Connection [#adding-component-connection]
If you want to call an action of a component which requires a connection you can define its connection inside the Script editor:
1. Click on **+** button.
2. Click on add **Script** component to the workflow.
3. Choose **Python** action.
4. Click on **Properties** tab.
5. Click on **Open Code Editor**.
6. Click on **Add Component**.
7. Enter name of your connection.
8. Click on **Select...** and choose your component connection.
9. Click on **Add**.
10. Select connection you want to use in the Script for that component.
Example of usage:
```javascript
function perform(input, context) {
context.component.googleMaps.getAddress({'latitude': 12.5, 'longitude': 45.8});
return null;
}
```
### Defining Multiple Connections [#defining-multiple-connections]
You can also define multiple connections of the same component and then reference a particular connection when calling the action:
1. Click on **Add Component**.
2. Add another **Google Maps** connection with different name.
3. To define which connection will be used for what action call, add connection name as the parameter of the action.
4. In this case it looks like this: `context.component.googleMaps.getAddress({'latitude': 12.5, 'longitude': 45.8}, 'googleMaps2');`.
Example of usage:
```javascript
function perform(input, context) {
context.component.googleMaps.getAddress({'latitude': 12.5, 'longitude': 45.8}, 'googleMaps2');
context.component.googleMaps.getAddress({'latitude': 12.5, 'longitude': 45.8}, 'googleMaps');
return null;
}
```
# ByteChef Reference: Secret Keys
URL: /reference/components/secretKeys_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/secretKeys_v1.mdx
Detects - and optionally masks - API keys and credential-shaped secrets.
Categories: Artificial Intelligence
Type: secretKeys/v1
# ByteChef Reference: SendFox
URL: /reference/components/sendfox_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/sendfox_v1.mdx
SendFox lets you automate email campaigns, complete with custom opt-in forms and landing pages, so you're not tanking your budget to get new subscribers.
Categories: Advertising
Type: sendfox/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Find OAuth Client ID and Client Secret [#find-oauth-client-id-and-client-secret]
1. Navigate to your dashboard.
2. Click this icon.
3. Click on **Settings**.
4. Click on **API**.
5. Click on **Create New Client**.
6. Enter OAuth client name.
7. Enter a redirect URI, e.g., [http://127.0.0.1:5173/callback](http://127.0.0.1:5173/callback), [https://app.bytechef.io/callback](https://app.bytechef.io/callback). Click on **Create**.
8. Here you can see your credentials.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :-----------: | :--------------------------------------------------------------: | :-------------------------------------------: | :------: |
| email | Email Address | STRING | Email address of the contact. | true |
| first\_name | First Name | STRING | First name of the contact. | false |
| last\_name | Last Name | STRING | Last name of the contact. | false |
| lists | Lists | ARRAY Items \[INTEGER] | Lists to which the new contact will be added. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"email" : "",
"first_name" : "",
"last_name" : "",
"lists" : [ 1 ]
},
"type" : "sendfox/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------: |
| id | INTEGER | ID of the contact. |
| email | STRING | Email of the contact. |
| first\_name | STRING | First name of the contact. |
| last\_name | STRING | Last name of the contact. |
| ip\_address | STRING | IP address of the contact. |
| unsubscribed\_at | STRING | Date when the contact unsubscribed. |
| bounced\_at | STRING | Date when the contact was bounced. |
| created\_at | STRING | Date when the contact was created. |
| updated\_at | STRING | Date when the contact was updated. |
| form\_id | INTEGER | Form ID of the contact. |
| contact\_import\_id | INTEGER | Contact import ID of the contact. |
| via\_api | BOOLEAN Options true , false | Whether the contact was created via API. |
| last\_opened\_at | STRING | Date when the contact last opened an email. |
| last\_clicked\_at | STRING | Date when the contact last clicked an email. |
| first\_sent\_at | STRING | Date when the first email was sent to the contact. |
| last\_sent\_at | STRING | Date when the last email was sent to the contact. |
| invalid\_at | STRING | Date when the contact became invalid. |
| inactive\_at | STRING | Date when the contact became invalid. |
| confirmed\_at | STRING | Date when the contact confirmed the subscription. |
| social\_platform\_id | INTEGER | Social platform ID of the contact. |
| confirmation\_sent\_at | STRING | Date when the confirmation for the subscription was sent to the contact. |
| confirmation\_sent\_count | INTEGER | How many confirmation emails were sent. |
| created\_ago | STRING | How many seconds ago was the contact created. |
| contact\_fields | ARRAY Items \[\{STRING(name), STRING(value)}] | Additional contact information. |
#### Output Example [#output-example]
```json
{
"id" : 1,
"email" : "",
"first_name" : "",
"last_name" : "",
"ip_address" : "",
"unsubscribed_at" : "",
"bounced_at" : "",
"created_at" : "",
"updated_at" : "",
"form_id" : 1,
"contact_import_id" : 1,
"via_api" : false,
"last_opened_at" : "",
"last_clicked_at" : "",
"first_sent_at" : "",
"last_sent_at" : "",
"invalid_at" : "",
"inactive_at" : "",
"confirmed_at" : "",
"social_platform_id" : 1,
"confirmation_sent_at" : "",
"confirmation_sent_count" : 1,
"created_ago" : "",
"contact_fields" : [ {
"name" : "",
"value" : ""
} ]
}
```
### Create List [#create-list]
Name: createList
`Creates a new list.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------------: | :------: |
| name | Name | STRING | Name of the list. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create List",
"name" : "createList",
"parameters" : {
"name" : ""
},
"type" : "sendfox/v1/createList"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------: | :-----: | :-----------------------------: |
| name | STRING | Name of the list. |
| created\_at | STRING | Date when the list was created. |
| id | INTEGER | ID of the list. |
#### Output Example [#output-example-1]
```json
{
"name" : "",
"created_at" : "",
"id" : 1
}
```
### Unsubscribe Contact [#unsubscribe-contact]
Name: unsubscribeContact
`Unsubscribes a contact.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :-------------------: | :------: |
| email | Email | STRING | Email of the Contact. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Unsubscribe Contact",
"name" : "unsubscribeContact",
"parameters" : {
"email" : ""
},
"type" : "sendfox/v1/unsubscribeContact"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----------------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------: |
| id | INTEGER | ID of the contact. |
| email | STRING | Email of the contact. |
| first\_name | STRING | First name of the contact. |
| last\_name | STRING | Last name of the contact. |
| ip\_address | STRING | IP address of the contact. |
| unsubscribed\_at | STRING | Date when the contact unsubscribed. |
| bounced\_at | STRING | Date when the contact was bounced. |
| created\_at | STRING | Date when the contact was created. |
| updated\_at | STRING | Date when the contact was updated. |
| form\_id | INTEGER | Form ID of the contact. |
| contact\_import\_id | INTEGER | Contact import ID of the contact. |
| via\_api | BOOLEAN Options true , false | Whether the contact was created via API. |
| last\_opened\_at | STRING | Date when the contact last opened an email. |
| last\_clicked\_at | STRING | Date when the contact last clicked an email. |
| first\_sent\_at | STRING | Date when the first email was sent to the contact. |
| last\_sent\_at | STRING | Date when the last email was sent to the contact. |
| invalid\_at | STRING | Date when the contact became invalid. |
| inactive\_at | STRING | Date when the contact became invalid. |
| confirmed\_at | STRING | Date when the contact confirmed the subscription. |
| social\_platform\_id | INTEGER | Social platform ID of the contact. |
| confirmation\_sent\_at | STRING | Date when the confirmation for the subscription was sent to the contact. |
| confirmation\_sent\_count | INTEGER | How many confirmation emails were sent. |
| created\_ago | STRING | How many seconds ago was the contact created. |
| contact\_fields | ARRAY Items \[\{STRING(name), STRING(value)}] | Additional contact information. |
#### Output Example [#output-example-2]
```json
{
"id" : 1,
"email" : "",
"first_name" : "",
"last_name" : "",
"ip_address" : "",
"unsubscribed_at" : "",
"bounced_at" : "",
"created_at" : "",
"updated_at" : "",
"form_id" : 1,
"contact_import_id" : 1,
"via_api" : false,
"last_opened_at" : "",
"last_clicked_at" : "",
"first_sent_at" : "",
"last_sent_at" : "",
"invalid_at" : "",
"inactive_at" : "",
"confirmed_at" : "",
"social_platform_id" : 1,
"confirmation_sent_at" : "",
"confirmation_sent_count" : 1,
"created_ago" : "",
"contact_fields" : [ {
"name" : "",
"value" : ""
} ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Sendgrid
URL: /reference/components/sendgrid_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/sendgrid_v1.mdx
Trusted for reliable email delivery at scale.
Categories: Communication, Marketing Automation
Type: sendgrid/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Open your Dashboard: [https://app.sendgrid.com](https://app.sendgrid.com) .
2. Click on **Settings** and choose **API Keys**.
3. Click on **Create API Key**.
4. Enter **API Key Name**, choose **Full Access** permissions and click on **Create & View**.
5. Copy your generated API key and use it in Bytechef.
## Actions [#actions]
### Send Email [#send-email]
Name: sendEmail
`Sends an email.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------: | :------: |
| from | From | STRING | Email address from which you want to send. | true |
| to | To | ARRAY Items \[STRING] | Email addresses which you want to send to. | true |
| cc | CC | ARRAY Items \[STRING] | Email address which receives a copy. | false |
| subject | Subject | STRING | Subject of your email. | true |
| text | Message Body | STRING | The message you want to send. | true |
| type | Message Type | STRING Options text/plain , text/html | Message type for your content. | true |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | A list of attachments you want to include with the email. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send Email",
"name" : "sendEmail",
"parameters" : {
"from" : "",
"to" : [ "" ],
"cc" : [ "" ],
"subject" : "",
"text" : "",
"type" : "",
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "sendgrid/v1/sendEmail"
}
```
#### Output [#output]
This action does not produce any output.
### Send Dynamic Template [#send-dynamic-template]
Name: sendDynamicTemplate
`Send an email using a dynamic template.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---------------------: | :-------------------: | :------------------------------------------------------------------: | :-------------------------------------------------------: | :------: |
| from | From | STRING | Email address from which you want to send. | true |
| to | To | ARRAY Items \[STRING] | Email addresses which you want to send to. | true |
| cc | CC | ARRAY Items \[STRING] | Email address which receives a copy. | false |
| template\_id | Template ID | STRING | Dynamic template ID. | true |
| dynamic\_template\_data | Dynamic Template Data | OBJECT Properties \{} | Data passed to the SendGrid dynamic template. | false |
| attachments | Attachments | ARRAY Items \[FILE\_ENTRY] | A list of attachments you want to include with the email. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send Dynamic Template",
"name" : "sendDynamicTemplate",
"parameters" : {
"from" : "",
"to" : [ "" ],
"cc" : [ "" ],
"template_id" : "",
"dynamic_template_data" : { },
"attachments" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "sendgrid/v1/sendDynamicTemplate"
}
```
#### Output [#output-1]
This action does not produce any output.
#### Find Template ID [#find-template-id]
To find the Template ID, click [here](/reference/components/sendgrid_v1#how-to-find-template-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Template ID [#how-to-find-template-id]
* **Method 1: Via UI**
To find a Template ID, open your dashboard. In the left bar choose Email API -> Dynamic Templates. Expand the template you want to use and there you will find Template ID.
* **Method 2: Via API**
Use the `GET /templates?generations=dynamic` endpoint to retrieve a list of all dynamic templates and their IDs.
# ByteChef Reference: Session Chat Memory
URL: /reference/components/session-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/session-chat-memory_v1.mdx
Event-sourced session-based chat memory.
Categories: Artificial Intelligence
Type: sessionChatMemory/v1
# ByteChef Reference: Shopify
URL: /reference/components/shopify_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/shopify_v1.mdx
Shopify is an e-commerce platform that allows businesses to create online stores and sell products.
Categories: E-commerce
Type: shopify/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :------------------------------------------: | :------: |
| shopName | Shop Name | STRING | Shopify shop name e.g. name.myshopify.com. | true |
| clientId | Client Id | STRING | Client ID can be found in Dev Dashboard. | true |
| clientSecret | Client Secret | STRING | Client secret can be found in Dev Dashboard. | true |
## Connection Setup [#connection-setup]
### Create Shopify App (Credentials and Shop Name) [#create-shopify-app-credentials-and-shop-name]
1. Navigate to [https://dev.shopify.com/dashboard/](https://dev.shopify.com/dashboard/).
2. Click on **Create app**.
3. Enter App name and click on **Create**.
4. Enter app and redirect url. Depending on which version of ByteChef you are using enter link or link for **Redirect URL**. And link or link for **App URL**.
5. Enter required scopes:
read\_customers,read\_draft\_orders,read\_orders,write\_orders,write\_products
and click on **Release**
6. Click on **Release**.
7. Click on **Settings**.
8. Here you can see your credentials.
9. Click on your account icon.
10. Click on shop you want to connect to.
11. Click on **Settings**.
12. Here you can see your **Shop name**.
13. Done 🚀.
### Install Shopify App [#install-shopify-app]
1. Navigate to [https://dev.shopify.com/dashboard/](https://dev.shopify.com/dashboard/).
2. Click your app.
3. Click on **Install app**.
4. Choose Shopify store you want to install your app in.
5. Click on **Install**.
6. Click on **Settings**.
7. Click on **Apps and sales channels**.
8. Here you can see your app is installed.
9. Done. 🚀
### Enable Read All Orders Permission [#enable-read-all-orders-permission]
1. Navigate to [https://partners.shopify.com/organizations](https://partners.shopify.com/organizations).
2. Choose your organization.
3. Click on your app.
4. Click on **API access requests**.
5. Click on **Choose distribution**.
6. Click on **Custom Distribution**.
7. Click on **Select**.
8. Click on **Select custom distribution**.
9. Enter your **Shop name** here. In this example it is `bytechef-test-store.myshopify.com`.
10. Click on **Generate link**.
11. Click on **Generate link**.
12. Click on **API access requests**.
13. Click on **Request access** under **Read all orders scope**.
14. Enter reason here.
15. Click on **Request access**.
16. Navigate to [https://dev.shopify.com/dashboard/](https://dev.shopify.com/dashboard/).
17. Click on your app.
18. Click on **Versions**.
19. Click **Create a version**.
20. Add `read_all_orders` to scopes.
21. Click on **Release**.
22. Click on **Release**.
23. Done 🚀.
## Actions [#actions]
### Cancel Order [#cancel-order]
Name: cancelOrder
`Cancels an order, with options for refunding, restocking inventory, and customer notification.Order cancellation is irreversible.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------------------: | :-----------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------: | :------: |
| orderId | Order ID | STRING | ID of the order to cancel. | true |
| reason | Reason | STRING Options CUSTOMER , DECLINED , FRAUD , INVENTORY , OTHER , STAFF | The reason for canceling the order. | true |
| restock | Restock | BOOLEAN Options true , false | Whether to restock the inventory committed to the order. | true |
| staffNote | Staff Note | STRING | A staff-facing note about the order cancellation. This is not visible to the customer. | false |
| originalPaymentMethodsRefund | Original Payment Methods Refund | BOOLEAN Options true , false | Whether to refund to the original payment method. | false |
| notifyCustomer | Notify Customer | BOOLEAN Options true , false | Whether to send a notification to the customer about the order cancellation. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Cancel Order",
"name" : "cancelOrder",
"parameters" : {
"orderId" : "",
"reason" : "",
"restock" : false,
"staffNote" : "",
"originalPaymentMethodsRefund" : false,
"notifyCustomer" : false
},
"type" : "shopify/v1/cancelOrder"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--------: | :-----------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------: |
| job | OBJECT Properties \{BOOLEAN(done), STRING(id), STRING(query)} | The job that asynchronously cancels the order. |
| userErrors | ARRAY Items \[\{STRING(field), STRING(message)}] | The list of errors that occurred from executing the mutation. |
#### Output Example [#output-example]
```json
{
"job" : {
"done" : false,
"id" : "",
"query" : ""
},
"userErrors" : [ {
"field" : "",
"message" : ""
} ]
}
```
#### Find order ID [#find-order-id]
To find the Order ID, click [here](/reference/components/shopify_v1#how-to-find-your-order-id).
### Close Order [#close-order]
Name: closeOrder
`Marks an open Order as closed. A closed order is one where merchants fulfill or cancel all LineItem objects and complete all financial transactions.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :-----------------------: | :------: |
| orderId | Order ID | STRING | ID of the order to close. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Close Order",
"name" : "closeOrder",
"parameters" : {
"orderId" : ""
},
"type" : "shopify/v1/closeOrder"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------: |
| order | OBJECT Properties \{BOOLEAN(canMarkAsPaid), \{}(cancelReason), DATE\_TIME(cancelledAt), STRING(clientIp), BOOLEAN(confirmed), \[STRING(\$discountCode)]\(discountCodes)} | The closed order. |
| userErrors | ARRAY Items \[\{STRING(field), STRING(message)}] | The list of errors that occurred from executing the mutation. |
#### Output Example [#output-example-1]
```json
{
"order" : {
"canMarkAsPaid" : false,
"cancelReason" : { },
"cancelledAt" : "2021-01-01T00:00:00",
"clientIp" : "",
"confirmed" : false,
"discountCodes" : [ "" ]
},
"userErrors" : [ {
"field" : "",
"message" : ""
} ]
}
```
#### Find order ID [#find-order-id-1]
To find the Order ID, click [here](/reference/components/shopify_v1#how-to-find-your-order-id).
### Create Order [#create-order]
Name: createOrder
`Creates an order with attributes such as customer information, line items, and shipping and billing addresses.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :------: | :---------------------------------------------------------------------------------------------------------: | :---------------------------------: | :------: |
| products | Products | ARRAY Items \[\{STRING(productId), INTEGER(quantity)}(\$product)] | List of products you want to order. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Order",
"name" : "createOrder",
"parameters" : {
"products" : [ {
"productId" : "",
"quantity" : 1
} ]
},
"type" : "shopify/v1/createOrder"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------: |
| order | OBJECT Properties \{STRING(id), \{\[\{STRING(id), STRING(title), INTEGER(quantity), \{STRING(id)}(variant)}]\(nodes)}(lineItems)} | The created order. |
| userErrors | ARRAY Items \[\{STRING(field), STRING(message)}] | The list of errors that occurred from executing the mutation. |
#### Output Example [#output-example-2]
```json
{
"order" : {
"id" : "",
"lineItems" : {
"nodes" : [ {
"id" : "",
"title" : "",
"quantity" : 1,
"variant" : {
"id" : ""
}
} ]
}
},
"userErrors" : [ {
"field" : "",
"message" : ""
} ]
}
```
#### Find product ID [#find-product-id]
To find the Product ID, click [here](/reference/components/shopify_v1#how-to-find-your-product-id).
### Create Product [#create-product]
Name: createProduct
`Create new product for your store.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------: | :------: |
| title | Title | STRING | Title of new product. | true |
| productOptions | Product Options | ARRAY Items \[\{STRING(name), \[STRING($value)]\(values)}\($productOption)] | Options that will describe the product, for example: size, color. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Product",
"name" : "createProduct",
"parameters" : {
"title" : "",
"productOptions" : [ {
"name" : "",
"values" : [ "" ]
} ]
},
"type" : "shopify/v1/createProduct"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------: |
| product | OBJECT Properties \{STRING(id), STRING(title), \[\{STRING(id), STRING(name), INTEGER(position), \[\{STRING(id), STRING(name), BOOLEAN(hasVariants)}]\(optionValues)}]\(options)} | The created product. |
| userErrors | ARRAY Items \[\{STRING(field), STRING(message)}] | The list of errors that occurred from executing the mutation. |
#### Output Example [#output-example-3]
```json
{
"product" : {
"id" : "",
"title" : "",
"options" : [ {
"id" : "",
"name" : "",
"position" : 1,
"optionValues" : [ {
"id" : "",
"name" : "",
"hasVariants" : false
} ]
} ]
},
"userErrors" : [ {
"field" : "",
"message" : ""
} ]
}
```
### Delete Order [#delete-order]
Name: deleteOrder
`Deletes an order. Orders that interact with an online gateway can't be deleted.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :------------------------: | :------: |
| orderId | Order ID | STRING | ID of the order to delete. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Delete Order",
"name" : "deleteOrder",
"parameters" : {
"orderId" : ""
},
"type" : "shopify/v1/deleteOrder"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :--------: | :----------------------------------------------------------------------------------------: | :-----------------------------------------------------------: |
| deletedId | STRING | ID of the deleted order. |
| userErrors | ARRAY Items \[\{STRING(field), STRING(message)}] | The list of errors that occurred from executing the mutation. |
#### Output Example [#output-example-4]
```json
{
"deletedId" : "",
"userErrors" : [ {
"field" : "",
"message" : ""
} ]
}
```
#### Find order ID [#find-order-id-2]
To find the Order ID, click [here](/reference/components/shopify_v1#how-to-find-your-order-id).
### Get Abandoned Carts [#get-abandoned-carts]
Name: getAbandonedCarts
`Retrieves abandoned carts.`
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Get Abandoned Carts",
"name" : "getAbandonedCarts",
"type" : "shopify/v1/getAbandonedCarts"
}
```
#### Output [#output-5]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-11]
| Name | Type | Description |
| :------------------: | :---------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------: |
| id | STRING | ID of the abandoned cart. |
| abandonedCheckoutUrl | STRING | URL that leads to the abandoned checkout. |
| createdAt | STRING | DateTime when the cart was created. |
| customer | OBJECT Properties \{STRING(id), STRING(firstName), STRING(lastName), STRING(email)} | Customer info. |
#### Output Example [#output-example-5]
```json
[ {
"id" : "",
"abandonedCheckoutUrl" : "",
"createdAt" : "",
"customer" : {
"id" : "",
"firstName" : "",
"lastName" : "",
"email" : ""
}
} ]
```
### Get Order [#get-order]
Name: getOrder
`Get order by id.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----: | :--------------------------------: | :------: |
| orderId | Order ID | STRING | ID of the order you want to fetch. | true |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Get Order",
"name" : "getOrder",
"parameters" : {
"orderId" : ""
},
"type" : "shopify/v1/getOrder"
}
```
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-13]
| Name | Type | Description |
| :----------------------: | :---------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------: |
| id | STRING | Order ID |
| name | STRING | Order name |
| totalPriceSet | OBJECT Properties \{\{STRING(amount)}(presentmentMoney)} | The total price of the order, before returns, in shop and presentment currencies. |
| displayFulfillmentStatus | STRING | Fulfillment status of the order. |
| customer | OBJECT Properties \{STRING(email), STRING(phone)} | Customer information. |
| lineItems | OBJECT Properties \{\[\{STRING(id), STRING(name)}]\(nodes)} | A list of the order's line items. |
#### Output Example [#output-example-6]
```json
{
"id" : "",
"name" : "",
"totalPriceSet" : {
"presentmentMoney" : {
"amount" : ""
}
},
"displayFulfillmentStatus" : "",
"customer" : {
"email" : "",
"phone" : ""
},
"lineItems" : {
"nodes" : [ {
"id" : "",
"name" : ""
} ]
}
}
```
#### Find order ID [#find-order-id-3]
To find the Order ID, click [here](/reference/components/shopify_v1#how-to-find-your-order-id).
### Update Order [#update-order]
Name: updateOrder
`Update an existing order.`
#### Properties [#properties-14]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :--------------------------------------------------------------------: | :---------------------------------------------------------: | :------: |
| orderId | Order ID | STRING | ID of the order to update. | true |
| note | Note | STRING | An optional note that a shop owner can attach to the order. | false |
| email | Email | STRING | The customer's email address. | false |
| tags | Tags | ARRAY Items \[STRING(\$tag)] | Tags attached to the order. | false |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Update Order",
"name" : "updateOrder",
"parameters" : {
"orderId" : "",
"note" : "",
"email" : "",
"tags" : [ "" ]
},
"type" : "shopify/v1/updateOrder"
}
```
#### Output [#output-7]
Type: OBJECT
#### Properties [#properties-15]
| Name | Type | Description |
| :--------: | :----------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------: |
| order | OBJECT Properties \{STRING(id), STRING(note), STRING(email), \[STRING]\(tags)} | The updated order. |
| userErrors | ARRAY Items \[\{STRING(field), STRING(message)}] | The list of errors that occurred from executing the mutation. |
#### Output Example [#output-example-7]
```json
{
"order" : {
"id" : "",
"note" : "",
"email" : "",
"tags" : [ "" ]
},
"userErrors" : [ {
"field" : "",
"message" : ""
} ]
}
```
#### Find order ID [#find-order-id-4]
To find the Order ID, click [here](/reference/components/shopify_v1#how-to-find-your-order-id).
## Triggers [#triggers]
### New Cancelled Order [#new-cancelled-order]
Name: newCancelledOrder
`Triggers when order is cancelled.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-8]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Cancelled Order",
"name" : "newCancelledOrder",
"type" : "shopify/v1/newCancelledOrder"
}
```
### New Order [#new-order]
Name: newOrder
`Triggers when new order is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-9]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-1]
```json
{
"label" : "New Order",
"name" : "newOrder",
"type" : "shopify/v1/newOrder"
}
```
### New Paid Order [#new-paid-order]
Name: newPaidOrder
`Triggers when paid order is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-10]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-2]
```json
{
"label" : "New Paid Order",
"name" : "newPaidOrder",
"type" : "shopify/v1/newPaidOrder"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find your order ID [#how-to-find-your-order-id]
You can find it only if you are the store owner
1. You have order by its **order number** (e.g. #1042).
2. In your **Shopify Admin** go in **Orders**.
3. Find order you want to find ID for and open it.
4. In **URL** you will see number like this `/orders/7157417935093`
5. Because of that your order ID is **gid://shopify/Order/7157417935093**
### How to find your product ID [#how-to-find-your-product-id]
You can find it only if you are the store owner
1. In your **Shopify Admin** go in **Products**.
2. Find product you want to find ID for and open it.
3. In **URL** you will see number like this `/products/8335757639925`
4. Because of that your order ID is **gid://shopify/Product/8335757639925**
# ByteChef Reference: Slack
URL: /reference/components/slack_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/slack_v1.mdx
Slack is a messaging platform for teams to communicate and collaborate.
Categories: Communication, Developer Tools
Type: slack/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----------: | :------------: | :----: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
| signingSecret | Signing Secret | STRING | The Slack app's signing secret. When set, approval request messages use in-place Approve/Discard buttons resolved directly in Slack - configure the app's Interactivity Request URL to \/slack/interactivity. When unset, buttons link to the hosted approval form. | false |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 App [#create-oauth-20-app]
1. Navigate to [Slack App](https://api.slack.com/apps).
2. Click on **Create New App**.
3. Click on **From scratch**.
4. Enter name of your app and select workspace where it will be installed.
5. Click on **Create App**.
6. Click on **Basic Information**
7. Click on **OAuth & Permissions**.
8. Click on **Add New Redirect URL**. ByteChef redirect URL: [https://127.0.0.1:5173/callback](https://127.0.0.1:5173/callback) or [https://app.bytechef.io/callback](https://app.bytechef.io/callback).
9. Click on **Add**.
10. Click on **Save URLs**.
11. Click on **Add an OAuth Scope**.
* channels:read
* channels:write
* channels:history
* chat:write:bot
* groups:read
* reactions:read
* mpim:read
* users:read
* incoming-webhook
12. Under OAuth tokens click on **Install to ...**.
## Actions [#actions]
### Add Reaction [#add-reaction]
Name: addReaction
`Adds a reaction to a message.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :---------------------------------------------------------------------------: | :------: |
| channel | Channel ID | STRING | ID of the channel, private group, or IM channel where the message is located. | true |
| name | Emoji Name | STRING | Reaction (emoji) name to add. | true |
| timestamp | Timestamp | STRING | Timestamp of the message to add reaction to. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Reaction",
"name" : "addReaction",
"parameters" : {
"channel" : "",
"name" : "",
"timestamp" : ""
},
"type" : "slack/v1/addReaction"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------: |
| ok | BOOLEAN Options true , false | Indicates if the reaction was successfully added. |
| warning | STRING | |
| responseMetadata | OBJECT Properties \{\[STRING]\(messages)} | |
#### Output Example [#output-example]
```json
{
"ok" : false,
"warning" : "",
"responseMetadata" : {
"messages" : [ "" ]
}
}
```
#### Find Channel ID and Timestamp [#find-channel-id-and-timestamp]
To find the Channel ID, click [here](/reference/components/slack_v1#how-to-find-the-channel-id)
To find the Timestamp, click [here](/reference/components/slack_v1#how-to-find-the-timestamp)
### Send Approval Message [#send-approval-message]
Name: sendApprovalMessage
`Sends approval message to a channel.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :----: | :-------------------------------------------------------: | :------: |
| channel | Channel | STRING | Channel, private group, or IM channel to send message to. | true |
| text | Message | STRING | The text of your message. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send Approval Message",
"name" : "sendApprovalMessage",
"parameters" : {
"channel" : "",
"text" : ""
},
"type" : "slack/v1/sendApprovalMessage"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--------------: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------: |
| ok | BOOLEAN Options true , false | Indicates if the message was successfully sent. |
| channel | STRING | ID of the channel the message was sent to. |
| ts | STRING | Timestamp of the message. |
| message | OBJECT Properties \{STRING(user), STRING(type), STRING(ts), STRING(text), STRING(team), STRING(subtype)} | The sent message. |
| warning | STRING | |
| responseMetadata | OBJECT Properties \{\[STRING]\(messages)} | |
#### Output Example [#output-example-1]
```json
{
"ok" : false,
"channel" : "",
"ts" : "",
"message" : {
"user" : "",
"type" : "",
"ts" : "",
"text" : "",
"team" : "",
"subtype" : ""
},
"warning" : "",
"responseMetadata" : {
"messages" : [ "" ]
}
}
```
#### Find Channel ID [#find-channel-id]
To find the Channel ID, click [here](/reference/components/slack_v1#how-to-find-the-channel-id)
### Send Channel Message [#send-channel-message]
Name: sendChannelMessage
`Sends a message to a public or private channel.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :--------: | :--------: | :-----------------------------------------------------------------: | :------: |
| channel | Channel ID | STRING | ID of the channel, private group, or IM channel to send message to. | true |
| post\_at | Post at | DATE\_TIME | Date and time when the message should be sent. | false |
| text | Message | STRING | The text of your message. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Send Channel Message",
"name" : "sendChannelMessage",
"parameters" : {
"channel" : "",
"post_at" : "2021-01-01T00:00:00",
"text" : ""
},
"type" : "slack/v1/sendChannelMessage"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--------------: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------: |
| ok | BOOLEAN Options true , false | Indicates if the message was successfully sent. |
| channel | STRING | ID of the channel the message was sent to. |
| ts | STRING | Timestamp of the message. |
| message | OBJECT Properties \{STRING(user), STRING(type), STRING(ts), STRING(text), STRING(team), STRING(subtype)} | The sent message. |
| warning | STRING | |
| responseMetadata | OBJECT Properties \{\[STRING]\(messages)} | |
#### Output Example [#output-example-2]
```json
{
"ok" : false,
"channel" : "",
"ts" : "",
"message" : {
"user" : "",
"type" : "",
"ts" : "",
"text" : "",
"team" : "",
"subtype" : ""
},
"warning" : "",
"responseMetadata" : {
"messages" : [ "" ]
}
}
```
#### Find Channel ID [#find-channel-id-1]
To find the Channel ID, click [here](/reference/components/slack_v1#how-to-find-the-channel-id)
### Send Direct Message [#send-direct-message]
Name: sendDirectMessage
`Sends a direct message to another user in a workspace. If it hasn't already, a direct message conversation will be created.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :------: | :-----: | :--------: | :--------------------------------------------: | :------: |
| channel | User ID | STRING | ID of the user to send the direct message to. | true |
| post\_at | Post at | DATE\_TIME | Date and time when the message should be sent. | false |
| text | Message | STRING | The text of your message. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Send Direct Message",
"name" : "sendDirectMessage",
"parameters" : {
"channel" : "",
"post_at" : "2021-01-01T00:00:00",
"text" : ""
},
"type" : "slack/v1/sendDirectMessage"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--------------: | :------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------: |
| ok | BOOLEAN Options true , false | Indicates if the message was successfully sent. |
| channel | STRING | ID of the channel the message was sent to. |
| ts | STRING | Timestamp of the message. |
| message | OBJECT Properties \{STRING(user), STRING(type), STRING(ts), STRING(text), STRING(team), STRING(subtype)} | The sent message. |
| warning | STRING | |
| responseMetadata | OBJECT Properties \{\[STRING]\(messages)} | |
#### Output Example [#output-example-3]
```json
{
"ok" : false,
"channel" : "",
"ts" : "",
"message" : {
"user" : "",
"type" : "",
"ts" : "",
"text" : "",
"team" : "",
"subtype" : ""
},
"warning" : "",
"responseMetadata" : {
"messages" : [ "" ]
}
}
```
#### Find Channel ID [#find-channel-id-2]
To find the Channel ID, click [here](/reference/components/slack_v1#how-to-find-the-channel-id)
## Triggers [#triggers]
### Any Event [#any-event]
Name: anyEvent
`Triggers when any user subscribed event happens.`
Type: STATIC\_WEBHOOK
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "Any Event",
"name" : "anyEvent",
"type" : "slack/v1/anyEvent"
}
```
#### How to set up trigger [#how-to-set-up-trigger]
To find out how to set up trigger, click [here](/reference/components/slack_v1#enable-event-subscription).
### New Message [#new-message]
Name: newMessage
`Triggers when a user posts a message to a subscribed Slack channel. Events that are not messages and messages carrying no text are ignored, as are messages the bot itself posted, so an automation never responds to its own reply.`
Type: STATIC\_WEBHOOK
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :------------: | :------------------------------------------------------------------: | :-------------------------------------------------------: |
| conversationId | STRING | Identifier of the conversation the message was posted to. |
| message | STRING | Text of the message. |
| attachments | ARRAY Items \[FILE\_ENTRY] | Files that arrived with the message. |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Message",
"name" : "newMessage",
"type" : "slack/v1/newMessage"
}
```
#### How to set up trigger [#how-to-set-up-trigger-1]
To find out how to set up trigger, click [here](/reference/components/slack_v1#enable-event-subscription).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Channel ID [#how-to-find-the-channel-id]
Open Slack and then channel (or person you want to send direct message to) you want fo find ID of. When you click on channel name you will see Channel details, and in **About** tab the lowest written value is the **Channel ID**.
### How to find the Timestamp [#how-to-find-the-timestamp]
There is no other way to find the timestamp of a message than to use Slack API. So the best way to find timestamp is to use output of one of Bytechef's Slack actions.
In the output of the Slack actions you will find `ts` property, that is timestamp that you need.
## Trigger Setup [#trigger-setup]
### Enable Event Subscription [#enable-event-subscription]
1. Create workflow with Slack trigger.
2. Publish the workflow.
3. Click on **Publish**.
4. Go to **Project Deployments**.
5. Click on **Create Deployment**.
6. Select Slack Project.
7. Select Version.
8. Click on **Next**.
9. Enable workflow.
10. Select Connection.
11. Click on **Save**.
12. CAUTION - to verify the webhook URL leave deployment disabled!
13. Click on here to expand deployment.
14. Click this icon to get webhook URL.
15. Navigate to [link](https://api.slack.com/apps) and select your app.
16. Click on **Event Subscriptions**.
17. Enable Events.
18. Click on **Enable**.
19. Click on **Change**.
20. Enter copied webhook URL to verify it.
21. Click on **Subscribe to bot events**.
22. Click on **Add Bot User Event**.
23. You can select any event you want to trigger your workflow.
24. Click on **Save Changes**.
### Add Integration To Desired Channel [#add-integration-to-desired-channel]
For a workflow to be triggered by channel events, the integration or bot must first be added as a member of that channel. Slack only dispatches events to applications that are active participants in the channel - if the bot is not a member, no events from that channel will be received, and the workflow will not trigger.
1. Login into your Slack workspace.
2. Click three dots.
3. Click on **Channel details**.
4. Click on **Open channel details**.
5. Click on **Integrations**.
6. Click on **Add an App**.
7. Find your Slack app and click on **Add**.
8. Done 🚀.
# ByteChef Reference: Snowflake
URL: /reference/components/snowflake_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/snowflake_v1.mdx
Snowflake enables organizations to collaborate, build AI-powered data apps, and unlock data insights-all within a secure and scalable AI Data Cloud.
Categories: Analytics
Type: snowflake/v1
## Connections [#connections]
Version: 1
### oauth2\_authorization\_code [#oauth2_authorization_code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----------------: | :----------------: | :----: | :---------------------------------: | :------: |
| account\_identifier | Account Identifier | STRING | Account identifier of your account. | true |
| clientId | Client ID | STRING | Snowflake OAuth Client ID. | true |
| clientSecret | Client Secret | STRING | Snowflake OAuth Client Secret. | true |
## Connection Setup [#connection-setup]
### Find Account Identifier [#find-account-identifier]
1. Navigate to your Snowflake dashboard.
2. Click on your account in the lower left corner.
3. Click on **View account details**.
4. Here you can find your **Account Identifier**.
### Create Security Integration [#create-security-integration]
1. Navigate to your Snowflake dashboard.
2. Click on **Worksheets**.
3. Click on **+** to create SQL worksheet.
4. Paste this into worksheet, just change NAME to the name of your security integration:
CREATE SECURITY INTEGRATION NAME
TYPE = oauth
ENABLED = true
OAUTH\_CLIENT = custom
OAUTH\_CLIENT\_TYPE = 'CONFIDENTIAL'
OAUTH\_REDIRECT\_URI = '[http://127.0.0.1:5173/callback](http://127.0.0.1:5173/callback)'
OAUTH\_ISSUE\_REFRESH\_TOKENS = TRUE
OAUTH\_ALLOW\_NON\_TLS\_REDIRECT\_URI = true
OAUTH\_REFRESH\_TOKEN\_VALIDITY = 86400;
5. Click on this icon.
### Find Client ID and Secret [#find-client-id-and-secret]
[https://docs.snowflake.com/sql-reference/functions/system\_show\_oauth\_client\_secrets](https://docs.snowflake.com/sql-reference/functions/system_show_oauth_client_secrets)
1. Navigate to your Snowflake dashboard.
2. Click on **Worksheets**.
3. Click on **+** to create SQL worksheet.
4. Paste this into worksheet, just change NAME to the name of your security integration:
`SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('BYTECHEF');`
5. Run SQL worksheet.
### Role Has Been Blocked Error [#role-has-been-blocked-error]
1. Navigate to your Snowflake dashboard.
2. Click on **Worksheets**.
3. Click on **+** to create SQL worksheet.
4. Paste this into worksheet, just change NAME to the name of your security integration:
`ALTER ACCOUNT SET OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST = FALSE;`
## Actions [#actions]
### Delete Row [#delete-row]
Name: deleteRow
`Delete row from the table.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :--------------------------------------------------------------------------: | :--------------------------------------------------------------: | :------: |
| database | Database | STRING | | true |
| schema | Schema | STRING Depends On database | | true |
| table | Table | STRING Depends On schema, database | | true |
| condition | Condition | STRING | Condition that will be checked in the column. Example: column1=5 | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Row",
"name" : "deleteRow",
"parameters" : {
"database" : "",
"schema" : "",
"table" : "",
"condition" : ""
},
"type" : "snowflake/v1/deleteRow"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| resultSetMetaData | OBJECT Properties \{INTEGER(numRows), STRING(format), \[STRING($name), STRING\($database), STRING($schema), STRING\($table), \{}($scale), {}\($precision), INTEGER($length), STRING\($type), BOOLEAN($nullable), INTEGER\($byteLength), \{}($collation)]\(rowType), [INTEGER\($rowCount), INTEGER(\$uncompressedSize)]\(partitionInfo)} | |
| data | ARRAY Items \[] | |
| code | STRING | |
| statementStatusUrl | STRING | |
| sqlState | STRING | |
| statementHandle | STRING | |
| message | STRING | |
| createdOn | DATE | |
| stats | ARRAY Items \[] | |
#### Output Example [#output-example]
```json
{
"resultSetMetaData" : {
"numRows" : 1,
"format" : "",
"rowType" : [ "", "", "", "", { }, { }, 1, "", false, 1, { } ],
"partitionInfo" : [ 1, 1 ]
},
"data" : [ ],
"code" : "",
"statementStatusUrl" : "",
"sqlState" : "",
"statementHandle" : "",
"message" : "",
"createdOn" : "2021-01-01",
"stats" : [ ]
}
```
### Execute SQL [#execute-sql]
Name: executeSql
`Execute SQL statement.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----: | :----------------------------------: | :------: |
| statement | Statement | STRING | SQL statement that will be executed. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Execute SQL",
"name" : "executeSql",
"parameters" : {
"statement" : ""
},
"type" : "snowflake/v1/executeSql"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| resultSetMetaData | OBJECT Properties \{INTEGER(numRows), STRING(format), \[STRING($name), STRING\($database), STRING($schema), STRING\($table), \{}($scale), {}\($precision), INTEGER($length), STRING\($type), BOOLEAN($nullable), INTEGER\($byteLength), \{}($collation)]\(rowType), [INTEGER\($rowCount), INTEGER(\$uncompressedSize)]\(partitionInfo)} | |
| data | ARRAY Items \[] | |
| code | STRING | |
| statementStatusUrl | STRING | |
| sqlState | STRING | |
| statementHandle | STRING | |
| message | STRING | |
| createdOn | DATE | |
| stats | ARRAY Items \[] | |
#### Output Example [#output-example-1]
```json
{
"resultSetMetaData" : {
"numRows" : 1,
"format" : "",
"rowType" : [ "", "", "", "", { }, { }, 1, "", false, 1, { } ],
"partitionInfo" : [ 1, 1 ]
},
"data" : [ ],
"code" : "",
"statementStatusUrl" : "",
"sqlState" : "",
"statementHandle" : "",
"message" : "",
"createdOn" : "2021-01-01",
"stats" : [ ]
}
```
### Insert Row [#insert-row]
Name: insertRow
`Insert row into the table.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----------------------------------------------------------------------------------------------: | :---------: | :------: |
| database | Database | STRING | | true |
| schema | Schema | STRING Depends On database | | true |
| table | Table | STRING Depends On schema, database | | true |
| values | | DYNAMIC\_PROPERTIES Depends On database, schema, table | | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Insert Row",
"name" : "insertRow",
"parameters" : {
"database" : "",
"schema" : "",
"table" : "",
"values" : { }
},
"type" : "snowflake/v1/insertRow"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| resultSetMetaData | OBJECT Properties \{INTEGER(numRows), STRING(format), \[STRING($name), STRING\($database), STRING($schema), STRING\($table), \{}($scale), {}\($precision), INTEGER($length), STRING\($type), BOOLEAN($nullable), INTEGER\($byteLength), \{}($collation)]\(rowType), [INTEGER\($rowCount), INTEGER(\$uncompressedSize)]\(partitionInfo)} | |
| data | ARRAY Items \[] | |
| code | STRING | |
| statementStatusUrl | STRING | |
| sqlState | STRING | |
| statementHandle | STRING | |
| message | STRING | |
| createdOn | DATE | |
| stats | ARRAY Items \[] | |
#### Output Example [#output-example-2]
```json
{
"resultSetMetaData" : {
"numRows" : 1,
"format" : "",
"rowType" : [ "", "", "", "", { }, { }, 1, "", false, 1, { } ],
"partitionInfo" : [ 1, 1 ]
},
"data" : [ ],
"code" : "",
"statementStatusUrl" : "",
"sqlState" : "",
"statementHandle" : "",
"message" : "",
"createdOn" : "2021-01-01",
"stats" : [ ]
}
```
### Update Row [#update-row]
Name: updateRow
`Update row from the table.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----------------------------------------------------------------------------------------------: | :--------------------------------------------------------------: | :------: |
| database | Database | STRING | | true |
| schema | Schema | STRING Depends On database | | true |
| table | Table | STRING Depends On schema, database | | true |
| condition | Condition | STRING | Condition that will be checked in the column. Example: column1=5 | true |
| values | | DYNAMIC\_PROPERTIES Depends On database, schema, table | | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Row",
"name" : "updateRow",
"parameters" : {
"database" : "",
"schema" : "",
"table" : "",
"condition" : "",
"values" : { }
},
"type" : "snowflake/v1/updateRow"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| resultSetMetaData | OBJECT Properties \{INTEGER(numRows), STRING(format), \[STRING($name), STRING\($database), STRING($schema), STRING\($table), \{}($scale), {}\($precision), INTEGER($length), STRING\($type), BOOLEAN($nullable), INTEGER\($byteLength), \{}($collation)]\(rowType), [INTEGER\($rowCount), INTEGER(\$uncompressedSize)]\(partitionInfo)} | |
| data | ARRAY Items \[] | |
| code | STRING | |
| statementStatusUrl | STRING | |
| sqlState | STRING | |
| statementHandle | STRING | |
| message | STRING | |
| createdOn | DATE | |
| stats | ARRAY Items \[] | |
#### Output Example [#output-example-3]
```json
{
"resultSetMetaData" : {
"numRows" : 1,
"format" : "",
"rowType" : [ "", "", "", "", { }, { }, 1, "", false, 1, { } ],
"partitionInfo" : [ 1, 1 ]
},
"data" : [ ],
"code" : "",
"statementStatusUrl" : "",
"sqlState" : "",
"statementHandle" : "",
"message" : "",
"createdOn" : "2021-01-01",
"stats" : [ ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Spotify
URL: /reference/components/spotify_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/spotify_v1.mdx
Spotify is a popular music streaming service that offers a vast library of songs, podcasts, and playlists for users to enjoy.
Categories:
Type: spotify/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect Spotify to ByteChef using OAuth 2.0 (Authorization Code).
### Create a Spotify OAuth app [#create-a-spotify-oauth-app]
1. Go to your [Dashboard](https://developer.spotify.com/dashboard).
2. Click on the **Create app**.
3. Enter an app name and description of your choice.
4. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://127.0.0.1:5173/callback`
5. Select Web API, put a tick in the Developer Terms of Service checkbox and finally click **Save**.
6. Click **View client secret**.
7. Copy **Client ID** and **Client Secret**.
## Actions [#actions]
### Add Items to a Playlist [#add-items-to-a-playlist]
Name: addItemsToPlaylist
`Adds one or more items to your playlist.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :-------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| playlist\_id | Playlist ID | STRING | ID of the playlist the items will be added to. | true |
| uris | Tracks | ARRAY Items \[STRING] | | true |
| position | Position | INTEGER | Position to insert the items, a zero-based index. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Items to a Playlist",
"name" : "addItemsToPlaylist",
"parameters" : {
"playlist_id" : "",
"uris" : [ "" ],
"position" : 1
},
"type" : "spotify/v1/addItemsToPlaylist"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----------: | :----: | :------------------------------: |
| snapshot\_id | STRING | The snapshot ID of the playlist. |
#### Output Example [#output-example]
```json
{
"snapshot_id" : ""
}
```
#### Find playlist ID [#find-playlist-id]
1. In your Spotify web app open a playlist you want to find ID for.
2. In **URL** you will see number like this `/playlist/3rfk5UPuFRMexzVirYZliv`
3. Because of that your playlist ID is **3rfk5UPuFRMexzVirYZliv**
### Play/Resume Playback [#playresume-playback]
Name: startResumePlayback
`Start or resume current playback on an active device.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :-------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------: | :------: |
| deviceId | Device ID | STRING | The id of the device this command is targeting. If not supplied, the user's currently active device is the target. | false |
| context\_uri | Context Uri | STRING | Spotify URI of the context to play (album, artist, playlist). | false |
| uris | Tracks | ARRAY Items \[STRING] | Spotify track URIs to play. | false |
| position\_ms | Position | INTEGER | The position in milliseconds to start playback from. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Play/Resume Playback",
"name" : "startResumePlayback",
"parameters" : {
"deviceId" : "",
"context_uri" : "",
"uris" : [ "" ],
"position_ms" : 1
},
"type" : "spotify/v1/startResumePlayback"
}
```
#### Output [#output-1]
This action does not produce any output.
### Create Playlist [#create-playlist]
Name: createPlaylist
`Creates a new playlist`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-----------: | :-----------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------: | :------: |
| name | Name | STRING | The name for the new playlist. | true |
| description | Description | STRING | The description for the new playlist. | false |
| public | Public | BOOLEAN Options true , false | The public status for the new playlist. | true |
| collaborative | Collaborative | BOOLEAN Options true , false | If the playlist is collaborative or not. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Playlist",
"name" : "createPlaylist",
"parameters" : {
"name" : "",
"description" : "",
"public" : false,
"collaborative" : false
},
"type" : "spotify/v1/createPlaylist"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :------------: | :----------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------: |
| collaborative | BOOLEAN Options true , false | Indicates if the owner allows other users to modify the playlist. |
| description | STRING | The playlist description. |
| external\_urls | OBJECT Properties \{STRING(spotify)} | Known external URLs for this playlist. |
| href | STRING | A link to the Web API endpoint providing full details of the playlist. |
| id | STRING | The Spotify ID for the playlist. |
| name | STRING | The name of the playlist. |
| type | STRING | The object type: 'playlist'. |
| uri | STRING | The Spotify URI for the playlist. |
| owner | OBJECT Properties \{STRING(href), STRING(id), STRING(type), STRING(uri)} | The user who owns the playlist. |
| public | BOOLEAN Options true , false | The playlist's public/private status. |
#### Output Example [#output-example-1]
```json
{
"collaborative" : false,
"description" : "",
"external_urls" : {
"spotify" : ""
},
"href" : "",
"id" : "",
"name" : "",
"type" : "",
"uri" : "",
"owner" : {
"href" : "",
"id" : "",
"type" : "",
"uri" : ""
},
"public" : false
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Stability AI
URL: /reference/components/stability_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/stability_v1.mdx
Activating humanity's potential through generative AI. Open models in every modality, for everyone, everywhere.
Categories: Artificial Intelligence
Type: stability/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| token | API Key | STRING | | true |
## Connection Setup [#connection-setup]
1. Navigate to [Stability AI developer console](https://platform.stability.ai/account/keys).
2. Click on **Create API Key**.
3. Click here to copy the API key.
4. Done 🚀.
## Actions [#actions]
### Create Image [#create-image]
Name: createImage
`Create an image using text-to-image models`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----------------: | :------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------: | :------: |
| model | Model | STRING | The model to use for image generation. | false |
| imageMessages | Messages | ARRAY Items \[\{STRING(content), NUMBER(weight)}] | A list of messages comprising the conversation so far. | true |
| height | Height | INTEGER | Height of the image to generate, in pixels, in an increment divisible by 64. Engine-specific dimension validation applies. | true |
| width | Width | INTEGER | Width of the image to generate, in pixels, in an increment divisible by 64. Engine-specific dimension validation applies. | true |
| n | Number of Responses | INTEGER | The number of images to generate. Must be between 1 and 10. For dall-e-3, only n=1 is supported.. | false |
| responseFormat | Response format | STRING Options URL , B64\_JSON | The format in which the generated images are returned. | false |
| style | Style | STRING Options THREE\_D\_MODEL , ANALOG\_FILM , ANIME , CINEMATIC , COMIC\_BOOK , DIGITAL\_ART , ENHANCE , FANTASY\_ART , ISOMETRIC , LINE\_ART , LOW\_POLY , MODELING\_COMPOUND , NEON\_PUNK , ORIGAMI , PHOTOGRAPHIC , PIXEL\_ART , TILE\_TEXTURE | Pass in a style preset to guide the image model towards a particular style. This list of style presets is subject to change. | true |
| steps | Steps | INTEGER | Number of diffusion steps to run. Valid range: 10 to 50. | false |
| cfgScale | CFG scale | NUMBER | The strictness level of the diffusion process adherence to the prompt text. Range: 0 to 35. | false |
| clipGuidancePreset | Clip guidance preset | STRING | Pass in a style preset to guide the image model towards a particular style. This list of style presets is subject to change. | false |
| sampler | Sampler | STRING | Which sampler to use for the diffusion process. If this value is omitted, an appropriate sampler will be automatically selected. | false |
| seed | Seed | NUMBER | Random noise seed (omit this option or use 0 for a random seed). Valid range: 0 to 4294967295. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Image",
"name" : "createImage",
"parameters" : {
"model" : "",
"imageMessages" : [ {
"content" : "",
"weight" : 0.0
} ],
"height" : 1,
"width" : 1,
"n" : 1,
"responseFormat" : "",
"style" : "",
"steps" : 1,
"cfgScale" : 0.0,
"clipGuidancePreset" : "",
"sampler" : "",
"seed" : 0.0
},
"type" : "stability/v1/createImage"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :----: | :-----------------------------------------: |
| url | STRING | URL of the generated image. |
| b64Json | STRING | Base64 encoded JSON of the generated image. |
#### Output Example [#output-example]
```json
{
"url" : "",
"b64Json" : ""
}
```
# ByteChef Reference: Stripe
URL: /reference/components/stripe_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/stripe_v1.mdx
Stripe is a payment processing platform that allows businesses to accept online payments and manage transactions securely.
Categories: Payment Processing
Type: stripe/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
### Find Token [#find-token]
1. Navigate to [Stripe](https://dashboard.stripe.com) dashboard.
2. Click on **Settings**.
3. Click on **Developers**.
4. Click on **Manage API Keys**.
5. Here you can se your **API Key**.
6. Done 🚀.
## Actions [#actions]
### Create Customer [#create-customer]
Name: createCustomer
`Creates a new customer.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------: | :------: |
| email | Email | STRING | The customer’s email address. | false |
| name | Name | STRING | The customer's full name. | false |
| description | Description | STRING | A description of the customer. | false |
| phone | Phone | STRING | The customer’s phone number. | false |
| address | Address | OBJECT Properties \{STRING(city), STRING(country), STRING(line1), STRING(line2), STRING(postal\_code), STRING(state)} | The customer's address. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Customer",
"name" : "createCustomer",
"parameters" : {
"email" : "",
"name" : "",
"description" : "",
"phone" : "",
"address" : {
"city" : "",
"country" : "",
"line1" : "",
"line2" : "",
"postal_code" : "",
"state" : ""
}
},
"type" : "stripe/v1/createCustomer"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------: |
| id | STRING | ID of the customer. |
| description | STRING | Description of the customer. |
| email | STRING | Email address of the customer. |
| name | STRING | The customer's full name. |
| phone | STRING | Phone number of the customer. |
| address | OBJECT Properties \{STRING(city), STRING(country), STRING(line1), STRING(line2), STRING(postal\_code), STRING(state)} | Customer's address. |
#### Output Example [#output-example]
```json
{
"id" : "",
"description" : "",
"email" : "",
"name" : "",
"phone" : "",
"address" : {
"city" : "",
"country" : "",
"line1" : "",
"line2" : "",
"postal_code" : "",
"state" : ""
}
}
```
### Create Invoice [#create-invoice]
Name: createInvoice
`Creates a new invoice.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----: | :------------------------------------: | :------: |
| customer | Customer ID | STRING | ID of the customer who will be billed. | true |
| currency | Currency | STRING | Currency used for invoice. | true |
| description | Description | STRING | Description for the invoice. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Invoice",
"name" : "createInvoice",
"parameters" : {
"customer" : "",
"currency" : "",
"description" : ""
},
"type" : "stripe/v1/createInvoice"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------: | :----: | :------------------------------------: |
| id | STRING | ID of the invoice. |
| customer | STRING | ID of the customer who will be billed. |
| currency | STRING | Currency used for invoice. |
| description | STRING | Description for the invoice. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"customer" : "",
"currency" : "",
"description" : ""
}
```
#### Find Customer ID [#find-customer-id]
To find the Customer ID, click [here](/reference/components/stripe_v1#how-to-find-customer-id).
### Create Payout [#create-payout]
Name: createPayout
`Create a payout.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :------: | :--------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| amount | Amount | INTEGER | A positive integer in cents representing how much to payout. | true |
| currency | Currency | STRING | Three-letter ISO currency code in lowercase. Must be a currency supported by Stripe. | true |
| method | Method | STRING Options instant , standard | The method used to send this payout, which is `standard` or `instant`. | false |
| metadata | Metadata | OBJECT Properties \{} | Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Payout",
"name" : "createPayout",
"parameters" : {
"amount" : 1,
"currency" : "",
"method" : "",
"metadata" : { }
},
"type" : "stripe/v1/createPayout"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--------------------: | :---------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------: |
| amount | INTEGER | The amount (in cents (or local equivalent)) that transfers to your bank account or debit card. |
| arrival\_date | INTEGER | Date that you can expect the payout to arrive in the bank. This factors in delays to account for weekends or bank holidays. |
| automatic | BOOLEAN Options true , false | Returns `true` if the payout is created by an automated payout schedule and `false` if it's requested manually. |
| created | INTEGER | Time at which the object was created. |
| currency | STRING | Three-letter ISO currency code in lowercase. |
| id | STRING | Unique identifier for the object. |
| livemode | BOOLEAN Options true , false | If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. |
| method | STRING | The method used to send this payout, which can be `standard` or `instant`. |
| object | STRING | String representing the object's type. Objects of the same type share the same value. |
| reconciliation\_status | STRING | If `completed`, you can use the Balance Transactions API to list all balance transactions that are paid out in this payout. |
| source\_type | STRING | The source balance this payout came from, which can be one of the following: `card`, `fpx` or `bank_account`. |
| status | STRING | Current status of the payout. |
| type | STRING | Can be `bank_account` or `card`. |
#### Output Example [#output-example-2]
```json
{
"amount" : 1,
"arrival_date" : 1,
"automatic" : false,
"created" : 1,
"currency" : "",
"id" : "",
"livemode" : false,
"method" : "",
"object" : "",
"reconciliation_status" : "",
"source_type" : "",
"status" : "",
"type" : ""
}
```
### Create Subscription [#create-subscription]
Name: createSubscription
`Creates a new subscription.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----------------------: | :--------------------: | :---------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| customer | Customer ID | STRING | ID of the customer to subscribe. | true |
| items | Items | ARRAY Items \[\{STRING(price), STRING(coupon), INTEGER(quantity)}] | A list of up to 20 subscription items. | true |
| collection\_method | Collection Method | STRING Options charge\_automatically , send\_invoice | When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. | false |
| days\_until\_due | Days Until Due | INTEGER | Number of days a customer has to pay invoices generated by this subscription. | true |
| default\_payment\_method | Default Payment Method | STRING Depends On customer | ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. | false |
| metadata | null | OBJECT Properties \{} | Set of key-value pairs that you can attach to an object. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Subscription",
"name" : "createSubscription",
"parameters" : {
"customer" : "",
"items" : [ {
"price" : "",
"coupon" : "",
"quantity" : 1
} ],
"collection_method" : "",
"days_until_due" : 1,
"default_payment_method" : "",
"metadata" : { }
},
"type" : "stripe/v1/createSubscription"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :---------------------: | :---------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| automatic\_tax | OBJECT Properties \{} | Tax rates that apply to automatic tax calculations. |
| billing\_cycle\_anchor | INTEGER | The reference point that aligns future billing cycle dates. |
| billing\_mode | OBJECT Properties \{} | Billing mode of the subscription. |
| cancel\_at\_period\_end | BOOLEAN Options true , false | Whether this subscription is cancel at the end of the current billing period. |
| collection\_method | STRING | When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. |
| created | INTEGER | Time at which the object was created. |
| currency | STRING | Three-letter ISO currency code in lowercase. |
| customer | STRING | ID of the customer who owns the subscription. |
| discounts | ARRAY Items \[STRING] | The discounts applied to the subscription. |
| id | STRING | Unique identifier for the object. |
| invoice\_settings | OBJECT Properties \{} | Invoice settings for the subscription. |
| items | OBJECT Properties \{\[\{}]\(data), BOOLEAN(has\_more), STRING(object), STRING(url)} | List of subscription items, each with an attached price. |
| livemode | BOOLEAN Options true , false | If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. |
| metadata | OBJECT Properties \{} | Set of key-value pairs that you can attach to an object. |
| object | STRING | String representing the object's type. Objects of the same type share the same value. |
| start\_date | INTEGER | Date when the subscription was first created. |
| status | STRING | Status of the subscription. |
#### Output Example [#output-example-3]
```json
{
"automatic_tax" : { },
"billing_cycle_anchor" : 1,
"billing_mode" : { },
"cancel_at_period_end" : false,
"collection_method" : "",
"created" : 1,
"currency" : "",
"customer" : "",
"discounts" : [ "" ],
"id" : "",
"invoice_settings" : { },
"items" : {
"data" : [ { } ],
"has_more" : false,
"object" : "",
"url" : ""
},
"livemode" : false,
"metadata" : { },
"object" : "",
"start_date" : 1,
"status" : ""
}
```
#### Find Customer ID [#find-customer-id-1]
To find the Customer ID, click [here](/reference/components/stripe_v1#how-to-find-customer-id).
#### Find Price ID [#find-price-id]
To find the Price ID, click [here](/reference/components/stripe_v1#how-to-find-price-id).
#### Find Coupon ID [#find-coupon-id]
To find the Coupon ID, click [here](/reference/components/stripe_v1#how-to-find-coupon-id).
#### Find Default Payment Method [#find-default-payment-method]
To find the Default Payment Method, click [here](/reference/components/stripe_v1#how-to-find-default-payment-method).
### Update Subscription [#update-subscription]
Name: updateSubscription
`Updates an existing subscription.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :----------------------: | :--------------------: | :---------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| customer | Customer ID | STRING | ID of the customer to subscribe. | true |
| subscription | Subscription ID | STRING Depends On customer | Unique identifier of the subscription to update. | true |
| items | Items | ARRAY Items \[\{STRING(price), STRING(coupon), INTEGER(quantity)}] | A list of up to 20 subscription items. | false |
| collection\_method | Collection Method | STRING Options charge\_automatically , send\_invoice | When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. | false |
| days\_until\_due | Days Until Due | INTEGER | Number of days a customer has to pay invoices generated by this subscription. | true |
| default\_payment\_method | Default Payment Method | STRING Depends On customer | ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. | false |
| metadata | null | OBJECT Properties \{} | Set of key-value pairs that you can attach to an object. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Update Subscription",
"name" : "updateSubscription",
"parameters" : {
"customer" : "",
"subscription" : "",
"items" : [ {
"price" : "",
"coupon" : "",
"quantity" : 1
} ],
"collection_method" : "",
"days_until_due" : 1,
"default_payment_method" : "",
"metadata" : { }
},
"type" : "stripe/v1/updateSubscription"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :---------------------: | :---------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| automatic\_tax | OBJECT Properties \{} | Tax rates that apply to automatic tax calculations. |
| billing\_cycle\_anchor | INTEGER | The reference point that aligns future billing cycle dates. |
| billing\_mode | OBJECT Properties \{} | Billing mode of the subscription. |
| cancel\_at\_period\_end | BOOLEAN Options true , false | Whether this subscription is cancel at the end of the current billing period. |
| collection\_method | STRING | When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. |
| created | INTEGER | Time at which the object was created. |
| currency | STRING | Three-letter ISO currency code in lowercase. |
| customer | STRING | ID of the customer who owns the subscription. |
| discounts | ARRAY Items \[STRING] | The discounts applied to the subscription. |
| id | STRING | Unique identifier for the object. |
| invoice\_settings | OBJECT Properties \{} | Invoice settings for the subscription. |
| items | OBJECT Properties \{\[\{}]\(data), BOOLEAN(has\_more), STRING(object), STRING(url)} | List of subscription items, each with an attached price. |
| livemode | BOOLEAN Options true , false | If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. |
| metadata | OBJECT Properties \{} | Set of key-value pairs that you can attach to an object. |
| object | STRING | String representing the object's type. Objects of the same type share the same value. |
| start\_date | INTEGER | Date when the subscription was first created. |
| status | STRING | Status of the subscription. |
#### Output Example [#output-example-4]
```json
{
"automatic_tax" : { },
"billing_cycle_anchor" : 1,
"billing_mode" : { },
"cancel_at_period_end" : false,
"collection_method" : "",
"created" : 1,
"currency" : "",
"customer" : "",
"discounts" : [ "" ],
"id" : "",
"invoice_settings" : { },
"items" : {
"data" : [ { } ],
"has_more" : false,
"object" : "",
"url" : ""
},
"livemode" : false,
"metadata" : { },
"object" : "",
"start_date" : 1,
"status" : ""
}
```
#### Find Customer ID [#find-customer-id-2]
To find the Customer ID, click [here](/reference/components/stripe_v1#how-to-find-customer-id).
#### Find Subscription ID [#find-subscription-id]
To find the Subscription ID, click [here](/reference/components/stripe_v1#how-to-find-subscription-id).
#### Find Price ID [#find-price-id-1]
To find the Price ID, click [here](/reference/components/stripe_v1#how-to-find-price-id).
#### Find Coupon ID [#find-coupon-id-1]
To find the Coupon ID, click [here](/reference/components/stripe_v1#how-to-find-coupon-id).
#### Find Default Payment Method [#find-default-payment-method-1]
To find the Default Payment Method, click [here](/reference/components/stripe_v1#how-to-find-default-payment-method).
## Triggers [#triggers]
### New Customer [#new-customer]
Name: newCustomer
`Triggers when a new customer is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-11]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------: |
| id | STRING | ID of the customer. |
| object | STRING | Value is 'customer'. |
| description | STRING | Description of the customer. |
| email | STRING | Email of the customer. |
| name | STRING | Name of the customer. |
| phone | STRING | Phone number of the customer. |
| address | OBJECT Properties \{STRING(city), STRING(country), STRING(line1), STRING(line2), STRING(postal\_code), STRING(state)} | Address of the customer. |
#### JSON Example [#json-example]
```json
{
"label" : "New Customer",
"name" : "newCustomer",
"type" : "stripe/v1/newCustomer"
}
```
### New Invoice [#new-invoice]
Name: newInvoice
`Triggers on a new invoice.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :------------: | :----: | :--------------------------------------: |
| id | STRING | ID of the invoice. |
| object | STRING | Value is 'invoice'. |
| currency | STRING | Currency of the invoice. |
| customer | STRING | ID of the customer who will be billed. |
| customer\_name | STRING | Name of the customer who will be billed. |
| description | STRING | Description of the invoice. |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Invoice",
"name" : "newInvoice",
"type" : "stripe/v1/newInvoice"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Customer ID [#how-to-find-customer-id]
* **Method 1: Via API**
Use the `GET /customers` endpoint to retrieve a list of all customers and their IDs.
* **Method 2: Via UI**
Open your Stripe dashboard and on the left bar your will find Customers. Open the customer you want and you can find Customer ID under Details on the right. If you see Account ID instead of Customer ID, you can click three dots next to the ID and there you have Copy customer ID button.
The Customer ID can also be found in the output of the following actions and triggers:
* **Create Customer**
* **Create Invoice**
* **Create Subscription**
* **Update Subscription**
* **New Customer** trigger
* **New Invoice** trigger
### How to find Price ID [#how-to-find-price-id]
* **Method 1: Via API**
Use the `GET /prices` endpoint to retrieve a list of all prices and their IDs.
* **Method 2: Via UI**
Open your Stripe dashboard and on the left bar your will find Product catalog. There is an Export prices button that downloads a file with all prices.
### How to find Coupon ID [#how-to-find-coupon-id]
* **Method 1: Via API**
Use the `GET /coupons` endpoint to retrieve a list of all coupons and their IDs.
* **Method 2: Via UI**
Open your Stripe dashboard and on the left bar your will find Product catalog. Below the title you will find a Coupons tab. Enter the coupon you want and you will ID under Details.
### How to find Default Payment Method [#how-to-find-default-payment-method]
* **Method 1: Via API**
Use the `GET /customers/CUSTOMER_ID/payment_methods` endpoint to retrieve a list of all payment methods and their IDs.
* **Method 2: Via UI**
Open your Stripe dashboard and on the left bar your will find Customers. Open the customer you want and under Payment methods you will find list of payment methods. Find the one you want to use, click on three dots on the right and there you will find a button Copy ID.
### How to find Subscription ID [#how-to-find-subscription-id]
* **Method 1: Via API**
Use the `GET /subscriptions` endpoint to retrieve a list of all subscriptions and their IDs.
* **Method 2: Via UI**
Open your Stripe dashboard and on the left bar your will find Subscriptions. Open the subscription you want and you can find ID under Details on the right.
The Subscription ID can also be found in the output of the following actions:
* **Create Subscription**
* **Update Subscription**
# ByteChef Reference: Supabase
URL: /reference/components/supabase_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/supabase_v1.mdx
Supabase is an open source Firebase alternative. Start your project with a Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, Storage, and Vector embeddings.
Categories: Developer Tools
Type: supabase/v1
## Connections [#connections]
Version: 1
### bearer\_token [#bearer_token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------: | :-------------: | :----: | :-----------------------------------------------------------------------: | :------: |
| projectUrl | Project URL | STRING | Can be found in Project Settings -> Data API. | true |
| token | Project API Key | STRING | Can be found in Project Settings -> API Keys. Copy key under Secret keys. | true |
## Connection Setup [#connection-setup]
### Find Project URL [#find-project-url]
1. Navigate to your [Supabase dashboard](https://supabase.com/).
2. Click on **Dashboard**.
3. Click on your organization.
4. Click on your project.
5. Click on **Project Settings**.
6. Click on **Data API**.
7. Click on **Copy**.
### Find Project API Key [#find-project-api-key]
1. Navigate to your [Supabase dashboard](https://supabase.com/).
2. Click on **Dashboard**.
3. Click on your organization.
4. Click on your project.
5. Click on **Project Settings**.
6. Click on **API Keys**.
7. Here you can copy your Secret key.
## Actions [#actions]
### Upload File [#upload-file]
Name: uploadFile
`Upload file to Supabase Bucket.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :---------: | :-------------------------------------: | :------: |
| bucketName | Bucket Name | STRING | | true |
| fileName | File Name | STRING | Name of the file that will be uploaded. | true |
| file | File Entry | FILE\_ENTRY | File you want to upload to Supabase. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Upload File",
"name" : "uploadFile",
"parameters" : {
"bucketName" : "",
"fileName" : "",
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
},
"type" : "supabase/v1/uploadFile"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :----: | :--------------------------------: |
| Key | STRING | Key of the file that was uploaded. |
| Id | STRING | Id of the file that was uploaded. |
#### Output Example [#output-example]
```json
{
"Key" : "",
"Id" : ""
}
```
#### How to find Bucket Name [#how-to-find-bucket-name]
1. Navigate to your [Supabase dashboard](https://supabase.com/).
2. Click on **Dashboard**.
3. Click on your organization.
4. Click on your project.
5. Click on **Storage**.
6. There you can see your buckets and their names.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Tavily
URL: /reference/components/tavily_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/tavily_v1.mdx
Tavily is an AI-powered search tool designed to help users quickly find accurate, relevant and up-to-date information from the web.
Categories: Artificial Intelligence
Type: tavily/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to the dashboard at [https://www.tavily.com/](https://www.tavily.com/).
2. You can use default API key. To create new API key, click on "+" sign.
3. Name your key and click Create.
4. Copy the API key. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Extract [#extract]
Name: extract
`Extract web page content from one or more specified URLs.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------------: | :------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------: | :------: |
| urls | URLs | ARRAY Items \[STRING] | A list of URLs to extract content from. | true |
| include\_images | Include Images | BOOLEAN Options true , false | Include a list of images extracted from the URLs in the response. | false |
| extract\_depth | Extract Depth | STRING Options basic , advanced | The depth of the extraction process. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Extract",
"name" : "extract",
"parameters" : {
"urls" : [ "" ],
"include_images" : false,
"extract_depth" : ""
},
"type" : "tavily/v1/extract"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------------: | :---------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------: |
| results | ARRAY Items \[\{STRING(url), STRING(raw\_content), \[STRING]\(images)}] | A list of extracted content from the provided URLs. |
| failed\_results | ARRAY Items \[\{STRING(url), STRING(error)}] | A list of URLs that could not be processed. |
| response\_time | NUMBER | Time in seconds it took to complete the request. |
#### Output Example [#output-example]
```json
{
"results" : [ {
"url" : "",
"raw_content" : "",
"images" : [ "" ]
} ],
"failed_results" : [ {
"url" : "",
"error" : ""
} ],
"response_time" : 0.0
}
```
### Search [#search]
Name: search
`Execute a search query.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------------: | :------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------: | :------: |
| query | Query | STRING | The search query to execute. | true |
| topic | Topic | STRING Options general , news | The category of the search. | false |
| search\_depth | Search Depth | STRING Options basic , advanced | The depth of the search. | false |
| time\_range | Time Range | STRING Options day , week , month , year | The time range back from the current date to filter results. | false |
| max\_results | Max Results | INTEGER | The maximum number of search results to return. | false |
| include\_answer | Include Answer | BOOLEAN Options true , false | Include an LLM-generated answer to the provided query. | false |
| include\_images | Include Images | BOOLEAN Options true , false | Perform an image search and include the results in the response. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Search",
"name" : "search",
"parameters" : {
"query" : "",
"topic" : "",
"search_depth" : "",
"time_range" : "",
"max_results" : 1,
"include_answer" : false,
"include_images" : false
},
"type" : "tavily/v1/search"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------: | :--------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------: |
| query | STRING | The search query that was executed. |
| answer | STRING | A short answer to the user's query, generated by an LLM. Included in the response only if include\_answer is requested. |
| images | ARRAY Items \[\{}] | List of query-related images. |
| results | ARRAY Items \[\{STRING(title), STRING(url), STRING(content), NUMBER(score)}] | A list of sorted search results, ranked by relevancy. |
| response\_time | NUMBER | Time in seconds it took to complete the request. |
#### Output Example [#output-example-1]
```json
{
"query" : "",
"answer" : "",
"images" : [ { } ],
"results" : [ {
"title" : "",
"url" : "",
"content" : "",
"score" : 0.0
} ],
"response_time" : 0.0
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Teamwork
URL: /reference/components/teamwork_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/teamwork_v1.mdx
Teamwork is a project management software that helps teams collaborate, organize tasks, and track progress efficiently.
Categories: CRM, Project Management
Type: teamwork/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :------------: | :----: | :----------------------------------------: | :------: |
| siteName | Your site name | STRING | e.g. https\://\{yourSiteName}.teamwork.com | true |
| username | API Key | STRING | | true |
## Connection Setup [#connection-setup]
### Find API Token [#find-api-token]
1. Navigate to your [Teamwork](https://www.teamwork.com/) dashboard.
2. Click on your account icon.
3. Click on **Edit my details**.
4. Click on **API & Mobile**.
5. Click on **Show your Token**.
6. Now you can copy your **API Token**.
7. Exit pop up window.
8. Click on your account icon.
9. Click on **Settings**.
10. Here you can see yore site name.
11. Done 🚀.
## Actions [#actions]
### Create Company [#create-company]
Name: createCompany
`Creates a new company.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :-----: | :---------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| company | Company | OBJECT Properties \{STRING(name), STRING(emailOne), STRING(phone), STRING(website)} | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Company",
"name" : "createCompany",
"parameters" : {
"company" : {
"name" : "",
"emailOne" : "",
"phone" : "",
"website" : ""
}
},
"type" : "teamwork/v1/createCompany"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------: | :----: | :---------------------------: |
| name | STRING | The name of the company. |
| emailOne | STRING | Email address of the company. |
| phone | STRING | Phone number for the company. |
| website | STRING | The company's website. |
#### Output Example [#output-example]
```json
{
"name" : "",
"emailOne" : "",
"phone" : "",
"website" : ""
}
```
### Create Task [#create-task]
Name: createTask
`Create a new task.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :----------: | :-----------------------------------------------------------------------------------------------------------: | :--------------------------------: | :------: |
| tasklistId | Task List ID | INTEGER | Task list where new task is added. | true |
| task | Task | OBJECT Properties \{STRING(name), STRING(description), DATE(dueAt)} | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"tasklistId" : 1,
"task" : {
"name" : "",
"description" : "",
"dueAt" : "2021-01-01"
}
},
"type" : "teamwork/v1/createTask"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------: | :----: | :----------------------: |
| name | STRING | Name of the task. |
| description | STRING | Description of the task. |
| dueAt | STRING | Due date of the task. |
#### Output Example [#output-example-1]
```json
{
"name" : "",
"description" : "",
"dueAt" : ""
}
```
#### Find Task List ID [#find-task-list-id]
To find the Task List ID, click [here](/reference/components/teamwork_v1#how-to-find-task-list-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Task List ID [#how-to-find-task-list-id]
* **Method 1: Via API**
Use the `GET /tasklists` endpoint to retrieve a list of all task lists and their IDs.
* **Method 2: Via UI**
Open your Teamwork dashboard and navigate to the project you want to use. In the left-hand menu, you’ll see a list of task lists and select the one you need. Once opened, check the URL in your browser. The Task List ID is the number shown in the URL.
For example, in the URL `https://bytechef.teamwork.com/app/tasklists/3369352/list`, the Task List ID is `3369352`.
# ByteChef Reference: Telegram
URL: /reference/components/telegram_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/telegram_v1.mdx
Telegram is a cloud-based messaging platform that enables users to send messages, media, and files, and supports automation and integrations through its API.
Categories: Communication
Type: telegram/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------------: | :------------------: | :----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| botToken | Bot Token | STRING | | true |
| webhookSecretToken | Webhook Secret Token | STRING | Optional secret token set when registering this bot's webhook (setWebhook) at \/telegram/interactivity. When set, field-less approval requests use in-place Approve/Discard buttons resolved through that webhook, verified against this token. Use a bot dedicated to approvals, since a bot has a single webhook. Leave empty to deliver approval links to the hosted form. | false |
## Connection Setup [#connection-setup]
### Create a Telegram Bot and get the Bot Token [#create-a-telegram-bot-and-get-the-bot-token]
1. In Telegram, start a chat with [`BotFather`](https://telegram.me/BotFather).
2. Send the `/newbot` command and follow the prompts:
* Choose a display name (can be changed later).
* Choose a unique username that ends with `bot` (e.g., `my_bytechef_bot`).
3. Copy the Bot Token provided by BotFather (format: `1234567890:AA...`). Keep it secret.
Helpful links:
* Telegram Bot API: [https://core.telegram.org/bots/api](https://core.telegram.org/bots/api)
## Actions [#actions]
### Send Media [#send-media]
Name: sendMedia
`Sends a media message through a Telegram bot.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------------------------: | :----------------------: | :--------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | :------: |
| chat\_id | Chat ID | STRING | Unique identifier for the target chat or username of the target channel. Your bot has to be member of that chat or group. | true |
| mediaType | null | STRING Options document , photo , video | Type of media to send. | true |
| document | Document | FILE\_ENTRY | Document to send. | true |
| photo | Photo | FILE\_ENTRY | Photo to send. | true |
| video | Video | FILE\_ENTRY | Video to send. | true |
| direct\_messages\_topic\_id | Direct Messages Topic ID | STRING | Identifier of the direct messages topic to which the message will be sent; required if the message is sent to a direct messages chat. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send Media",
"name" : "sendMedia",
"parameters" : {
"chat_id" : "",
"mediaType" : "",
"document" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"photo" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"video" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"direct_messages_topic_id" : ""
},
"type" : "telegram/v1/sendMedia"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| ok | BOOLEAN Options true , false | |
| result | OBJECT Properties \{INTEGER(message\_id), INTEGER(message\_thread\_id), \{INTEGER(topic\_id), \{INTEGER(id), BOOLEAN(is\_bot), STRING(first\_name), STRING(last\_name), STRING(username)}(user)}(direct\_messages\_topic), \{INTEGER(id), BOOLEAN(is\_bot), STRING(first\_name), STRING(last\_name), STRING(username)}(from), \{INTEGER(id), STRING(title), STRING(username), STRING(type), BOOLEAN(is\_direct\_messages)}(sender\_chat), INTEGER(date), \{INTEGER(id), STRING(title), STRING(username), STRING(type), BOOLEAN(is\_direct\_messages)}(chat), STRING(text), \{INTEGER(topic\_id), \{INTEGER(id), BOOLEAN(is\_bot), STRING(first\_name), STRING(last\_name), STRING(username)}(user)}(direct\_messages\_topic), \{STRING(file\_id), STRING(file\_unique\_id), \{STRING(file\_id), STRING(file\_unique\_id), INTEGER(width), INTEGER(height), INTEGER(file\_size)}(thumbnail), STRING(file\_name), STRING(mime\_type), INTEGER(file\_size)}(document), \[\{STRING(file\_id), STRING(file\_unique\_id), INTEGER(width), INTEGER(height), INTEGER(file\_size)}]\(photo), \{STRING(file\_id), STRING(file\_unique\_id), STRING(width), STRING(height), INTEGER(duration), STRING(file\_name), STRING(mime\_type), INTEGER(file\_size)}(video)} | |
#### Output Example [#output-example]
```json
{
"ok" : false,
"result" : {
"message_id" : 1,
"message_thread_id" : 1,
"direct_messages_topic" : {
"topic_id" : 1,
"user" : {
"id" : 1,
"is_bot" : false,
"first_name" : "",
"last_name" : "",
"username" : ""
}
},
"from" : {
"id" : 1,
"is_bot" : false,
"first_name" : "",
"last_name" : "",
"username" : ""
},
"sender_chat" : {
"id" : 1,
"title" : "",
"username" : "",
"type" : "",
"is_direct_messages" : false
},
"date" : 1,
"chat" : {
"id" : 1,
"title" : "",
"username" : "",
"type" : "",
"is_direct_messages" : false
},
"text" : "",
"document" : {
"file_id" : "",
"file_unique_id" : "",
"thumbnail" : {
"file_id" : "",
"file_unique_id" : "",
"width" : 1,
"height" : 1,
"file_size" : 1
},
"file_name" : "",
"mime_type" : "",
"file_size" : 1
},
"photo" : [ {
"file_id" : "",
"file_unique_id" : "",
"width" : 1,
"height" : 1,
"file_size" : 1
} ],
"video" : {
"file_id" : "",
"file_unique_id" : "",
"width" : "",
"height" : "",
"duration" : 1,
"file_name" : "",
"mime_type" : "",
"file_size" : 1
}
}
}
```
#### Find Chat or Group ID [#find-chat-or-group-id]
To find the Chat or Group ID, click [here](/reference/components/telegram_v1#how-to-find-chat-or-group-id).
#### Find Direct Message Topic ID [#find-direct-message-topic-id]
To find the Direct Message Topic ID, click [here](/reference/components/telegram_v1#how-to-find-direct-message-topic-id).
### Send Message [#send-message]
Name: sendMessage
`Sends a message through a Telegram bot.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------------------------: | :----------------------: | :----: | :-----------------------------------------------------------------------------------------------------------------------------------: | :------: |
| chat\_id | Chat ID | STRING | Unique identifier for the target chat or username of the target channel. Your bot has to be member of that chat or group. | true |
| text | Text | STRING | Text of the message to be sent. | true |
| direct\_messages\_topic\_id | Direct Messages Topic ID | STRING | Identifier of the direct messages topic to which the message will be sent; required if the message is sent to a direct messages chat. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send Message",
"name" : "sendMessage",
"parameters" : {
"chat_id" : "",
"text" : "",
"direct_messages_topic_id" : ""
},
"type" : "telegram/v1/sendMessage"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| ok | BOOLEAN Options true , false | |
| result | OBJECT Properties \{INTEGER(message\_id), INTEGER(message\_thread\_id), \{INTEGER(topic\_id), \{INTEGER(id), BOOLEAN(is\_bot), STRING(first\_name), STRING(last\_name), STRING(username)}(user)}(direct\_messages\_topic), \{INTEGER(id), BOOLEAN(is\_bot), STRING(first\_name), STRING(last\_name), STRING(username)}(from), \{INTEGER(id), STRING(title), STRING(username), STRING(type), BOOLEAN(is\_direct\_messages)}(sender\_chat), INTEGER(date), \{INTEGER(id), STRING(title), STRING(username), STRING(type), BOOLEAN(is\_direct\_messages)}(chat), STRING(text), \{INTEGER(topic\_id), \{INTEGER(id), BOOLEAN(is\_bot), STRING(first\_name), STRING(last\_name), STRING(username)}(user)}(direct\_messages\_topic), \{STRING(file\_id), STRING(file\_unique\_id), \{STRING(file\_id), STRING(file\_unique\_id), INTEGER(width), INTEGER(height), INTEGER(file\_size)}(thumbnail), STRING(file\_name), STRING(mime\_type), INTEGER(file\_size)}(document), \[\{STRING(file\_id), STRING(file\_unique\_id), INTEGER(width), INTEGER(height), INTEGER(file\_size)}]\(photo), \{STRING(file\_id), STRING(file\_unique\_id), STRING(width), STRING(height), INTEGER(duration), STRING(file\_name), STRING(mime\_type), INTEGER(file\_size)}(video)} | |
#### Output Example [#output-example-1]
```json
{
"ok" : false,
"result" : {
"message_id" : 1,
"message_thread_id" : 1,
"direct_messages_topic" : {
"topic_id" : 1,
"user" : {
"id" : 1,
"is_bot" : false,
"first_name" : "",
"last_name" : "",
"username" : ""
}
},
"from" : {
"id" : 1,
"is_bot" : false,
"first_name" : "",
"last_name" : "",
"username" : ""
},
"sender_chat" : {
"id" : 1,
"title" : "",
"username" : "",
"type" : "",
"is_direct_messages" : false
},
"date" : 1,
"chat" : {
"id" : 1,
"title" : "",
"username" : "",
"type" : "",
"is_direct_messages" : false
},
"text" : "",
"document" : {
"file_id" : "",
"file_unique_id" : "",
"thumbnail" : {
"file_id" : "",
"file_unique_id" : "",
"width" : 1,
"height" : 1,
"file_size" : 1
},
"file_name" : "",
"mime_type" : "",
"file_size" : 1
},
"photo" : [ {
"file_id" : "",
"file_unique_id" : "",
"width" : 1,
"height" : 1,
"file_size" : 1
} ],
"video" : {
"file_id" : "",
"file_unique_id" : "",
"width" : "",
"height" : "",
"duration" : 1,
"file_name" : "",
"mime_type" : "",
"file_size" : 1
}
}
}
```
#### Find Chat or Group ID [#find-chat-or-group-id-1]
To find the Chat or Group ID, click [here](/reference/components/telegram_v1#how-to-find-chat-or-group-id).
#### Find Direct Message Topic ID [#find-direct-message-topic-id-1]
To find the Direct Message Topic ID, click [here](/reference/components/telegram_v1#how-to-find-direct-message-topic-id).
## Triggers [#triggers]
### New Message [#new-message]
Name: newMessage
`Trigger on new incoming message of any kind - text, photo, sticker, and so on. Incoming message has to be in a group that your bot is member of.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :--------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| update\_id | INTEGER | |
| message | OBJECT Properties \{INTEGER(message\_id), INTEGER(message\_thread\_id), \{INTEGER(topic\_id), \{INTEGER(id), BOOLEAN(is\_bot), STRING(first\_name), STRING(last\_name), STRING(username)}(user)}(direct\_messages\_topic), \{INTEGER(id), BOOLEAN(is\_bot), STRING(first\_name), STRING(last\_name), STRING(username)}(from), \{INTEGER(id), STRING(title), STRING(username), STRING(type), BOOLEAN(is\_direct\_messages)}(sender\_chat), INTEGER(date), \{INTEGER(id), STRING(title), STRING(username), STRING(type), BOOLEAN(is\_direct\_messages)}(chat), STRING(text), \{INTEGER(topic\_id), \{INTEGER(id), BOOLEAN(is\_bot), STRING(first\_name), STRING(last\_name), STRING(username)}(user)}(direct\_messages\_topic), \{STRING(file\_id), STRING(file\_unique\_id), \{STRING(file\_id), STRING(file\_unique\_id), INTEGER(width), INTEGER(height), INTEGER(file\_size)}(thumbnail), STRING(file\_name), STRING(mime\_type), INTEGER(file\_size)}(document), \[\{STRING(file\_id), STRING(file\_unique\_id), INTEGER(width), INTEGER(height), INTEGER(file\_size)}]\(photo), \{STRING(file\_id), STRING(file\_unique\_id), STRING(width), STRING(height), INTEGER(duration), STRING(file\_name), STRING(mime\_type), INTEGER(file\_size)}(video)} | |
#### JSON Example [#json-example]
```json
{
"label" : "New Message",
"name" : "newMessage",
"type" : "telegram/v1/newMessage"
}
```
#### Find Chat or Group ID [#find-chat-or-group-id-2]
To find the Chat or Group ID, click [here](/reference/components/telegram_v1#how-to-find-chat-or-group-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Chat or Group ID [#how-to-find-chat-or-group-id]
* **Method 1: Telegram Web URL**
1. Login to Telegram Web.
2. Open chat or group you want to find ID of.
3. URL will be in the format: `https://web.telegram.org/k/#-5291165340`
4. Extract the number after `#-` to get the Chat ID or Group ID.
* **Method 2: Using ByteChef Telegram Trigger Output**
1. Create a ByteChef workflow that includes a Telegram trigger.
2. Run the workflow and observe the output from the Telegram trigger.
3. Look for the `id` in the `chat` object in the JSON response to get the Chat ID or Group ID.
### How to find Direct Message Topic ID [#how-to-find-direct-message-topic-id]
1. Create a ByteChef workflow that includes a Telegram trigger.
2. Run the workflow and observe the output from the Telegram trigger.
3. Look for the `topic_id` in the `direct_messages_topic` object in the JSON response to get the Chat ID or Group ID.
# ByteChef Reference: Text Helper
URL: /reference/components/text-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/text-helper_v1.mdx
Helper component which contains operations to help you work with text.
Categories: Helpers
Type: textHelper/v1
## Actions [#actions]
### Base64 Encode/Decode [#base64-encodedecode]
Name: base64EncodeDecode
`Encode/decode a specified string.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------: | :--------------: | :-----------------------------------------------------------------------------------------------: | :------------------------------------------: | :------: |
| text | Text | STRING | The text to be Base64 encode or decode. | true |
| operation | Encode or Decode | STRING Options ENCODE , DECODE | Select whether to encode or decode the text. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Base64 Encode/Decode",
"name" : "base64EncodeDecode",
"parameters" : {
"text" : "",
"operation" : ""
},
"type" : "textHelper/v1/base64EncodeDecode"
}
```
#### Output [#output]
Type: STRING
### Convert to Number [#convert-to-number]
Name: convertToNumber
`Change the type of the input text to number.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------------------------------------: | :------: |
| text | Text | STRING | The input text to be changed to a number. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Convert to Number",
"name" : "convertToNumber",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/convertToNumber"
}
```
#### Output [#output-1]
Type: NUMBER
### Concatenate [#concatenate]
Name: concatenate
`Concatenate a list of texts.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :---------------------------------------------------------------------: | :--------------------------------------------------------: | :------: |
| texts | Texts | ARRAY Items \[STRING(\$text)] | A list of texts to concatenate. | true |
| separator | Separator | STRING | The text that separates the texts you want to concatenate. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Concatenate",
"name" : "concatenate",
"parameters" : {
"texts" : [ "" ],
"separator" : ""
},
"type" : "textHelper/v1/concatenate"
}
```
#### Output [#output-2]
Type: STRING
### Contains [#contains]
Name: contains
`Check if text contains the specified sequence of characters.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :----: | :-----------------: | :------: |
| text | Text | STRING | | true |
| expression | Expression | STRING | Text to search for. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Contains",
"name" : "contains",
"parameters" : {
"text" : "",
"expression" : ""
},
"type" : "textHelper/v1/contains"
}
```
#### Output [#output-3]
Type: BOOLEAN
### Escape Characters [#escape-characters]
Name: escapeCharacters
`Escape characters in a string, specified in the input.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :--------------: | :---------------: | :--------------------------------------------------------------------------------: | :----------------------------------------------: | :------: |
| text | Text | STRING | The text in which you want to escape characters. | true |
| escapeCharacters | Escape Characters | ARRAY Items \[STRING(\$escapeCharacter)] | Characters you want to escape. | true |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Escape Characters",
"name" : "escapeCharacters",
"parameters" : {
"text" : "",
"escapeCharacters" : [ "" ]
},
"type" : "textHelper/v1/escapeCharacters"
}
```
#### Output [#output-4]
Type: STRING
### Extract All by Regular Expression [#extract-all-by-regular-expression]
Name: extractAllRegEx
`Extract all strings that match a given pattern.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :----: | :----------------------------------------------------------: | :------: |
| text | Text | STRING | The text on which regular expression will be used on. | true |
| regularExpression | Regular Expression | STRING | Regular expression that will be used for extracting strings. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Extract All by Regular Expression",
"name" : "extractAllRegEx",
"parameters" : {
"text" : "",
"regularExpression" : ""
},
"type" : "textHelper/v1/extractAllRegEx"
}
```
#### Output [#output-5]
Type: ARRAY
Items Type: STRING
#### Output Example [#output-example]
```json
[ "" ]
```
#### Regular Expressions and Escape Characters [#regular-expressions-and-escape-characters]
In regular expression syntax, the / character is used as an escape indicator, meaning it alters the interpretation of the character that follows.
Within the Java implementation, this behavior is internally represented using //. When input is provided through the user interface, each / character is automatically transformed into // in the code editor.
To ensure correct interpretation and avoid unintended duplication, users should enter a single / character when defining escape sequences.
### Extract Content from HTML [#extract-content-from-html]
Name: extractContentFromHtml
`Extract content from the HTML content.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| content | HTML Content | STRING | The full HTML document or fragment to extract data from. | true |
| querySelector | CSS Selector | STRING | A CSS selector used to locate the element(s) you want to extract (for example: div.article, a\[href], #title). | true |
| returnValue | Return Value | STRING Options ATTRIBUTE , HTML , TEXT | Specifies what content should be extracted from the matched element(s). | true |
| attribute | Attribute | STRING | The name of the HTML attribute to extract from the matched element(s) (for example: href, src, or class). | true |
| returnArray | Return Array | BOOLEAN Options true , false | If selected, then extracted individual items are returned as an array. If you don't set this, all values are returned as a single string. | false |
#### Example JSON Structure [#example-json-structure-6]
```json
{
"label" : "Extract Content from HTML",
"name" : "extractContentFromHtml",
"parameters" : {
"content" : "",
"querySelector" : "",
"returnValue" : "",
"attribute" : "",
"returnArray" : false
},
"type" : "textHelper/v1/extractContentFromHtml"
}
```
#### Output [#output-6]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Extract Key by Regular Expression [#extract-key-by-regular-expression]
Name: extractKeyRegEx
`Extract first string that match a given pattern.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :-------------------------------------------------------------: | :-----------------------------------------------------: | :------: |
| keyValueObject | Key-Value Object | OBJECT Properties \{} | The object on which regular expression will be used on. | true |
| regularExpression | Regular Expression | STRING | Extract key by regex match. | true |
#### Example JSON Structure [#example-json-structure-7]
```json
{
"label" : "Extract Key by Regular Expression",
"name" : "extractKeyRegEx",
"parameters" : {
"keyValueObject" : { },
"regularExpression" : ""
},
"type" : "textHelper/v1/extractKeyRegEx"
}
```
#### Output [#output-7]
Type: ARRAY
Items Type: STRING
#### Output Example [#output-example-1]
```json
[ "" ]
```
#### Regular Expressions and Escape Characters [#regular-expressions-and-escape-characters-1]
In regular expression syntax, the / character is used as an escape indicator, meaning it alters the interpretation of the character that follows.
Within the Java implementation, this behavior is internally represented using //. When input is provided through the user interface, each / character is automatically transformed into // in the code editor.
To ensure correct interpretation and avoid unintended duplication, users should enter a single / character when defining escape sequences.
### Extract by Regular Expression [#extract-by-regular-expression]
Name: extractRegEx
`Extract first string that match a given pattern.`
#### Properties [#properties-8]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :----: | :----------------------------------------------------------: | :------: |
| text | Text | STRING | The text on which regular expression will be used on. | true |
| regularExpression | Regular Expression | STRING | Regular expression that will be used for extracting strings. | true |
#### Example JSON Structure [#example-json-structure-8]
```json
{
"label" : "Extract by Regular Expression",
"name" : "extractRegEx",
"parameters" : {
"text" : "",
"regularExpression" : ""
},
"type" : "textHelper/v1/extractRegEx"
}
```
#### Output [#output-8]
Type: STRING
#### Regular Expressions and Escape Characters [#regular-expressions-and-escape-characters-2]
In regular expression syntax, the / character is used as an escape indicator, meaning it alters the interpretation of the character that follows.
Within the Java implementation, this behavior is internally represented using //. When input is provided through the user interface, each / character is automatically transformed into // in the code editor.
To ensure correct interpretation and avoid unintended duplication, users should enter a single / character when defining escape sequences.
### Extract URLs [#extract-urls]
Name: extractUrls
`Extract all of the URLs from a given piece of text, returning them as a list.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------------------------: | :------: |
| text | Text | STRING | The text from which to extract URLs. | true |
#### Example JSON Structure [#example-json-structure-9]
```json
{
"label" : "Extract URLs",
"name" : "extractUrls",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/extractUrls"
}
```
#### Output [#output-9]
Type: ARRAY
Items Type: STRING
#### Output Example [#output-example-2]
```json
[ "" ]
```
### Format Currency [#format-currency]
Name: formatCurrency
`Format currency to the specified denomination.`
#### Properties [#properties-10]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------: | :------: |
| currency | Currency | STRING Options ADP , AED , AFA , AFN , ALL , AMD , ANG , AOA , ARS , ATS , AUD , AWG , AYM , AZM , AZN , BAM , BBD , BDT , BEF , BGL , BGN , BHD , BIF , BMD , BND , BOB , BOV , BRL , BSD , BTN , BWP , BYB , BYN , BYR , BZD , CAD , CDF , CHE , CHF , CHW , CLF , CLP , CNY , COP , COU , CRC , CSD , CUC , CUP , CVE , CYP , CZK , DEM , DJF , DKK , DOP , DZD , EEK , EGP , ERN , ESP , ETB , EUR , FIM , FJD , FKP , FRF , GBP , GEL , GHC , GHS , GIP , GMD , GNF , GRD , GTQ , GWP , GYD , HKD , HNL , HRK , HTG , HUF , IDR , IEP , ILS , INR , IQD , IRR , ISK , ITL , JMD , JOD , JPY , KES , KGS , KHR , KMF , KPW , KRW , KWD , KYD , KZT , LAK , LBP , LKR , LRD , LSL , LTL , LUF , LVL , LYD , MAD , MDL , MGA , MGF , MKD , MMK , MNT , MOP , MRO , MRU , MTL , MUR , MVR , MWK , MXN , MXV , MYR , MZM , MZN , NAD , NGN , NIO , NLG , NOK , NPR , NZD , OMR , PAB , PEN , PGK , PHP , PKR , PLN , PTE , PYG , QAR , ROL , RON , RSD , RUB , RUR , RWF , SAR , SBD , SCR , SDD , SDG , SEK , SGD , SHP , SIT , SKK , SLE , SLL , SOS , SRD , SRG , SSP , STD , STN , SVC , SYP , SZL , THB , TJS , TMM , TMT , TND , TOP , TPE , TRL , TRY , TTD , TWD , TZS , UAH , UGX , USD , USN , USS , UYI , UYU , UZS , VEB , VED , VEF , VES , VND , VUV , WST , XAD , XAF , XAG , XAU , XBA , XBB , XBC , XBD , XCD , XCG , XDR , XFO , XFU , XOF , XPD , XPF , XPT , XSU , XTS , XUA , XXX , YER , YUM , ZAR , ZMK , ZMW , ZWD , ZWG , ZWL , ZWN , ZWR | The type of currency you wish to use. | true |
| amount | Amount | NUMBER | The amount to be formatted. | true |
| decimalDigits | Decimal Digits | INTEGER | Number of digits that will be visible after the decimal seperator. | true |
| decimalSeparator | Decimal Separator | STRING | The character you would like to use as a decimal separator. | true |
| thousandsSeparator | Thousands Separator | STRING | The character you would like to use as a thousands separator. | true |
#### Example JSON Structure [#example-json-structure-10]
```json
{
"label" : "Format Currency",
"name" : "formatCurrency",
"parameters" : {
"currency" : "",
"amount" : 0.0,
"decimalDigits" : 1,
"decimalSeparator" : "",
"thousandsSeparator" : ""
},
"type" : "textHelper/v1/formatCurrency"
}
```
#### Output [#output-10]
Type: STRING
### Get Domain From Email Address [#get-domain-from-email-address]
Name: getDomainFromEmail
`Extracts domain from the given email address.`
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------------------------------: | :------: |
| text | Email | STRING | The email you want to extract domain from. | true |
#### Example JSON Structure [#example-json-structure-11]
```json
{
"label" : "Get Domain From Email Address",
"name" : "getDomainFromEmail",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/getDomainFromEmail"
}
```
#### Output [#output-11]
Type: STRING
### Get Domain From URL [#get-domain-from-url]
Name: getDomainFromUrl
`Extracts domain from the given URL.`
#### Properties [#properties-12]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :--------------------------------------: | :------: |
| text | URL | STRING | The URL you want to extract domain from. | true |
#### Example JSON Structure [#example-json-structure-12]
```json
{
"label" : "Get Domain From URL",
"name" : "getDomainFromUrl",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/getDomainFromUrl"
}
```
#### Output [#output-12]
Type: STRING
### Get First Middle and Last Name [#get-first-middle-and-last-name]
Name: getFirstMiddleLastName
`From full name extract first, middle and last name.`
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :--------------: | :------------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------: | :------: |
| fullName | Full Name | STRING | The full name. | true |
| isFirstNameFirst | Is First Name First? | BOOLEAN Options true , false | Is the first name listed first in the full name? | true |
#### Example JSON Structure [#example-json-structure-13]
```json
{
"label" : "Get First Middle and Last Name",
"name" : "getFirstMiddleLastName",
"parameters" : {
"fullName" : "",
"isFirstNameFirst" : false
},
"type" : "textHelper/v1/getFirstMiddleLastName"
}
```
#### Output [#output-13]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :--------: | :----: | :---------: |
| firstName | STRING | First name. |
| middleName | STRING | Middle name |
| lastName | STRING | Last name |
#### Output Example [#output-example-3]
```json
{
"firstName" : "",
"middleName" : "",
"lastName" : ""
}
```
### Get Text After [#get-text-after]
Name: getTextAfter
`Given a string and a pattern, this operation will return the substring between where the pattern was found depending on the match number and ending of the string.`
#### Properties [#properties-15]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :-----: | :------------------------------------------------------------------------------------: | :------: |
| text | Text | STRING | The text that will be searched for the pattern. | true |
| pattern | Pattern | STRING | Pattern after which substring will be extracted. | true |
| matchNumber | Match Number | INTEGER | Specifies which match to use for extracting the substring when multiple matches exist. | true |
#### Example JSON Structure [#example-json-structure-14]
```json
{
"label" : "Get Text After",
"name" : "getTextAfter",
"parameters" : {
"text" : "",
"pattern" : "",
"matchNumber" : 1
},
"type" : "textHelper/v1/getTextAfter"
}
```
#### Output [#output-14]
Type: STRING
### Get Text Before [#get-text-before]
Name: getTextBefore
`Given a string and a pattern, this operation will return the substring between where the pattern was found depending on the match number and beginning of the string.`
#### Properties [#properties-16]
| Name | Label | Type | Description | Required |
| :---------: | :----------: | :-----: | :------------------------------------------------------------------------------------: | :------: |
| text | Text | STRING | The text that will be searched for the pattern. | true |
| pattern | Pattern | STRING | Pattern after which substring will be extracted. | true |
| matchNumber | Match Number | INTEGER | Specifies which match to use for extracting the substring when multiple matches exist. | true |
#### Example JSON Structure [#example-json-structure-15]
```json
{
"label" : "Get Text Before",
"name" : "getTextBefore",
"parameters" : {
"text" : "",
"pattern" : "",
"matchNumber" : 1
},
"type" : "textHelper/v1/getTextBefore"
}
```
#### Output [#output-15]
Type: STRING
### Get Text Between [#get-text-between]
Name: getTextBetween
`Extract text between two patterns.`
#### Properties [#properties-17]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------------------------------------------------: | :------: |
| text | Text | STRING | The text that will be searched for the patterns. | true |
| patternStart | Start Pattern | STRING | Start pattern from where substring will be extracted. | true |
| patternEnd | End Pattern | STRING | End pattern to where substring will be extracted. | true |
#### Example JSON Structure [#example-json-structure-16]
```json
{
"label" : "Get Text Between",
"name" : "getTextBetween",
"parameters" : {
"text" : "",
"patternStart" : "",
"patternEnd" : ""
},
"type" : "textHelper/v1/getTextBetween"
}
```
#### Output [#output-16]
Type: STRING
### Get Text Length [#get-text-length]
Name: getTextLength
`Returns length of the given text.`
#### Properties [#properties-18]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-----------------------------------------------: | :------: |
| text | Text | STRING | The text of which the length will be returned of. | true |
#### Example JSON Structure [#example-json-structure-17]
```json
{
"label" : "Get Text Length",
"name" : "getTextLength",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/getTextLength"
}
```
#### Output [#output-17]
Type: INTEGER
### Hex Encode/Decode [#hex-encodedecode]
Name: hexEncodeDecode
`Hex encode/decode a specified string.`
#### Properties [#properties-19]
| Name | Label | Type | Description | Required |
| :-------: | :--------------: | :-----------------------------------------------------------------------------------------------: | :------------------------------------------: | :------: |
| text | Text | STRING | The text that will be encoded or decoded. | true |
| operation | Encode or Decode | STRING Options ENCODE , DECODE | Select whether to encode or decode the text. | true |
#### Example JSON Structure [#example-json-structure-18]
```json
{
"label" : "Hex Encode/Decode",
"name" : "hexEncodeDecode",
"parameters" : {
"text" : "",
"operation" : ""
},
"type" : "textHelper/v1/hexEncodeDecode"
}
```
#### Output [#output-18]
Type: STRING
### HTML to Markdown [#html-to-markdown]
Name: HtmlToMarkdown
`Converts HTML to markdown.`
#### Properties [#properties-20]
| Name | Label | Type | Description | Required |
| :--: | :----------: | :----: | :---------------------------------------: | :------: |
| html | HTML Content | STRING | HTML content to be converted to markdown. | true |
#### Example JSON Structure [#example-json-structure-19]
```json
{
"label" : "HTML to Markdown",
"name" : "HtmlToMarkdown",
"parameters" : {
"html" : ""
},
"type" : "textHelper/v1/HtmlToMarkdown"
}
```
#### Output [#output-19]
Type: STRING
### Is Domain? [#is-domain]
Name: isDomain
`Check if a string is a valid domain.`
#### Properties [#properties-21]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :--------------------------------------------: | :------: |
| text | Text | STRING | The text to be checked as a valid domain name. | true |
#### Example JSON Structure [#example-json-structure-20]
```json
{
"label" : "Is Domain?",
"name" : "isDomain",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/isDomain"
}
```
#### Output [#output-20]
Type: BOOLEAN
### Is Email? [#is-email]
Name: isEmail
`Check if a string is a valid email address.`
#### Properties [#properties-22]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------------------------------------: | :------: |
| text | Text | STRING | The text to be checked as a valid email address. | true |
#### Example JSON Structure [#example-json-structure-21]
```json
{
"label" : "Is Email?",
"name" : "isEmail",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/isEmail"
}
```
#### Output [#output-21]
Type: BOOLEAN
### Is Numeric? [#is-numeric]
Name: isNumeric
`Check if a text string is a number.`
#### Properties [#properties-23]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :----------------------------------------------------------------: | :------: |
| text | Text | STRING | The input text that will be checked. Decimal point is a point '.'. | true |
#### Example JSON Structure [#example-json-structure-22]
```json
{
"label" : "Is Numeric?",
"name" : "isNumeric",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/isNumeric"
}
```
#### Output [#output-22]
Type: BOOLEAN
### Is URL? [#is-url]
Name: isUrl
`Check if a string is a valid URL.`
#### Properties [#properties-24]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :---------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------: | :------: |
| text | Text | STRING | The input text that will be checked. | true |
| allow2slashes | Allow 2 Slashes | BOOLEAN Options true , false | Allows double '/' characters in the path component. | false |
| noFragment | No Fragment | BOOLEAN Options true , false | Enabling this options disallows any URL fragments. | false |
| allowAllSchemes | Allow All Schemes | BOOLEAN Options true , false | Allows all validly formatted schemes to pass validation instead of supplying a set of valid schemes. | false |
| allowLocalUrls | Allow Local URLs | BOOLEAN Options true , false | Allow local URLs, such as [https://localhost/](https://localhost/) or [https://machine/](https://machine/) . | false |
#### Example JSON Structure [#example-json-structure-23]
```json
{
"label" : "Is URL?",
"name" : "isUrl",
"parameters" : {
"text" : "",
"allow2slashes" : false,
"noFragment" : false,
"allowAllSchemes" : false,
"allowLocalUrls" : false
},
"type" : "textHelper/v1/isUrl"
}
```
#### Output [#output-23]
Type: BOOLEAN
### Lower Case [#lower-case]
Name: lowerCase
`Convert a string to lower case.`
#### Properties [#properties-25]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------: | :------: |
| text | Text | STRING | | true |
#### Example JSON Structure [#example-json-structure-24]
```json
{
"label" : "Lower Case",
"name" : "lowerCase",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/lowerCase"
}
```
#### Output [#output-24]
Type: STRING
### Markdown to HTML [#markdown-to-html]
Name: markdownToHtml
`Converts markdown to HTML.`
#### Properties [#properties-26]
| Name | Label | Type | Description | Required |
| :------: | :--------------: | :----: | :----------------------------------: | :------: |
| markdown | Markdown content | STRING | Markdown content to convert to HTML. | true |
#### Example JSON Structure [#example-json-structure-25]
```json
{
"label" : "Markdown to HTML",
"name" : "markdownToHtml",
"parameters" : {
"markdown" : ""
},
"type" : "textHelper/v1/markdownToHtml"
}
```
#### Output [#output-25]
Type: STRING
### Match [#match]
Name: match
`Retrieve the result of matching a string against a regular expression.`
#### Properties [#properties-27]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :----: | :------------------------------------------------------: | :------: |
| text | Text | STRING | The text that will be matched to the regular expression. | true |
| regularExpression | Regular Expression | STRING | Regular expression that will be used on the text. | true |
#### Example JSON Structure [#example-json-structure-26]
```json
{
"label" : "Match",
"name" : "match",
"parameters" : {
"text" : "",
"regularExpression" : ""
},
"type" : "textHelper/v1/match"
}
```
#### Output [#output-26]
Type: ARRAY
Items Type: STRING
#### Output Example [#output-example-4]
```json
[ "" ]
```
#### Regular Expressions and Escape Characters [#regular-expressions-and-escape-characters-3]
In regular expression syntax, the / character is used as an escape indicator, meaning it alters the interpretation of the character that follows.
Within the Java implementation, this behavior is internally represented using //. When input is provided through the user interface, each / character is automatically transformed into // in the code editor.
To ensure correct interpretation and avoid unintended duplication, users should enter a single / character when defining escape sequences.
### Parse Email [#parse-email]
Name: parseEmail
`Parse email into structured object. For example: "Name " into {displayName: 'Name', localPart: 'name', domain: 'domain.com'}.`
#### Properties [#properties-28]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :-------------------------------------------------: | :------: |
| email | Email | STRING | The email that will be turned into structured data. | true |
#### Example JSON Structure [#example-json-structure-27]
```json
{
"label" : "Parse Email",
"name" : "parseEmail",
"parameters" : {
"email" : ""
},
"type" : "textHelper/v1/parseEmail"
}
```
#### Output [#output-27]
Type: OBJECT
#### Properties [#properties-29]
| Name | Type | Description |
| :---------: | :----: | :------------------------------------: |
| localPart | STRING | The local part of the email address. |
| displayName | STRING | The display name of the email address. |
| domain | STRING | The domain part of the email address. |
| email | STRING | The full email address. |
#### Output Example [#output-example-5]
```json
{
"localPart" : "",
"displayName" : "",
"domain" : "",
"email" : ""
}
```
### Parse Email List [#parse-email-list]
Name: parseEmailList
`Parse emails into structured objects. For example: "Name " into {displayName: 'Name', localPart: 'name', domain: 'domain.com'}.`
#### Properties [#properties-30]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----------------------------------------------------------------------: | :--------------------------------------------------------: | :------: |
| emails | Emails | ARRAY Items \[STRING(\$email)] | A list of emails that will be turned into structured data. | true |
#### Example JSON Structure [#example-json-structure-28]
```json
{
"label" : "Parse Email List",
"name" : "parseEmailList",
"parameters" : {
"emails" : [ "" ]
},
"type" : "textHelper/v1/parseEmailList"
}
```
#### Output [#output-28]
Type: ARRAY
Items Type: OBJECT
#### Properties [#properties-31]
| Name | Type | Description |
| :---------: | :----: | :------------------------------------: |
| localPart | STRING | The local part of the email address. |
| displayName | STRING | The display name of the email address. |
| domain | STRING | The domain part of the email address. |
| email | STRING | The full email address. |
#### Output Example [#output-example-6]
```json
[ {
"localPart" : "",
"displayName" : "",
"domain" : "",
"email" : ""
} ]
```
### Parse URL [#parse-url]
Name: parseUrl
`Parses URL into structured data.`
#### Properties [#properties-32]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-----------------------------------------------: | :------: |
| url | URL | STRING | The URL that will be turned into structured data. | true |
#### Example JSON Structure [#example-json-structure-29]
```json
{
"label" : "Parse URL",
"name" : "parseUrl",
"parameters" : {
"url" : ""
},
"type" : "textHelper/v1/parseUrl"
}
```
#### Output [#output-29]
Type: OBJECT
#### Properties [#properties-33]
| Name | Type | Description |
| :------: | :---------------------------------------------------------------------------------------: | :------------------------------------------------------: |
| protocol | STRING | The protocol of the URL. |
| slashes | STRING | Indicates if the URL has a slash after the protocol. |
| auth | STRING | The authentication information of the URL. |
| host | STRING | The host part of the URL. |
| port | STRING | The port part of the URL. |
| hostname | STRING | The hostname part of the URL. |
| hash | STRING | The hash part of the URL. |
| search | STRING | The search part of the URL. |
| pathname | STRING | The pathname part of the URL. |
| path | STRING | The path part of the URL including the query if present. |
| href | STRING | The full URL as a string. |
| query | OBJECT Properties \{STRING(key), STRING(value)} | The query parameters of the URL. |
#### Output Example [#output-example-7]
```json
{
"protocol" : "",
"slashes" : "",
"auth" : "",
"host" : "",
"port" : "",
"hostname" : "",
"hash" : "",
"search" : "",
"pathname" : "",
"path" : "",
"href" : "",
"query" : {
"key" : "",
"value" : ""
}
}
```
### Proper Case [#proper-case]
Name: properCase
`Capitalize the first letter of every word.`
#### Properties [#properties-34]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :--------------------------------------------: | :------: |
| text | Text | STRING | The text that will be turned into proper case. | true |
#### Example JSON Structure [#example-json-structure-30]
```json
{
"label" : "Proper Case",
"name" : "properCase",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/properCase"
}
```
#### Output [#output-30]
Type: STRING
### Regular Expression Match Test [#regular-expression-match-test]
Name: regExMatchTest
`Test if a string matches a regex.`
#### Properties [#properties-35]
| Name | Label | Type | Description | Required |
| :---------------: | :----------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------: | :------: |
| text | Text | STRING | The text that will be matched to the regular expression. | true |
| regularExpression | Regular Expression | STRING | Regular expression that will be used on the text. | true |
| ignoreCase | Ignore Case | BOOLEAN Options true , false | If this value is set to true the regular expression will be case-insensitive. | false |
| multiline | Multiline | BOOLEAN Options true , false | If this value is set to true the regular expression will be applied to multiple lines. | false |
| unicode | Unicode | BOOLEAN Options true , false | If this value is set to true the regular expression will support unicode characters. | false |
#### Example JSON Structure [#example-json-structure-31]
```json
{
"label" : "Regular Expression Match Test",
"name" : "regExMatchTest",
"parameters" : {
"text" : "",
"regularExpression" : "",
"ignoreCase" : false,
"multiline" : false,
"unicode" : false
},
"type" : "textHelper/v1/regExMatchTest"
}
```
#### Output [#output-31]
Type: BOOLEAN
#### Regular Expressions and Escape Characters [#regular-expressions-and-escape-characters-4]
In regular expression syntax, the / character is used as an escape indicator, meaning it alters the interpretation of the character that follows.
Within the Java implementation, this behavior is internally represented using //. When input is provided through the user interface, each / character is automatically transformed into // in the code editor.
To ensure correct interpretation and avoid unintended duplication, users should enter a single / character when defining escape sequences.
### Remove Characters [#remove-characters]
Name: removeCharacters
`Remove specified characters from a string.`
#### Properties [#properties-36]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----: | :-------------------------------------------------------------: | :------: |
| text | Text | STRING | The text that will be processed to remove specified characters. | true |
| character | Character | STRING | Character that will be removed from the text. | true |
#### Example JSON Structure [#example-json-structure-32]
```json
{
"label" : "Remove Characters",
"name" : "removeCharacters",
"parameters" : {
"text" : "",
"character" : ""
},
"type" : "textHelper/v1/removeCharacters"
}
```
#### Output [#output-32]
Type: STRING
### Remove Special Characters [#remove-special-characters]
Name: removeSpecialCharacters
`Remove special characters from a string.`
#### Properties [#properties-37]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-----------------------------------------------------------: | :------: |
| text | Text | STRING | The text that will be processed to remove special characters. | true |
#### Example JSON Structure [#example-json-structure-33]
```json
{
"label" : "Remove Special Characters",
"name" : "removeSpecialCharacters",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/removeSpecialCharacters"
}
```
#### Output [#output-33]
Type: STRING
### Replace [#replace]
Name: replace
`Replace all instances of any word, character, or phrase in text with another.`
#### Properties [#properties-38]
| Name | Label | Type | Description | Required |
| :--------------: | :----------------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------------: | :------: |
| text | Text | STRING | | true |
| searchValue | Search Value | STRING | Can be plain text or a regex expression. | true |
| replaceValue | Replace Value | STRING | Leave blank to remove the search value. | false |
| replaceOnlyFirst | Replace Only First Match | BOOLEAN Options true , false | | true |
#### Example JSON Structure [#example-json-structure-34]
```json
{
"label" : "Replace",
"name" : "replace",
"parameters" : {
"text" : "",
"searchValue" : "",
"replaceValue" : "",
"replaceOnlyFirst" : false
},
"type" : "textHelper/v1/replace"
}
```
#### Output [#output-34]
Type: STRING
### Select First N Characters [#select-first-n-characters]
Name: selectFirstNCharacters
`Select the first N characters from a string.`
#### Properties [#properties-39]
| Name | Label | Type | Description | Required |
| :----------------: | :------------------: | :-----: | :---------------------------------: | :------: |
| text | Text | STRING | | true |
| numberOfCharacters | Number of Characters | INTEGER | The number of characters to select. | true |
#### Example JSON Structure [#example-json-structure-35]
```json
{
"label" : "Select First N Characters",
"name" : "selectFirstNCharacters",
"parameters" : {
"text" : "",
"numberOfCharacters" : 1
},
"type" : "textHelper/v1/selectFirstNCharacters"
}
```
#### Output [#output-35]
Type: STRING
### Select Last N Characters [#select-last-n-characters]
Name: selectLastNCharacters
`Select the last N characters from a string.`
#### Properties [#properties-40]
| Name | Label | Type | Description | Required |
| :----------------: | :------------------: | :-----: | :---------------------------------: | :------: |
| text | Text | STRING | | true |
| numberOfCharacters | Number of Characters | INTEGER | The number of characters to select. | true |
#### Example JSON Structure [#example-json-structure-36]
```json
{
"label" : "Select Last N Characters",
"name" : "selectLastNCharacters",
"parameters" : {
"text" : "",
"numberOfCharacters" : 1
},
"type" : "textHelper/v1/selectLastNCharacters"
}
```
#### Output [#output-36]
Type: STRING
### Sentence Case [#sentence-case]
Name: sentenceCase
`Converts string into sentence case.`
#### Properties [#properties-41]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :-----------------------------------------------------: | :------: |
| text | Text | STRING | The input text that will be converted to sentence case. | true |
#### Example JSON Structure [#example-json-structure-37]
```json
{
"label" : "Sentence Case",
"name" : "sentenceCase",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/sentenceCase"
}
```
#### Output [#output-37]
Type: STRING
### Shorten [#shorten]
Name: shorten
`Shorten string to a max allowed length.`
#### Properties [#properties-42]
| Name | Label | Type | Description | Required |
| :----: | :----: | :-----: | :-----------------------------------: | :------: |
| text | Text | STRING | The text that will be shortened. | true |
| length | Length | INTEGER | Maximum allowed length of the string. | true |
#### Example JSON Structure [#example-json-structure-38]
```json
{
"label" : "Shorten",
"name" : "shorten",
"parameters" : {
"text" : "",
"length" : 1
},
"type" : "textHelper/v1/shorten"
}
```
#### Output [#output-38]
Type: STRING
### Split [#split]
Name: split
`Split the text by delimiter.`
#### Properties [#properties-43]
| Name | Label | Type | Description | Required |
| :-------: | :-------: | :----: | :------------------------------------: | :------: |
| text | Text | STRING | | true |
| delimiter | Delimiter | STRING | Delimiter used for splitting the text. | true |
#### Example JSON Structure [#example-json-structure-39]
```json
{
"label" : "Split",
"name" : "split",
"parameters" : {
"text" : "",
"delimiter" : ""
},
"type" : "textHelper/v1/split"
}
```
#### Output [#output-39]
Type: ARRAY
Items Type: STRING
#### Output Example [#output-example-8]
```json
[ "" ]
```
### Strip HTML Tags [#strip-html-tags]
Name: stripHtmlTags
`Remove HTML tags from a string leaving only the tag's text content.`
#### Properties [#properties-44]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :--------------------------------------------------: | :------: |
| text | Text | STRING | The input text that will be stripped from HTML tags. | true |
#### Example JSON Structure [#example-json-structure-40]
```json
{
"label" : "Strip HTML Tags",
"name" : "stripHtmlTags",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/stripHtmlTags"
}
```
#### Output [#output-40]
Type: STRING
### Trim Whitespace [#trim-whitespace]
Name: trimWhitespace
`Trim whitespace from the beginning and end of a string.`
#### Properties [#properties-45]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------: | :------: |
| text | Text | STRING | | true |
#### Example JSON Structure [#example-json-structure-41]
```json
{
"label" : "Trim Whitespace",
"name" : "trimWhitespace",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/trimWhitespace"
}
```
#### Output [#output-41]
Type: STRING
### Underscore [#underscore]
Name: underscore
`Convert text to snake case, lowercasing all text, removing special characters, and replacing spaces with underscores.`
#### Properties [#properties-46]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :--------------------------------------------------: | :------: |
| text | Text | STRING | The input text that will be converted to snake case. | true |
#### Example JSON Structure [#example-json-structure-42]
```json
{
"label" : "Underscore",
"name" : "underscore",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/underscore"
}
```
#### Output [#output-42]
Type: STRING
### Upper Case [#upper-case]
Name: upperCase
`Convert a string to upper case.`
#### Properties [#properties-47]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------: | :------: |
| text | Text | STRING | | true |
#### Example JSON Structure [#example-json-structure-43]
```json
{
"label" : "Upper Case",
"name" : "upperCase",
"parameters" : {
"text" : ""
},
"type" : "textHelper/v1/upperCase"
}
```
#### Output [#output-43]
Type: STRING
### URL Encode/Decode [#url-encodedecode]
Name: urlEncodeDecode
`URL encode/decode a specified string.`
#### Properties [#properties-48]
| Name | Label | Type | Description | Required |
| :-------: | :--------------: | :-----------------------------------------------------------------------------------------------: | :------------------------------------------: | :------: |
| text | Text | STRING | The text to be URL encode or decode. | true |
| operation | Encode or Decode | STRING Options ENCODE , DECODE | Select whether to encode or decode the text. | true |
#### Example JSON Structure [#example-json-structure-44]
```json
{
"label" : "URL Encode/Decode",
"name" : "urlEncodeDecode",
"parameters" : {
"text" : "",
"operation" : ""
},
"type" : "textHelper/v1/urlEncodeDecode"
}
```
#### Output [#output-44]
Type: STRING
### URL Encode/Decode Key/Value Pair [#url-encodedecode-keyvalue-pair]
Name: urlEncodeDecodeKeyValuePair
`URL encode/decode a specified set of key/value pairs.`
#### Properties [#properties-49]
| Name | Label | Type | Description | Required |
| :-------: | :--------------: | :-----------------------------------------------------------------------------------------------: | :------------------------------------------: | :------: |
| pairs | Pairs | ARRAY Items \[\{STRING(key), STRING(value)}] | Key/Value pairs that will be encoded. | true |
| operation | Encode or Decode | STRING Options ENCODE , DECODE | Select whether to encode or decode the text. | true |
#### Example JSON Structure [#example-json-structure-45]
```json
{
"label" : "URL Encode/Decode Key/Value Pair",
"name" : "urlEncodeDecodeKeyValuePair",
"parameters" : {
"pairs" : [ {
"key" : "",
"value" : ""
} ],
"operation" : ""
},
"type" : "textHelper/v1/urlEncodeDecodeKeyValuePair"
}
```
#### Output [#output-45]
Type: STRING
# ByteChef Reference: Todoist
URL: /reference/components/todoist_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/todoist_v1.mdx
Todoist is a task management application that helps users organize and prioritize their to-do lists.
Categories: Productivity and Collaboration
Type: todoist/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect Todoist to ByteChef using OAuth 2.0 (Authorization Code).
### Create a Todoist OAuth app [#create-a-todoist-oauth-app]
1. Open the [Todoist App Management Console](https://app.todoist.com/app/settings/integrations/app-management).
2. Click on **Add new integration**.
3. Enter an app name (for example, `ByteChef Integration`). Click **Create App**.
4. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://127.0.0.1:5173/callback`
5. Click **Save settings**.
6. Copy the **Client ID** and **Client secret**.
## Actions [#actions]
### Create Project [#create-project]
Name: createProject
`Creates a new project.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------: | :--------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: | :------: |
| name | Name | STRING | Name of the project. | true |
| description | Description | STRING | Description of the project. | false |
| parent\_id | Parent Project ID | STRING | ID of the parent project. | false |
| color | Color | STRING Options beryy\_red , red , orange , yellow , olive\_green , lime\_green , green , mint\_green , teal , sky\_blue , light\_blue , blue , grape , violet , lavender , magenta , salmon , charcoal , grey , taupe | Color of the project icon. | false |
| is\_favorite | Is Project a Favorite? | BOOLEAN Options true , false | Whether the project is a favorite. | false |
| workspace\_id | Workspace ID | INTEGER | ID of the workspace. If provided, creates a workspace project instead of a personal project. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Project",
"name" : "createProject",
"parameters" : {
"name" : "",
"description" : "",
"parent_id" : "",
"color" : "",
"is_favorite" : false,
"workspace_id" : 1
},
"type" : "todoist/v1/createProject"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----------: | :----: | :--------------------------------: |
| id | STRING | ID of the project. |
| name | STRING | Name of the project. |
| description | STRING | Description of the project. |
| color | STRING | Color of the project icon. |
| is\_favorite | STRING | Whether the project is a favorite. |
| url | STRING | URL of the project. |
| parent\_id | STRING | ID of the parent project. |
#### Output Example [#output-example]
```json
{
"id" : "",
"name" : "",
"description" : "",
"color" : "",
"is_favorite" : "",
"url" : "",
"parent_id" : ""
}
```
### Create Task [#create-task]
Name: createTask
`Creates a new task.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :------------: | :----------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------: | :------: |
| content | Content | STRING | Task content. | true |
| description | Description | STRING | A description for the task. | false |
| project\_id | Project ID | STRING | ID of the project to add the task to. If not set, task is put to user's Inbox. | false |
| priority | Priority | INTEGER Options 1 , 2 , 3 , 4 | Task priority from 1 (normal) to 4 (urgent). | false |
| labels | Labels | ARRAY Items \[STRING] | List of labels to be applied to the task. | false |
| section\_id | Section ID | STRING Depends On project\_id | ID of the section to add the task to. | false |
| parent\_id | Parent Task ID | STRING | ID of the parent task. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"content" : "",
"description" : "",
"project_id" : "",
"priority" : 1,
"labels" : [ "" ],
"section_id" : "",
"parent_id" : ""
},
"type" : "todoist/v1/createTask"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :---------: | :---------------------------------------------------------------------------------------------: | :---------------------------------: |
| user\_id | STRING | ID of the user. |
| id | STRING | ID of the task. |
| project\_id | STRING | ID of the project. |
| section\_id | STRING | ID of the section. |
| parent\_id | STRING | ID of the parent task. |
| labels | ARRAY Items \[STRING] | List of labels applied to the task. |
| checked | BOOLEAN Options true , false | Whether the task is checked. |
| is\_deleted | BOOLEAN Options true , false | Whether the task is deleted. |
| content | STRING | Task content. |
| description | STRING | Task description. |
| priority | INTEGER | Task priority. |
#### Output Example [#output-example-1]
```json
{
"user_id" : "",
"id" : "",
"project_id" : "",
"section_id" : "",
"parent_id" : "",
"labels" : [ "" ],
"checked" : false,
"is_deleted" : false,
"content" : "",
"description" : "",
"priority" : 1
}
```
### Mark Task as Completed [#mark-task-as-completed]
Name: markTaskCompleted
`Marks a task as being completed.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :--------------------------: | :------: |
| taskId | Task ID | STRING | ID of the task to be closed. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Mark Task as Completed",
"name" : "markTaskCompleted",
"parameters" : {
"taskId" : ""
},
"type" : "todoist/v1/markTaskCompleted"
}
```
#### Output [#output-2]
This action does not produce any output.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Topical Alignment
URL: /reference/components/topicalAlignment_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/topicalAlignment_v1.mdx
LLM-based check that input stays within an allowed topic.
Categories: Artificial Intelligence
Type: topicalAlignment/v1
# ByteChef Reference: Trello
URL: /reference/components/trello_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/trello_v1.mdx
Trello is a project management tool that uses boards, lists and cards to help users organize tasks and collaborate with teams.
Categories: Productivity and Collaboration
Type: trello/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| token | Token | STRING | | true |
## Connection Setup [#connection-setup]
### Create Trello App [#create-trello-app]
1. Navigate to [https://trello.com/power-ups/admin](https://trello.com/power-ups/admin).
2. Click on **New**.
3. Fill out form.
4. Enter URL depending on your instance:
* `https://app.bytechef.io/callback` (Cloud)
* `http://localhost:5173/callback` (Local dev)
5. Click on **Create**.
6. Click on **API key**.
7. Click on **Generate a new API key**.
8. Your **API Key**.
9. Click on **Token**.
10. Click **Allow**.
11. Now you can copy your **Token**.
12. Done 🚀.
## Actions [#actions]
### Create Board [#create-board]
Name: createBoard
`Creates a new board.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :---------: | :----: | :------------------------------: | :------: |
| name | Name | STRING | The new name for the board. | true |
| desc | Description | STRING | A new description for the board. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Board",
"name" : "createBoard",
"parameters" : {
"name" : "",
"desc" : ""
},
"type" : "trello/v1/createBoard"
}
```
#### Output [#output]
This action does not produce any output.
### Create Card [#create-card]
Name: createCard
`Creates a new card.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-----: | :---------: | :-----------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| idBoard | Board ID | STRING | ID of the board. | false |
| idList | List ID | STRING Depends On idBoard | ID of the list where the card should be created in. | true |
| name | Name | STRING | The name for the card. | false |
| desc | Description | STRING | The description for the card. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Card",
"name" : "createCard",
"parameters" : {
"idBoard" : "",
"idList" : "",
"name" : "",
"desc" : ""
},
"type" : "trello/v1/createCard"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :-----: | :----: | :----------------------------------: |
| id | STRING | ID of the card. |
| desc | STRING | Description of the card. |
| idBoard | STRING | ID of the board the card belongs to. |
| idList | STRING | ID of the list the card belongs to. |
| name | STRING | Name of the card. |
#### Output Example [#output-example]
```json
{
"id" : "",
"desc" : "",
"idBoard" : "",
"idList" : "",
"name" : ""
}
```
#### Find Board ID [#find-board-id]
To find the Board ID, click [here](/reference/components/trello_v1#how-to-find-board-id).
#### Find List ID [#find-list-id]
To find the List ID, click [here](/reference/components/trello_v1#how-to-find-list-id).
### Get Card [#get-card]
Name: getCard
`Gets a card details.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :-----------------------------------------------------------------: | :------------------------------------: | :------: |
| idBoard | Board ID | STRING | ID of the board where card is located. | false |
| id | Card ID | STRING Depends On idBoard | | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Card",
"name" : "getCard",
"parameters" : {
"idBoard" : "",
"id" : ""
},
"type" : "trello/v1/getCard"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :-----: | :----: | :----------------------------------: |
| id | STRING | ID of the card. |
| desc | STRING | Description of the card. |
| idBoard | STRING | ID of the board the card belongs to. |
| idList | STRING | ID of the list the card belongs to. |
| name | STRING | Name of the card. |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"desc" : "",
"idBoard" : "",
"idList" : "",
"name" : ""
}
```
#### Find Board ID [#find-board-id-1]
To find the Board ID, click [here](/reference/components/trello_v1#how-to-find-board-id).
#### Find Card ID [#find-card-id]
To find the Card ID, click [here](/reference/components/trello_v1#how-to-find-card-id).
## Triggers [#triggers]
### New Card [#new-card]
Name: newCard
`Triggers when a new card is created on specified board or list.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :-----------------------------------------------------------------: | :---------: | :------: |
| idBoard | Board ID | STRING | | false |
| idList | List ID | STRING Depends On idBoard | | false |
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-7]
| Name | Type | Description |
| :-----: | :----: | :----------------------------------: |
| id | STRING | ID of the card. |
| desc | STRING | Description of the card. |
| idBoard | STRING | ID of the board the card belongs to. |
| idList | STRING | ID of the list the card belongs to. |
| name | STRING | Name of the card. |
#### JSON Example [#json-example]
```json
{
"label" : "New Card",
"name" : "newCard",
"parameters" : {
"idBoard" : "",
"idList" : ""
},
"type" : "trello/v1/newCard"
}
```
#### Find Board ID [#find-board-id-2]
To find the Board ID, click [here](/reference/components/trello_v1#how-to-find-board-id).
#### Find List ID [#find-list-id-1]
To find the List ID, click [here](/reference/components/trello_v1#how-to-find-list-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Board ID [#how-to-find-board-id]
* **Method 1: Via API**
Use the `GET /members/AUTHORIZED_USER_ID/boards` endpoint to retrieve a list of all boards and their IDs.
* **Method 2: Via UI**
Open the Trello board on your browser and add .json to the end of URL so that you have something like `https://trello.com/b/123/my-trello-board.json`. The board ID is first value in that json listed under key `id`.
The Board ID can also be found in the output of the following actions and triggers:
* **Create Card**
* **Get Card**
* **New Card** trigger
### How to find List ID [#how-to-find-list-id]
* **Method 1: Via API**
Use the `GET /boards/BOARD_ID/lists` endpoint to retrieve a list of all lists and their IDs.
* **Method 2: Via UI**
Open the Trello board on your browser and add .json to the end of URL so that you have something like `https://trello.com/b/123/my-trello-board.json`. Search for the name of your list and above the name should be a field with key `id` and value is your list ID.
The List ID can also be found in the output of the following actions and triggers:
* **Create Card**
* **Get Card**
* **New Card** trigger
### How to find Card ID [#how-to-find-card-id]
* **Method 1: Via API**
Use the `GET /boards/BOARD_ID/cards` endpoint to retrieve a list of all cards and their IDs.
* **Method 2: Via UI**
Open the Trello board on your browser where your card is located. Open the card you want and you can find card ID in the URL. For example in `https://trello.com/c/123/my-trello-card`, card ID is 123.
The Card ID can also be found in the output of the following actions and triggers:
* **Create Card**
* **Get Card**
* **New Card** trigger
# ByteChef Reference: Twilio
URL: /reference/components/twilio_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/twilio_v1.mdx
Twilio is a cloud communications platform that enables developers to integrate messaging, voice, and video capabilities into their applications.
Categories: Communication
Type: twilio/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :---------: | :----: | :---------------------------------------: | :------: |
| username | Account SID | STRING | The Account SID from your Twilio account. | true |
| password | Auth Token | STRING | The Auth Token from your Twilio account. | true |
## Actions [#actions]
### Make Outbound Call [#make-outbound-call]
Name: makeCall
`Initiates an outbound voice call and executes a real-time workflow synchronously during the call. The action blocks until the call completes, allowing real-time audio processing and AI conversations.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----------------: | :-----: | :--------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| To | To | STRING | The phone number to call in E.164 format. | true |
| From | From | STRING | Your Twilio phone number in E.164 format. | true |
| subWorkflow | Real-Time Workflow | STRING | The workflow ID to execute synchronously during the phone call. This workflow handles real-time audio processing and AI responses via WebSocket streaming. | true |
| timeout | Ring Timeout | INTEGER | Maximum time in seconds to wait for the call to be answered. If not answered within this time, the call fails. | false |
| maxDuration | Max Call Duration | INTEGER | Maximum duration in minutes to wait for the call to complete. After this time, the action returns with a timeout status. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Make Outbound Call",
"name" : "makeCall",
"parameters" : {
"To" : "",
"From" : "",
"subWorkflow" : "",
"timeout" : 1,
"maxDuration" : 1
},
"type" : "twilio/v1/makeCall"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :-----: | :-------------------------------------------------------------: |
| callSid | STRING | Unique identifier for the call |
| status | STRING | Final call status (completed, failed, busy, no-answer, timeout) |
| duration | INTEGER | Call duration in seconds |
| direction | STRING | Call direction (outbound-api) |
#### Output Example [#output-example]
```json
{
"callSid" : "",
"status" : "",
"duration" : 1,
"direction" : ""
}
```
### Send SMS [#send-sms]
Name: sendSMS
`Send a new SMS message`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| To | To | STRING | The recipient's phone number in E.164 format. | true |
| From | From | STRING | The sender's Twilio phone number (in E.164 format), alphanumeric sender ID, Wireless SIM, short code, or channel address (e.g., whatsapp:+15554449999). The value of the from parameter must be a sender that is hosted within Twilio and belongs to the Account creating the Message. If you are using messaging\_service\_sid, this parameter can be empty (Twilio assigns a from value from the Messaging Service's Sender Pool) or you can provide a specific sender from your Sender Pool. | true |
| Body | Body | STRING | The text content of the outgoing message. SMS only: If the body contains more than 160 GSM-7 characters (or 70 UCS-2 characters), the message is segmented and charged accordingly. For long body text, consider using the send\_as\_mms parameter. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Send SMS",
"name" : "sendSMS",
"parameters" : {
"To" : "",
"From" : "",
"Body" : ""
},
"type" : "twilio/v1/sendSMS"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| body | STRING | |
| numSegments | STRING | |
| direction | STRING | |
| from | OBJECT Properties \{STRING(rawNumber)} | |
| to | STRING | |
| dateUpdated | OBJECT Properties \{DATE\_TIME(dateTime), STRING(zoneId)} | |
| price | STRING | |
| errorMessage | STRING | |
| uri | STRING | |
| accountSid | STRING | |
| numMedia | STRING | |
| status | STRING | |
| messagingServiceSid | STRING | |
| sid | STRING | |
| dateSent | OBJECT Properties \{DATE\_TIME(dateTime), STRING(zoneId)} | |
| dateCreated | OBJECT Properties \{DATE\_TIME(dateTime), STRING(zoneId)} | |
| errorCode | INTEGER | |
| currency | OBJECT Properties \{STRING(currencyCode), INTEGER(defaultFractionDigits), INTEGER(numericCode)} | |
| apiVersion | STRING | |
| subresourceUris | OBJECT Properties \{} | |
#### Output Example [#output-example-1]
```json
{
"body" : "",
"numSegments" : "",
"direction" : "",
"from" : {
"rawNumber" : ""
},
"to" : "",
"dateUpdated" : {
"dateTime" : "2021-01-01T00:00:00",
"zoneId" : ""
},
"price" : "",
"errorMessage" : "",
"uri" : "",
"accountSid" : "",
"numMedia" : "",
"status" : "",
"messagingServiceSid" : "",
"sid" : "",
"dateSent" : {
"dateTime" : "2021-01-01T00:00:00",
"zoneId" : ""
},
"dateCreated" : {
"dateTime" : "2021-01-01T00:00:00",
"zoneId" : ""
},
"errorCode" : 1,
"currency" : {
"currencyCode" : "",
"defaultFractionDigits" : 1,
"numericCode" : 1
},
"apiVersion" : "",
"subresourceUris" : { }
}
```
### Send WhatsApp Message [#send-whatsapp-message]
Name: sendWhatsAppMessage
`Send a new WhatsApp message.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :--------------: | :----------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------: | :------: |
| To | To | STRING | The recipient channel address. | true |
| From | From | STRING | The sender's Twilio channel address. | true |
| useTemplate | Use Template | BOOLEAN Options true , false | Use a template for the message body. | true |
| ContentSid | Content Sid | STRING | The SID of the content template to be used for the message body. | true |
| ContentVariables | null | OBJECT Properties \{} | Key-value pairs of template variables and their substitution values. | false |
| Body | Body | STRING | The text content of the outgoing message. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Send WhatsApp Message",
"name" : "sendWhatsAppMessage",
"parameters" : {
"To" : "",
"From" : "",
"useTemplate" : false,
"ContentSid" : "",
"ContentVariables" : { },
"Body" : ""
},
"type" : "twilio/v1/sendWhatsAppMessage"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| body | STRING | |
| numSegments | STRING | |
| direction | STRING | |
| from | OBJECT Properties \{STRING(rawNumber)} | |
| to | STRING | |
| dateUpdated | OBJECT Properties \{DATE\_TIME(dateTime), STRING(zoneId)} | |
| price | STRING | |
| errorMessage | STRING | |
| uri | STRING | |
| accountSid | STRING | |
| numMedia | STRING | |
| status | STRING | |
| messagingServiceSid | STRING | |
| sid | STRING | |
| dateSent | OBJECT Properties \{DATE\_TIME(dateTime), STRING(zoneId)} | |
| dateCreated | OBJECT Properties \{DATE\_TIME(dateTime), STRING(zoneId)} | |
| errorCode | INTEGER | |
| currency | OBJECT Properties \{STRING(currencyCode), INTEGER(defaultFractionDigits), INTEGER(numericCode)} | |
| apiVersion | STRING | |
| subresourceUris | OBJECT Properties \{} | |
#### Output Example [#output-example-2]
```json
{
"body" : "",
"numSegments" : "",
"direction" : "",
"from" : {
"rawNumber" : ""
},
"to" : "",
"dateUpdated" : {
"dateTime" : "2021-01-01T00:00:00",
"zoneId" : ""
},
"price" : "",
"errorMessage" : "",
"uri" : "",
"accountSid" : "",
"numMedia" : "",
"status" : "",
"messagingServiceSid" : "",
"sid" : "",
"dateSent" : {
"dateTime" : "2021-01-01T00:00:00",
"zoneId" : ""
},
"dateCreated" : {
"dateTime" : "2021-01-01T00:00:00",
"zoneId" : ""
},
"errorCode" : 1,
"currency" : {
"currencyCode" : "",
"defaultFractionDigits" : 1,
"numericCode" : 1
},
"apiVersion" : "",
"subresourceUris" : { }
}
```
## Triggers [#triggers]
### Inbound Voice Call [#inbound-voice-call]
Name: inboundCall
`Triggers when an inbound voice call is received. Returns TwiML that establishes a WebSocket connection for real-time audio streaming and AI conversation.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :---------------: | :-----------------: | :----: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| subWorkflow | Real-Time Workflow | STRING | The workflow ID to execute synchronously during the phone call. This workflow handles real-time audio processing and AI responses. | true |
| authToken | Auth Token | STRING | Your Twilio account auth token. When set, the incoming request's X-Twilio-Signature is verified and unsigned or forged requests are rejected. Leave empty to skip verification. | false |
| streamTokenSecret | Stream Token Secret | STRING | Optional shared secret used to sign the media-stream WebSocket URL (a WebSocket upgrade cannot carry X-Twilio-Signature). Set the same value as bytechef.twilio.stream-token.secret on the server so the connection is verified on connect. Leave empty to skip. | false |
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--------: | :----: | :-------------------------------: |
| callSid | STRING | Unique identifier for the call |
| from | STRING | Caller phone number |
| to | STRING | Called phone number |
| direction | STRING | Call direction (inbound/outbound) |
| accountSid | STRING | Twilio account SID |
| callStatus | STRING | Call status |
#### JSON Example [#json-example]
```json
{
"label" : "Inbound Voice Call",
"name" : "inboundCall",
"parameters" : {
"subWorkflow" : "",
"authToken" : "",
"streamTokenSecret" : ""
},
"type" : "twilio/v1/inboundCall"
}
```
### New WhatsApp Message [#new-whatsapp-message]
Name: newWhatsappMessage
`Triggers when a new WhatsApp message is received.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----: | :---------------------------------------------------------: | :------: |
| number | Number | STRING | The WhatsApp-enabled Twilio number this channel listens on. | false |
#### Output [#output-4]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example-1]
```json
{
"label" : "New WhatsApp Message",
"name" : "newWhatsappMessage",
"parameters" : {
"number" : ""
},
"type" : "twilio/v1/newWhatsappMessage"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Typeform
URL: /reference/components/typeform_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/typeform_v1.mdx
Typeform is an online survey and form-building tool that enables users to create interactive and engaging forms for collecting data and feedback.
Categories: Surveys and Feedback
Type: typeform/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-------------------: | :----: | :---------: | :------: |
| token | Personal Access Token | STRING | | true |
## Connection Setup [#connection-setup]
### Using Personal Access Token [#using-personal-access-token]
1. Log into your [Typeform account](https://admin.typeform.com/).
2. Select your profile avatar in the upper right.
3. Select **Your settings**.
4. Select **Personal tokens**.
5. Select **Generate a new token**.
6. Give your token a name, like `Bytechef Integration`.
7. For scopes, select **Custom scopes**. Select these scopes:
* Forms: Read, Write
* Webhooks: Read, Write
* Workspaces: Read
8. Click **Generate token**.
9. Copy the token and use it to create a connection in ByteChef.
## Actions [#actions]
### Create Empty Form [#create-empty-form]
Name: createEmptyForm
`Creates a new empty form.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :-----------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| title | Title | STRING | Title to use for the form. | true |
| type | Type | STRING Options quiz , classification , score , branching , classification\_branching , score\_branching | Form type for the typeform. | false |
| workspace | Workspace URL | STRING | URL of the workspace to use for the typeform. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Empty Form",
"name" : "createEmptyForm",
"parameters" : {
"title" : "",
"type" : "",
"workspace" : ""
},
"type" : "typeform/v1/createEmptyForm"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------: |
| id | STRING | ID of the form. |
| type | STRING | Type of the form. |
| title | STRING | Title of the form. |
| workspace | OBJECT Properties \{STRING(href)} | |
| theme | OBJECT Properties \{STRING(href)} | |
| settings | OBJECT Properties \{STRING(language), STRING(progress\_bar), \{BOOLEAN(allow\_indexing)}(meta), BOOLEAN(hide\_navigation), BOOLEAN(is\_public), BOOLEAN(is\_trial), BOOLEAN(show\_progress\_bar), BOOLEAN(show\_typeform\_branding), BOOLEAN(are\_uploads\_public), BOOLEAN(show\_time\_to\_complete), BOOLEAN(show\_number\_of\_submissions), BOOLEAN(show\_cookie\_consent), BOOLEAN(show\_question\_number), BOOLEAN(show\_key\_hint\_on\_choices), BOOLEAN(autosave\_progress), BOOLEAN(free\_form\_navigation), BOOLEAN(use\_lead\_qualification), BOOLEAN(pro\_subdomain\_enabled), BOOLEAN(auto\_translate), BOOLEAN(partial\_responses\_to\_all\_integrations)} | |
| \_links | OBJECT Properties \{STRING(display), STRING(responses)} | |
#### Output Example [#output-example]
```json
{
"id" : "",
"type" : "",
"title" : "",
"workspace" : {
"href" : ""
},
"theme" : {
"href" : ""
},
"settings" : {
"language" : "",
"progress_bar" : "",
"meta" : {
"allow_indexing" : false
},
"hide_navigation" : false,
"is_public" : false,
"is_trial" : false,
"show_progress_bar" : false,
"show_typeform_branding" : false,
"are_uploads_public" : false,
"show_time_to_complete" : false,
"show_number_of_submissions" : false,
"show_cookie_consent" : false,
"show_question_number" : false,
"show_key_hint_on_choices" : false,
"autosave_progress" : false,
"free_form_navigation" : false,
"use_lead_qualification" : false,
"pro_subdomain_enabled" : false,
"auto_translate" : false,
"partial_responses_to_all_integrations" : false
},
"_links" : {
"display" : "",
"responses" : ""
}
}
```
## Triggers [#triggers]
### New Submission [#new-submission]
Name: newSubmission
`Triggers when form is submitted.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| formId | Form ID | STRING | ID for the form. Find in your form URL. For example, in the URL "[https://mysite.typeform.com/to/u6nXL7](https://mysite.typeform.com/to/u6nXL7)" the form id is u6nXL7. | true |
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Submission",
"name" : "newSubmission",
"parameters" : {
"formId" : ""
},
"type" : "typeform/v1/newSubmission"
}
```
#### How to find the Form ID [#how-to-find-the-form-id]
You can find your Typeform Form ID directly in your browser’s address bar when you open the form.
1. Log in to your Typeform account and go to your workspace.
2. Open the form you want to use.
3. Look at the URL in your browser. You’ll see one of these patterns:
* `https://admin.typeform.com/form/ABC12345/...`
* `https://admin.typeform.com/to/XYZ67890/...`
4. The **Form ID** is the unique alphanumeric string **immediately after** `/form/` or `/to/` and **before** the next `/` or `?`.
* For example, in `https://admin.typeform.com/form/ABC12345/`, the Form ID is `ABC12345`.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Typesense
URL: /reference/components/typesense_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/typesense_v1.mdx
Typesense is an open-source, in-memory search engine designed for fast, typo-tolerant, and relevance-focused full-text search across large datasets.
Categories: Artificial Intelligence
Type: typesense/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :---------------------------------------------------------------------------------------------: | :--------------------------------: | :------: |
| protocol | Protocol | STRING | HTTP Protocol | true |
| host | Host | STRING | Hostname | true |
| port | Port | STRING | | true |
| apiKey | Typesense API Key | STRING | The API key for the Typesense API. | true |
| collection | Collection Name | STRING | The name of the collection to use. | true |
| embeddingDimension | Embedding Dimension | INTEGER | The dimension of the embeddings. | true |
| initializeSchema | Initialize Schema | BOOLEAN Options true , false | Whether to initialize the schema. | true |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "typesense/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "typesense/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "typesense/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "typesense/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: URLs
URL: /reference/components/urls_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/urls_v1.mdx
Detects - and optionally masks - URLs outside a configured allowlist.
Categories: Artificial Intelligence
Type: urls/v1
# ByteChef Reference: Urlscan.io
URL: /reference/components/urlscan_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/urlscan_v1.mdx
Urlscan.io is an online service that allows you to safely analyze websites and URLs to determine potential security threats and risks.
Categories: Helpers
Type: urlscan/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | Value | STRING | | true |
## Connection Setup [#connection-setup]
1. Login to the dashboard at [https://urlscan.io/user/login/](https://urlscan.io/user/login/).
2. Click on Settings & API.
3. Click on New API key.
4. Add description and click Create API key.
5. Copy the API key. Use these credentials to create a connection in ByteChef.
## Actions [#actions]
### Result [#result]
Name: result
`Get scan results for a specific scan ID.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :------------------: | :------: |
| scanId | Scan ID | STRING | UUID of scan result. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Result",
"name" : "result",
"parameters" : {
"scanId" : ""
},
"type" : "urlscan/v1/result"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------: |
| data | OBJECT Properties \{\[\{\{STRING(requestId), STRING(loaderId), STRING(documentURL), \{STRING(url), STRING(method), \{}(headers), STRING(mixedContentType), STRING(initialPriority), STRING(referrerPolicy), BOOLEAN(isSameSite), BOOLEAN(isLinkPreload)}(request), NUMBER(timestamp), NUMBER(wallTime), \{STRING(type), STRING(url), INTEGER(lineNumber), INTEGER(columnNumber)}(initiator), BOOLEAN(redirectHasExtraInfo), STRING(type), STRING(frameId), BOOLEAN(hasUserGesture), BOOLEAN(primaryRequest)}(request), \{INTEGER(encodedDataLength), INTEGER(dataLength), STRING(requestId), STRING(type), BOOLEAN(hasExtraInfo), STRING(hash), INTEGER(size), \{STRING(ip), STRING(asn), STRING(country), STRING(registrar), STRING(date), STRING(description), STRING(route), STRING(name)}(asn), \{STRING(country), STRING(region), STRING(timezone), STRING(city), \[NUMBER]\(ll), STRING(country\_name), INTEGER(metro), INTEGER(area)}(geoip), \{STRING(ip), STRING(ptr)}(rdns), \{STRING(url), INTEGER(status), STRING(statusText), \{}(headers), STRING(mimeType), STRING(remoteIPAddress), INTEGER(remotePort), INTEGER(encodedDataLength), \{NUMBER(requestTime), NUMBER(proxyStart), NUMBER(proxyEnd), NUMBER(dnsStart), NUMBER(dnsEnd), NUMBER(connectStart), NUMBER(connectEnd), NUMBER(sslStart), NUMBER(sslEnd), NUMBER(workerStart), NUMBER(workerReady), NUMBER(workerFetchStart), NUMBER(workerRespondWithSettled), NUMBER(sendStart), NUMBER(sendEnd), NUMBER(pushStart), NUMBER(pushEnd), NUMBER(receiveHeadersStart), NUMBER(receiveHeadersEnd)}(timing), NUMBER(responseTime), STRING(protocol), STRING(alternateProtocolUsage), STRING(securityState), \{STRING(protocol), STRING(keyExchange), STRING(keyExchangeGroup), STRING(cipher), INTEGER(certificateId), STRING(subjectName), \[STRING]\(sanList), STRING(issuer), INTEGER(validFrom), INTEGER(validTo), \[STRING]\(signedCertificateTimestampList), STRING(certificateTransparencyCompliance), INTEGER(serverSignatureAlgorithm), BOOLEAN(encryptedClientHello)}(securityDetails), \[\{STRING(name), STRING(value)}]\(securityHeaders)}(response)}(response), \{STRING(url), STRING(host), STRING(type)}(initiatorInfo)}]\(requests), \[\{}]\(cookies), \[\{}]\(console), \[\{STRING(href), STRING(text)}]\(links), \{}(timing), \[\{}]\(globals)} | Raw scan data including network requests, responses, cookies, console logs, and page elements. |
| stats | OBJECT Properties \{\[\{INTEGER(count), INTEGER(size), INTEGER(encodedSize), NUMBER(latency), \[STRING]\(countries), \[STRING]\(ips), STRING(type), STRING(compression), INTEGER(percentage)}]\(resourceStats), \[\{INTEGER(count), INTEGER(size), INTEGER(encodedSize), NUMBER(latency), \[STRING]\(countries), \[STRING]\(ips), INTEGER(percentage), STRING(protocol), \{}(securityState)}]\(protocolStats), \[\{INTEGER(count), INTEGER(size), INTEGER(encodedSize), NUMBER(latency), \[STRING]\(countries), \[STRING]\(ips), INTEGER(percentage), \{}(protocols), STRING(securityState)}]\(tlsStats), \[\{INTEGER(count), INTEGER(size), INTEGER(encodedSize), NUMBER(latency), \[STRING]\(countries), \[STRING]\(ips), INTEGER(percentage), STRING(server)}]\(serverStats), \[\{INTEGER(count), \[STRING]\(ips), INTEGER(redirects), INTEGER(size), INTEGER(encodedSize), \[STRING]\(countries), INTEGER(index), \[STRING]\(initiators), INTEGER(requests), STRING(domain)}]\(domainStats), \[\{INTEGER(count), \[STRING]\(ips), INTEGER(redirects), INTEGER(size), INTEGER(encodedSize), \[STRING]\(countries), INTEGER(index), \[STRING]\(initiators), INTEGER(requests), STRING(regDomain), \[\{STRING(domain), STRING(country)}]\(subDomains)}]\(regDomainStats), INTEGER(secureRequests), INTEGER(securePercentage), INTEGER(IPv6Percentage), INTEGER(uniqCountries), INTEGER(totalLinks), INTEGER(maliciousRequests), INTEGER(adBlocked), INTEGER(malicious), \[\{INTEGER(requests), \[STRING]\(domains), \[STRING]\(ips), \[STRING]\(countries), \[\{STRING(asn), STRING(country), STRING(organisation)}]\(asns), INTEGER(encoded\_size), INTEGER(size), INTEGER(redirects), STRING(ip), \{STRING(ip), STRING(asn), STRING(country), STRING(registrar), STRING(date), STRING(description), STRING(route), STRING(name)}(asn), \{}(dns), \{STRING(country), STRING(region), STRING(timezone), STRING(city), \[NUMBER]\(ll), STRING(country\_name), INTEGER(metro), INTEGER(area)}(geoip), INTEGER(encodedSize), INTEGER(index), BOOLEAN(ipv6), INTEGER(count), \{STRING(ip), STRING(ptr)}(rdns)}]\(ipStats)} | Statistical analysis of the scan including resource counts, protocols, security metrics, and geographic distribution. |
| meta | OBJECT Properties \{\{\{\[\{STRING(hostname), INTEGER(rank)}]\(data)}(umbrella), \{\[\{STRING(ip), \{STRING(country), STRING(country\_name), STRING(region), STRING(timezone), STRING(city), \[NUMBER]\(ll), INTEGER(metro), INTEGER(area)}(geoip)}]\(data)}(geoip), \{\[\{STRING(ip), STRING(ptr)}]\(data)}(rdns), \{\[\{STRING(ip), STRING(asn), STRING(country), STRING(organisation), STRING(registrar), STRING(date), STRING(description), STRING(route), STRING(name)}]\(data)}(asn), \{\[\{\[\{INTEGER(confidence), STRING(pattern)}]\(confidence), INTEGER(confidenceTotal), STRING(app), STRING(icon), STRING(website), \[\{STRING(name), STRING(id), INTEGER(priority)}]\(categories)}]\(data)}(wappa)}(processors)} | Enriched metadata from external processors including domain rankings, geolocation, DNS records, and ASN information. |
| task | OBJECT Properties \{STRING(uuid), STRING(time), STRING(url), STRING(visibility), \{}(options), STRING(method), STRING(source), STRING(userAgent), STRING(reportURL), STRING(screenshotURL), STRING(domURL), \[STRING]\(tags)} | Information about the scan task including configuration, URLs, and submission details. |
| page | OBJECT Properties \{STRING(country), STRING(server), STRING(city), STRING(domain), STRING(ip), STRING(asnname), STRING(asn), STRING(url), STRING(ptr)} | Information about the scanned page including server details, location and network properties. |
| lists | OBJECT Properties \{\[STRING]\(ips), \[STRING]\(countries), \[STRING]\(asns), \[STRING]\(domains), \[STRING]\(servers), \[STRING]\(urls), \[STRING]\(linkDomains), \[\{STRING(subjectName), STRING(issuer), INTEGER(validFrom), INTEGER(validTo)}]\(certificates), \[STRING]\(hashes)} | Aggregated lists of unique elements found during the scan including IPs, domains, URLs, and certificates. |
| verdicts | OBJECT Properties \{\{INTEGER(score), \[STRING]\(categories), \[\{}]\(brands), \[STRING]\(tags), BOOLEAN(malicious), BOOLEAN(hasVerdicts)}(overall), \{INTEGER(score), \[STRING]\(categories), \[\{}]\(brands), \[STRING]\(tags), BOOLEAN(malicious), BOOLEAN(hasVerdicts)}(urlscan), \{INTEGER(score), \[STRING]\(categories), \[\{}]\(brands), \[STRING]\(tags), BOOLEAN(malicious), INTEGER(enginesTotal), INTEGER(maliciousTotal), INTEGER(benignTotal), \[\{STRING(engine), STRING(classification)}]\(verdicts), \[\{}]\(maliciousVerdicts), \[\{}]\(benignVerdicts), BOOLEAN(hasVerdicts)}(engines), \{INTEGER(score), \[STRING]\(categories), \[\{}]\(brands), \[STRING]\(tags), BOOLEAN(malicious), INTEGER(votesBenign), INTEGER(votesMalicious), INTEGER(votesTotal), BOOLEAN(hasVerdicts)}(community)} | Security verdicts and threat analysis from multiple sources including urlscan.io, third-party engines, and community ratings. |
| submitter | OBJECT Properties \{STRING(country)} | Information about the entity that submitted the scan request. |
#### Output Example [#output-example]
```json
{
"data" : {
"requests" : [ {
"request" : {
"requestId" : "",
"loaderId" : "",
"documentURL" : "",
"request" : {
"url" : "",
"method" : "",
"headers" : { },
"mixedContentType" : "",
"initialPriority" : "",
"referrerPolicy" : "",
"isSameSite" : false,
"isLinkPreload" : false
},
"timestamp" : 0.0,
"wallTime" : 0.0,
"initiator" : {
"type" : "",
"url" : "",
"lineNumber" : 1,
"columnNumber" : 1
},
"redirectHasExtraInfo" : false,
"type" : "",
"frameId" : "",
"hasUserGesture" : false,
"primaryRequest" : false
},
"response" : {
"encodedDataLength" : 1,
"dataLength" : 1,
"requestId" : "",
"type" : "",
"hasExtraInfo" : false,
"hash" : "",
"size" : 1,
"asn" : {
"ip" : "",
"asn" : "",
"country" : "",
"registrar" : "",
"date" : "",
"description" : "",
"route" : "",
"name" : ""
},
"geoip" : {
"country" : "",
"region" : "",
"timezone" : "",
"city" : "",
"ll" : [ 0.0 ],
"country_name" : "",
"metro" : 1,
"area" : 1
},
"rdns" : {
"ip" : "",
"ptr" : ""
},
"response" : {
"url" : "",
"status" : 1,
"statusText" : "",
"headers" : { },
"mimeType" : "",
"remoteIPAddress" : "",
"remotePort" : 1,
"encodedDataLength" : 1,
"timing" : {
"requestTime" : 0.0,
"proxyStart" : 0.0,
"proxyEnd" : 0.0,
"dnsStart" : 0.0,
"dnsEnd" : 0.0,
"connectStart" : 0.0,
"connectEnd" : 0.0,
"sslStart" : 0.0,
"sslEnd" : 0.0,
"workerStart" : 0.0,
"workerReady" : 0.0,
"workerFetchStart" : 0.0,
"workerRespondWithSettled" : 0.0,
"sendStart" : 0.0,
"sendEnd" : 0.0,
"pushStart" : 0.0,
"pushEnd" : 0.0,
"receiveHeadersStart" : 0.0,
"receiveHeadersEnd" : 0.0
},
"responseTime" : 0.0,
"protocol" : "",
"alternateProtocolUsage" : "",
"securityState" : "",
"securityDetails" : {
"protocol" : "",
"keyExchange" : "",
"keyExchangeGroup" : "",
"cipher" : "",
"certificateId" : 1,
"subjectName" : "",
"sanList" : [ "" ],
"issuer" : "",
"validFrom" : 1,
"validTo" : 1,
"signedCertificateTimestampList" : [ "" ],
"certificateTransparencyCompliance" : "",
"serverSignatureAlgorithm" : 1,
"encryptedClientHello" : false
},
"securityHeaders" : [ {
"name" : "",
"value" : ""
} ]
}
},
"initiatorInfo" : {
"url" : "",
"host" : "",
"type" : ""
}
} ],
"cookies" : [ { } ],
"console" : [ { } ],
"links" : [ {
"href" : "",
"text" : ""
} ],
"timing" : { },
"globals" : [ { } ]
},
"stats" : {
"resourceStats" : [ {
"count" : 1,
"size" : 1,
"encodedSize" : 1,
"latency" : 0.0,
"countries" : [ "" ],
"ips" : [ "" ],
"type" : "",
"compression" : "",
"percentage" : 1
} ],
"protocolStats" : [ {
"count" : 1,
"size" : 1,
"encodedSize" : 1,
"latency" : 0.0,
"countries" : [ "" ],
"ips" : [ "" ],
"percentage" : 1,
"protocol" : "",
"securityState" : { }
} ],
"tlsStats" : [ {
"count" : 1,
"size" : 1,
"encodedSize" : 1,
"latency" : 0.0,
"countries" : [ "" ],
"ips" : [ "" ],
"percentage" : 1,
"protocols" : { },
"securityState" : ""
} ],
"serverStats" : [ {
"count" : 1,
"size" : 1,
"encodedSize" : 1,
"latency" : 0.0,
"countries" : [ "" ],
"ips" : [ "" ],
"percentage" : 1,
"server" : ""
} ],
"domainStats" : [ {
"count" : 1,
"ips" : [ "" ],
"redirects" : 1,
"size" : 1,
"encodedSize" : 1,
"countries" : [ "" ],
"index" : 1,
"initiators" : [ "" ],
"requests" : 1,
"domain" : ""
} ],
"regDomainStats" : [ {
"count" : 1,
"ips" : [ "" ],
"redirects" : 1,
"size" : 1,
"encodedSize" : 1,
"countries" : [ "" ],
"index" : 1,
"initiators" : [ "" ],
"requests" : 1,
"regDomain" : "",
"subDomains" : [ {
"domain" : "",
"country" : ""
} ]
} ],
"secureRequests" : 1,
"securePercentage" : 1,
"IPv6Percentage" : 1,
"uniqCountries" : 1,
"totalLinks" : 1,
"maliciousRequests" : 1,
"adBlocked" : 1,
"malicious" : 1,
"ipStats" : [ {
"requests" : 1,
"domains" : [ "" ],
"ips" : [ "" ],
"countries" : [ "" ],
"asns" : [ {
"asn" : "",
"country" : "",
"organisation" : ""
} ],
"encoded_size" : 1,
"size" : 1,
"redirects" : 1,
"ip" : "",
"asn" : {
"ip" : "",
"asn" : "",
"country" : "",
"registrar" : "",
"date" : "",
"description" : "",
"route" : "",
"name" : ""
},
"dns" : { },
"geoip" : {
"country" : "",
"region" : "",
"timezone" : "",
"city" : "",
"ll" : [ 0.0 ],
"country_name" : "",
"metro" : 1,
"area" : 1
},
"encodedSize" : 1,
"index" : 1,
"ipv6" : false,
"count" : 1,
"rdns" : {
"ip" : "",
"ptr" : ""
}
} ]
},
"meta" : {
"processors" : {
"umbrella" : {
"data" : [ {
"hostname" : "",
"rank" : 1
} ]
},
"geoip" : {
"data" : [ {
"ip" : "",
"geoip" : {
"country" : "",
"country_name" : "",
"region" : "",
"timezone" : "",
"city" : "",
"ll" : [ 0.0 ],
"metro" : 1,
"area" : 1
}
} ]
},
"rdns" : {
"data" : [ {
"ip" : "",
"ptr" : ""
} ]
},
"asn" : {
"data" : [ {
"ip" : "",
"asn" : "",
"country" : "",
"organisation" : "",
"registrar" : "",
"date" : "",
"description" : "",
"route" : "",
"name" : ""
} ]
},
"wappa" : {
"data" : [ {
"confidence" : [ {
"confidence" : 1,
"pattern" : ""
} ],
"confidenceTotal" : 1,
"app" : "",
"icon" : "",
"website" : "",
"categories" : [ {
"name" : "",
"id" : "",
"priority" : 1
} ]
} ]
}
}
},
"task" : {
"uuid" : "",
"time" : "",
"url" : "",
"visibility" : "",
"options" : { },
"method" : "",
"source" : "",
"userAgent" : "",
"reportURL" : "",
"screenshotURL" : "",
"domURL" : "",
"tags" : [ "" ]
},
"page" : {
"country" : "",
"server" : "",
"city" : "",
"domain" : "",
"ip" : "",
"asnname" : "",
"asn" : "",
"url" : "",
"ptr" : ""
},
"lists" : {
"ips" : [ "" ],
"countries" : [ "" ],
"asns" : [ "" ],
"domains" : [ "" ],
"servers" : [ "" ],
"urls" : [ "" ],
"linkDomains" : [ "" ],
"certificates" : [ {
"subjectName" : "",
"issuer" : "",
"validFrom" : 1,
"validTo" : 1
} ],
"hashes" : [ "" ]
},
"verdicts" : {
"overall" : {
"score" : 1,
"categories" : [ "" ],
"brands" : [ { } ],
"tags" : [ "" ],
"malicious" : false,
"hasVerdicts" : false
},
"urlscan" : {
"score" : 1,
"categories" : [ "" ],
"brands" : [ { } ],
"tags" : [ "" ],
"malicious" : false,
"hasVerdicts" : false
},
"engines" : {
"score" : 1,
"categories" : [ "" ],
"brands" : [ { } ],
"tags" : [ "" ],
"malicious" : false,
"enginesTotal" : 1,
"maliciousTotal" : 1,
"benignTotal" : 1,
"verdicts" : [ {
"engine" : "",
"classification" : ""
} ],
"maliciousVerdicts" : [ { } ],
"benignVerdicts" : [ { } ],
"hasVerdicts" : false
},
"community" : {
"score" : 1,
"categories" : [ "" ],
"brands" : [ { } ],
"tags" : [ "" ],
"malicious" : false,
"votesBenign" : 1,
"votesMalicious" : 1,
"votesTotal" : 1,
"hasVerdicts" : false
}
},
"submitter" : {
"country" : ""
}
}
```
#### Find Scan ID [#find-scan-id]
To find Scan ID, click [here](/reference/components/urlscan_v1#how-to-find-scan-id).
### Scan [#scan]
Name: scan
`Submit a URL to be scanned and control options for how the scan should be performed.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :--------: | :-----------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| url | URL | STRING | The URL to be scanned. | true |
| visibility | Visibility | STRING Options public , unlisted , private | Intended visibility of the final scan result. | false |
| tags | Tags | ARRAY Items \[STRING] | User-defined tags to annotate this scan. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Scan",
"name" : "scan",
"parameters" : {
"url" : "",
"visibility" : "",
"tags" : [ "" ]
},
"type" : "urlscan/v1/scan"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--------: | :----: | :-----------------------------------------: |
| uuid | STRING | UUID for scan result, also called \$scanId. |
| country | STRING | Country for scanning. |
| visibility | STRING | Determined visibility for scan. |
| url | STRING | Determined URL being scanned. |
#### Output Example [#output-example-1]
```json
{
"uuid" : "",
"country" : "",
"visibility" : "",
"url" : ""
}
```
### Screenshot [#screenshot]
Name: screenshot
`Use the scan ID to retrieve the screenshot for a scan once the scan has finished.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :------------------: | :------: |
| scanId | Scan Id | STRING | UUID of scan result. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Screenshot",
"name" : "screenshot",
"parameters" : {
"scanId" : ""
},
"type" : "urlscan/v1/screenshot"
}
```
#### Output [#output-2]
Type: FILE\_ENTRY
#### Properties [#properties-6]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example-2]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
#### Find Scan ID [#find-scan-id-1]
To find Scan ID, click [here](/reference/components/urlscan_v1#how-to-find-scan-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Scan ID [#how-to-find-scan-id]
1. Login in to **urlscan.io** and go to your account.
2. In the left bar you will find **Recent Scans**.
3. Open the scan you want to find ID for.
4. In the URL you can find scan ID. It is a UUID after `https://urlscan.io/result/`.
Scan ID can also be found in the output of the following actions:
* **Scan**
# ByteChef Reference: Var
URL: /reference/components/var_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/var_v1.mdx
Sets a value which can then be referenced in other tasks.
Categories: Helpers
Type: var/v1
## Actions [#actions]
### Set Value [#set-value]
Name: set
`Assign value to a variable that can be used in the following steps.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------: | :------: |
| type | Type | STRING Options ARRAY , BOOLEAN , DATE , DATE\_TIME , INTEGER , NUMBER , OBJECT , STRING , TIME | The value type. | false |
| value | Value | ARRAY Items \[] | Value of any type to set. | true |
| value | Value | BOOLEAN Options true , false | Value of any type to set. | true |
| value | Value | DATE | Value of any type to set. | true |
| value | Value | DATE\_TIME | Value of any type to set. | true |
| value | Value | INTEGER | Value of any type to set. | true |
| value | Value | NUMBER | Value of any type to set. | true |
| value | Value | OBJECT Properties \{} | Value of any type to set. | true |
| value | Value | STRING | Value of any type to set. | true |
| value | Value | TIME | Value of any type to set. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Set Value",
"name" : "set",
"parameters" : {
"type" : "",
"value" : "00:00:00"
},
"type" : "var/v1/set"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
# ByteChef Reference: Vbout
URL: /reference/components/vbout_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/vbout_v1.mdx
VBOUT is an AI-enabled marketing platform that helps businesses manage and streamline their digital marketing efforts.
Categories: Marketing Automation
Type: vbout/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :---------: | :------: |
| value | API Key | STRING | | true |
## Actions [#actions]
### Add Contact To List [#add-contact-to-list]
Name: addContactToList
`Adds a contact to a selected email list.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :--------------------------------------------------------------------------------------------------: | :-------------------------------------------: | :------: |
| listid | List ID | INTEGER | The ID of the list to assign this contact to. | true |
| email | Email | STRING | The email of the contact. | true |
| status | Status | STRING Options active , disactive | The status of the contact. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Contact To List",
"name" : "addContactToList",
"parameters" : {
"listid" : 1,
"email" : "",
"status" : ""
},
"type" : "vbout/v1/addContactToList"
}
```
#### Output [#output]
This action does not produce any output.
### Update Contact [#update-contact]
Name: updateContact
`Updates a contact in a selected email list.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----: | :--------: | :--------------------------------------------------------------------------------------------------: | :--------------------------------: | :------: |
| listid | List ID | STRING | The ID of the list with contact. | true |
| id | Contact ID | STRING | The ID of the contact. | true |
| email | Email | STRING | The updated email of the contact. | false |
| status | Status | STRING Options active , disactive | The updated status of the contact. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Update Contact",
"name" : "updateContact",
"parameters" : {
"listid" : "",
"id" : "",
"email" : "",
"status" : ""
},
"type" : "vbout/v1/updateContact"
}
```
#### Output [#output-1]
This action does not produce any output.
### Create Email Marketing Campaign [#create-email-marketing-campaign]
Name: createEmailMarketingCampaign
`Creates a new email campaign for specific list.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------: | :----------------------------------------------------------------------------------------------------: | :-----------------------------------------------: | :------: |
| name | Name | STRING | The name of the campaign. | true |
| subject | Subject | STRING | The subject line for the campaign. | true |
| fromemail | From Mail | STRING | The from email of the campaign. | true |
| from\_name | From Name | STRING | The from name of the campaign. | true |
| reply\_to | Reply To | STRING | The reply to email of the campaign. | true |
| body | Body | STRING | Message body. | true |
| type | Type | STRING Options standard , automated | The type of the campaign. | false |
| isscheduled | Is Scheduled | BOOLEAN Options true , false | The flag to schedule the campaign for the future. | false |
| scheduled\_datetime | Scheduled Date | DATE | The date to schedule the campaign. | false |
| isdraft | Is Draft | BOOLEAN Options true , false | The flag to set the campaign to draft. | false |
| lists | Lists | ARRAY Items \[STRING] | IDs of list campaign recipients. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Email Marketing Campaign",
"name" : "createEmailMarketingCampaign",
"parameters" : {
"name" : "",
"subject" : "",
"fromemail" : "",
"from_name" : "",
"reply_to" : "",
"body" : "",
"type" : "",
"isscheduled" : false,
"scheduled_datetime" : "2021-01-01",
"isdraft" : false,
"lists" : [ "" ]
},
"type" : "vbout/v1/createEmailMarketingCampaign"
}
```
#### Output [#output-2]
This action does not produce any output.
### Add Tag To Contact [#add-tag-to-contact]
Name: addTagToContact
`Adds the tag to the contact.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :-------------------------------------------------------------: | :-----------------------: | :------: |
| email | Email | STRING | The email of the contact. | true |
| tagname | Tag Name | ARRAY Items \[STRING] | Tag(s) to be added. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Add Tag To Contact",
"name" : "addTagToContact",
"parameters" : {
"email" : "",
"tagname" : [ "" ]
},
"type" : "vbout/v1/addTagToContact"
}
```
#### Output [#output-3]
This action does not produce any output.
### Create Email List [#create-email-list]
Name: createEmailList
`Creates a new email list.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------------------: | :------------------: | :----: | :-------------------------------: | :------: |
| name | Name | STRING | The name of the list. | true |
| email\_subject | Email Subject | STRING | The default subscription subject. | false |
| reply\_to | Reply To | STRING | The reply to email of the list. | false |
| fromemail | From Mail | STRING | The from email of the list. | false |
| from\_name | From Name | STRING | The from name of the list. | false |
| notify\_email | Notify Email | STRING | Notification email. | false |
| success\_email | Success Email | STRING | Subscription success email. | false |
| success\_message | Success Message | STRING | Subscription success message. | false |
| error\_message | Error Message | STRING | Subscription error message. | false |
| confirmation\_email | Confirmation Email | STRING | Confirmation email. | false |
| confirmation\_message | Confirmation Message | STRING | Confirmation message. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Create Email List",
"name" : "createEmailList",
"parameters" : {
"name" : "",
"email_subject" : "",
"reply_to" : "",
"fromemail" : "",
"from_name" : "",
"notify_email" : "",
"success_email" : "",
"success_message" : "",
"error_message" : "",
"confirmation_email" : "",
"confirmation_message" : ""
},
"type" : "vbout/v1/createEmailList"
}
```
#### Output [#output-4]
This action does not produce any output.
### Create Social Media Message [#create-social-media-message]
Name: createSocialMediaMessage
`Post a message to one of your social media channel.`
#### Properties [#properties-6]
| Name | Label | Type | Description | Required |
| :---------: | :------------------: | :-------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: | :------: |
| message | Message | STRING | The post message to be sent. | true |
| channel | Channel | STRING Options facebook , twitter , linkedin | The channel which the post will be sent to. | true |
| channel\_id | Social Media Account | STRING Depends On channel | The social media account which will create the post. | true |
#### Example JSON Structure [#example-json-structure-5]
```json
{
"label" : "Create Social Media Message",
"name" : "createSocialMediaMessage",
"parameters" : {
"message" : "",
"channel" : "",
"channel_id" : ""
},
"type" : "vbout/v1/createSocialMediaMessage"
}
```
#### Output [#output-5]
This action does not produce any output.
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Vector Store Chat Memory
URL: /reference/components/vector-store-chat-memory_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/vector-store-chat-memory_v1.mdx
Vector Store Chat Memory.
Categories: Artificial Intelligence
Type: vectorStoreChatMemory/v1
## Actions [#actions]
### Add Messages [#add-messages]
Name: addMessages
`Adds messages to the vector store chat memory for a conversation.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :---------------------------------------------------------------------------------------: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
| messages | Messages | ARRAY Items \[\{STRING(role), STRING(content)}] | The messages to add to the conversation. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Messages",
"name" : "addMessages",
"parameters" : {
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
},
"type" : "vectorStoreChatMemory/v1/addMessages"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-1]
| Name | Type | Description |
| :------------: | :-----: | :---------: |
| conversationId | STRING | |
| messageCount | INTEGER | |
#### Output Example [#output-example]
```json
{
"conversationId" : "",
"messageCount" : 1
}
```
### Get Messages [#get-messages]
Name: getMessages
`Retrieves messages from the vector store chat memory for a conversation.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :-----: | :-----------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation. | true |
| topK | Top K | INTEGER | The maximum number of messages to retrieve. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Messages",
"name" : "getMessages",
"parameters" : {
"conversationId" : "",
"topK" : 1
},
"type" : "vectorStoreChatMemory/v1/getMessages"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| messages | ARRAY Items \[\{STRING(role), STRING(content)}] | |
#### Output Example [#output-example-1]
```json
{
"conversationId" : "",
"messages" : [ {
"role" : "",
"content" : ""
} ]
}
```
### Delete Conversation [#delete-conversation]
Name: deleteConversation
`Deletes all messages for a conversation from the vector store.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----: | :---------------------------------------------------: | :------: |
| conversationId | Conversation ID | STRING | The unique identifier for the conversation to delete. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Delete Conversation",
"name" : "deleteConversation",
"parameters" : {
"conversationId" : ""
},
"type" : "vectorStoreChatMemory/v1/deleteConversation"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :------------: | :---------------------------------------------------------------------------------------------: | :---------: |
| conversationId | STRING | |
| deleted | BOOLEAN Options true , false | |
#### Output Example [#output-example-2]
```json
{
"conversationId" : "",
"deleted" : false
}
```
# ByteChef Reference: Vector Store Document Retriever
URL: /reference/components/vector-store-document-retriever_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/vector-store-document-retriever_v1.mdx
Vector Store Document Retriever.
Categories: Artificial Intelligence
Type: vectorStoreDocumentRetriever/v1
# ByteChef Reference: VTiger
URL: /reference/components/vtiger_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/vtiger_v1.mdx
VTiger is a comprehensive customer relationship management (CRM) platform that offers sales, marketing, and support solutions to streamline business.
Categories: CRM
Type: vtiger/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-----------: | :-----------------: | :----: | :-----------------------------------------------------: | :------: |
| username | Username | STRING | Enter your username/email. | true |
| password | Access Key | STRING | | true |
| instance\_url | VTiger Instance URL | STRING | For the instance URL, add the url without the endpoint. | true |
## Connection Setup [#connection-setup]
### Find Access Key [#find-access-key]
1. Navigate to [VTiger](https://www.vtiger.com/) dashboard.
2. Click on your account icon.
3. Click on **My Preferences**.
4. Here you can see your credentials.
5. Done 🚀.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :---------------------------: | :------: |
| firstname | First Name | STRING | First name of the contact. | true |
| lastname | Last Name | STRING | Last name of the contact. | true |
| email | Email | STRING | Email address of the contact. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"firstname" : "",
"lastname" : "",
"email" : ""
},
"type" : "vtiger/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| result | OBJECT Properties \{STRING(firstname), STRING(lastname), STRING(email), STRING(phone), STRING(assigned\_user\_id), STRING(id)} | |
#### Output Example [#output-example]
```json
{
"result" : {
"firstname" : "",
"lastname" : "",
"email" : "",
"phone" : "",
"assigned_user_id" : "",
"id" : ""
}
}
```
### Create Product [#create-product]
Name: createProduct
`Creates a new product for your CRM.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :---------------------------------------------------------------------------------------------------: | :------------------: | :------: |
| productname | Product Name | STRING | Name of the product. | true |
| product\_type | Product Type | STRING Options Solo , Fixed Bundle | Type of the product. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Product",
"name" : "createProduct",
"parameters" : {
"productname" : "",
"product_type" : ""
},
"type" : "vtiger/v1/createProduct"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| results | OBJECT Properties \{STRING(productname), STRING(product\_type), STRING(assigned\_user\_id), STRING(id)} | |
#### Output Example [#output-example-1]
```json
{
"results" : {
"productname" : "",
"product_type" : "",
"assigned_user_id" : "",
"id" : ""
}
}
```
### Get Me [#get-me]
Name: getMe
`Get more information about yourself.`
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Me",
"name" : "getMe",
"type" : "vtiger/v1/getMe"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :----: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| result | OBJECT Properties \{STRING(id), STRING(user\_name), STRING(user\_type), STRING(email), STRING(phone\_home), STRING(phone\_work), STRING(phone\_mobile), STRING(userlable), STRING(address\_street), STRING(address\_city), STRING(address\_state), STRING(address\_country), STRING(roleid), STRING(language), BOOLEAN(is\_admin), BOOLEAN(is\_owner), STRING(status)} | |
#### Output Example [#output-example-2]
```json
{
"result" : {
"id" : "",
"user_name" : "",
"user_type" : "",
"email" : "",
"phone_home" : "",
"phone_work" : "",
"phone_mobile" : "",
"userlable" : "",
"address_street" : "",
"address_city" : "",
"address_state" : "",
"address_country" : "",
"roleid" : "",
"language" : "",
"is_admin" : false,
"is_owner" : false,
"status" : ""
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Wait
URL: /reference/components/wait_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/wait_v1.mdx
Pauses the workflow execution for a specified amount of time or until a webhook call is received.
Categories: Helpers
Type: wait/v1
## Actions [#actions]
### After Time Interval [#after-time-interval]
Name: afterTimeInterval
`Pauses the workflow execution for a specified amount of time.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------: | :------: |
| amount | Amount | INTEGER | The amount of time to wait. | true |
| unit | Unit | STRING Options SECONDS , MINUTES , HOURS , DAYS | The unit of time. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "After Time Interval",
"name" : "afterTimeInterval",
"parameters" : {
"amount" : 1,
"unit" : ""
},
"type" : "wait/v1/afterTimeInterval"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### At Specified Time [#at-specified-time]
Name: atSpecifiedTime
`Pauses the workflow execution until a specified date and time.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :---: | :---------------------------------------------------------------------------------------------------: | :-------------------------------------------------: | :------: |
| data | | OBJECT Properties \{DATE\_TIME(dateTime), STRING(timezone)} | | false |
| resumed | null | BOOLEAN Options true , false | Whether the workflow was resumed by a webhook call. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "At Specified Time",
"name" : "atSpecifiedTime",
"parameters" : {
"data" : {
"dateTime" : "2021-01-01T00:00:00",
"timezone" : ""
},
"resumed" : false
},
"type" : "wait/v1/atSpecifiedTime"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### On Webhook Call [#on-webhook-call]
Name: onWebhookCall
`Suspends the workflow execution until a webhook call is received. An external service can resume the workflow by calling the webhook URL.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--------: | :------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------: | :------: |
| serviceUrl | Service URL | STRING | The URL of the external service to notify with the webhook resume URL when the workflow is suspended. | true |
| data | Data Schema | STRING | JSON schema defining the structure of the body submitted by the external service when resuming the workflow via the webhook URL. | false |
| amount | Expires After Amount | INTEGER | The amount of time to wait for the webhook call before the workflow times out. | true |
| unit | Expires After Unit | STRING Options SECONDS , MINUTES , HOURS , DAYS | The unit of time for the expiration. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "On Webhook Call",
"name" : "onWebhookCall",
"parameters" : {
"serviceUrl" : "",
"data" : "",
"amount" : 1,
"unit" : ""
},
"type" : "wait/v1/onWebhookCall"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### On Webhook Call Action [#on-webhook-call-action]
The **On Webhook Call** action suspends the workflow execution and waits for an external service to resume it by calling a webhook URL.
#### How It Works [#how-it-works]
1. When the workflow reaches the **On Webhook Call** step, it suspends and generates a unique **resume URL**.
2. ByteChef sends a POST request to the configured **Service URL** with the resume URL in the request body:
```json
{
"resumeUrl": "https://your-bytechef-instance/job/resume/{resumeToken}"
}
```
3. The external service stores this resume URL and calls it when ready to continue the workflow.
#### Resuming the Workflow [#resuming-the-workflow]
To resume a suspended workflow, the external service sends a request to the resume URL. Authentication is provided by the cryptographically signed `{resumeToken}` embedded in the path, so no additional credentials are required.
**With data (POST):**
```bash
curl -X POST "https://your-bytechef-instance/job/resume/{resumeToken}" \
-H "Content-Type: application/json" \
-d '{
"firstName": "John",
"lastName": "Doe"
}'
```
**Without data (GET):**
```bash
curl "https://your-bytechef-instance/job/resume/{resumeToken}"
```
The data sent in the POST request body is available in subsequent workflow steps through the action's output.
#### Defining a Data Schema [#defining-a-data-schema]
You can define a **Data Schema** using the JSON Schema Builder to specify the structure of the data that the external service should send when resuming the workflow. This schema is used for output mapping in subsequent workflow steps.
#### Expiration [#expiration]
The action supports an expiration time. If the webhook is not called within the specified time, the workflow times out. Configure this with:
* **Expires After Amount**: The number of time units (default: 30)
* **Expires After Unit**: Seconds, Minutes, Hours, or Days (default: Days)
# ByteChef Reference: Weaviate
URL: /reference/components/weaviate_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/weaviate_v1.mdx
Weaviate is an open-source vector search engine and database that enables efficient storage, retrieval, and management of high-dimensional data, often used in machine learning and AI applications.
Categories: Artificial Intelligence
Type: weaviate/v1
## Connections [#connections]
Version: 1
### custom [#custom]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :--------------: | :----: | :-------------------------------: | :------: |
| url | Weaviate Url | STRING | The URL of the Weaviate instance. | true |
| apiKey | Weaviate API Key | STRING | The API key for the Weaviate API. | true |
## Actions [#actions]
### Delete Documents [#delete-documents]
Name: delete
`Delete documents from the vector store by metadata`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Delete Documents",
"name" : "delete",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "weaviate/v1/delete"
}
```
#### Output [#output]
This action does not produce any output.
### Load Documents [#load-documents]
Name: load
`Loads documents into the vector store using LLM embeddings.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Load Documents",
"name" : "load",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "weaviate/v1/load"
}
```
#### Output [#output-1]
This action does not produce any output.
### Search Documents [#search-documents]
Name: search
`Query documents from the vector store using LLM embeddings.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------------: | :------------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| query | Query | STRING | The query to be executed. | true |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
| topK | Top K | INTEGER | The top 'k' similar results to return. | false |
| similarityThreshold | Similarity Threshold | NUMBER | Similarity threshold score to filter the search response by. Only documents with similarity score equal or greater than the threshold will be returned. A threshold value of 0 means any similarity is accepted. A threshold value of 1 means an exact match is required. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Search Documents",
"name" : "search",
"parameters" : {
"query" : "",
"metadataFilter" : [ { } ],
"topK" : 1,
"similarityThreshold" : 0.0
},
"type" : "weaviate/v1/search"
}
```
#### Output [#output-2]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Update Documents [#update-documents]
Name: update
`Updates documents in the vector store by deleting existing ones matching the metadata filter and loading new ones using LLM embeddings.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :------------: | :-------------: | :----------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :------: |
| metadataFilter | Metadata Filter | ARRAY Items \[\{}] | List of metadata key-value pairs to filter by. Entries within a group are ANDed; groups are ORed. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Documents",
"name" : "update",
"parameters" : {
"metadataFilter" : [ { } ]
},
"type" : "weaviate/v1/update"
}
```
#### Output [#output-3]
This action does not produce any output.
# ByteChef Reference: Webflow
URL: /reference/components/webflow_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/webflow_v1.mdx
Webflow is a web design and development platform that allows users to build responsive websites visually without writing code.
Categories: Developer Tools
Type: webflow/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth2 App [#create-oauth2-app]
1. Navigate to [Webflow](https://webflow.com) dashboard.
2. Click on **View dashboard**.
3. Click on your account.
4. Click on **Workspaces**.
5. Click on your workspace.
6. Click on **Apps & Integrations**.
7. Click on **Develop**.
8. Click on **Create an App**.
9. Enter name and app homepageU URL.
10. Click on **Continue**.
11. Enable **Data client (REST API)**.
12. Enter **Redirect URI** depending on your instance:
* `https://app.bytechef.io/callback` (Cloud)
* `http://localhost:5173/callback` (Local dev)
13. Add required scopes and click on **Create App**.
14. Click this icon.
15. Click on **Edit App**.
16. Click on **Building blocks**.
17. Here you can see your credentials.
18. Done 🚀.
## Actions [#actions]
### Fulfill Order [#fulfill-order]
Name: fulfillOrder
`Updates an order's status to fulfilled.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----: | :------: | :----------------------------------------------------------------: | :-----------------------------: | :------: |
| siteId | Site ID | STRING | Unique identifier for a site. | true |
| orderId | Order ID | STRING Depends On siteId | Unique identifier for an order. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Fulfill Order",
"name" : "fulfillOrder",
"parameters" : {
"siteId" : "",
"orderId" : ""
},
"type" : "webflow/v1/fulfillOrder"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :----: | :------------------: |
| orderId | STRING | ID of the order. |
| status | STRING | Status of the order. |
#### Output Example [#output-example]
```json
{
"orderId" : "",
"status" : ""
}
```
#### Find Site ID and Order ID [#find-site-id-and-order-id]
To find the Site ID, click [here](/reference/components/webflow_v1#how-to-find-the-site-id).
To find the Order ID, click [here](/reference/components/webflow_v1#how-to-find-the-order-id).
*Note: This action is only available with paid account.*
### Get Collection Item [#get-collection-item]
Name: getCollectionItem
`Get collection item in a collection.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----------------------------------------------------------------------: | :---------------------------------: | :------: |
| siteId | Site ID | STRING | Unique identifier for a site. | false |
| collectionId | Collection ID | STRING Depends On siteId | Unique identifier for a collection. | true |
| itemId | Item ID | STRING Depends On collectionId | Unique identifier for an item. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Collection Item",
"name" : "getCollectionItem",
"parameters" : {
"siteId" : "",
"collectionId" : "",
"itemId" : ""
},
"type" : "webflow/v1/getCollectionItem"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-------: | :---------------------------------------------------------------------------------------: | :-------------: |
| id | STRING | ID of the item. |
| fieldData | OBJECT Properties \{STRING(name), STRING(slug)} | |
#### Output Example [#output-example-1]
```json
{
"id" : "",
"fieldData" : {
"name" : "",
"slug" : ""
}
}
```
#### Find Site ID, Collection ID and Item ID [#find-site-id-collection-id-and-item-id]
To find the Site ID, click [here](/reference/components/webflow_v1#how-to-find-the-site-id).
To find the Collection ID, click [here](/reference/components/webflow_v1#how-to-find-the-collection-id).
To find the Item ID, click [here](/reference/components/webflow_v1#how-to-find-the-item-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Site ID [#how-to-find-the-site-id]
The Site ID is a unique value that can be found in the Webflow UI or via the API.
* **Method 1: Via API**
Use the `GET /sites` endpoint to retrieve a list of all sites and their IDs.
* **Method 2: In the Webflow UI**
1. Go to your dashboard and open the site that you want to use.
2. On the top of left bar click menu and select **Site settings**.
3. Scroll down to **Overview** and there is your Site ID.
### How to find the Order ID [#how-to-find-the-order-id]
The Order ID is a site-scoped identifier for an order that can be found in the Webflow UI or via the API.
* **Method 1: Via API**
Use the `GET /sites/SITE_ID/orders` endpoint. List orders within a site to retrieve their IDs.
* **Method 2: In the Webflow UI**
1. Go to your dashboard and click **Ecommerce**.
2. Click **Orders** and choose a specific order.
### How to find the Collection ID [#how-to-find-the-collection-id]
The Collection ID is a site-scoped identifier for a collection that can be found in the Webflow UI or via the API.
* **Method 1: Via API**
Use the `GET /sites/SITE_ID/collections` endpoint. List collections within a site to retrieve their IDs.
* **Method 2: In the Webflow UI**
1. Go to your dashboard and open the site that you want to use.
2. On the top bar click **CMS**.
3. On the left bar find the collection that you want to use and click **Settings**.
4. Under **Collection Settings** you will find Collection ID.
### How to find the Item ID [#how-to-find-the-item-id]
The Item ID is a collection-scoped identifier for an item that can be found in the Webflow UI or via the API.
* **Method 1: Via API**
Use the `GET /collections/COLLECTION_ID/items` endpoint. List items within a collection to retrieve their IDs.
* **Method 2: In the Webflow UI**
1. Go to your dashboard and open the site that you want to use.
2. On the top bar click **CMS**.
3. On the left bar click on the collection that you want to use.
4. You will find list of items and click on the one that you want to use.
5. Under **Item details** you will find Item ID.
# ByteChef Reference: Webhook
URL: /reference/components/webhook_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/webhook_v1.mdx
Webhook is a method utilized by applications to supply real-time information to other apps. Such a process usually delivers data immediately as and when it occurs. Webhook Trigger enables users to receive callouts whenever a service provides the option of distributing signals to a user-defined URL.
Categories: Helpers
Type: webhook/v1
## Actions [#actions]
### Response to Webhook Request [#response-to-webhook-request]
Name: responseToWebhookRequest
`Converts the response to the webhook request.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------: | :------: |
| responseType | Response Type | STRING Options JSON , RAW , BINARY , REDIRECT , NO\_DATA | The type of the response. | false |
| headers | Headers | OBJECT Properties \{} | The headers of the response. | false |
| body | Body | OBJECT Properties \{} | The body of the response. | true |
| body | Body | STRING | The body of the response. | true |
| body | Redirect URL | STRING | The redirect URL. | true |
| body | Body | FILE\_ENTRY | The body of the response. | true |
| statusCode | Status Code | INTEGER | The status code of the response. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Response to Webhook Request",
"name" : "responseToWebhookRequest",
"parameters" : {
"responseType" : "",
"headers" : { },
"body" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"statusCode" : 1
},
"type" : "webhook/v1/responseToWebhookRequest"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
## Triggers [#triggers]
### Auto Respond with HTTP 200 Status [#auto-respond-with-http-200-status]
Name: autoRespondWithHTTP200
`The webhook trigger always replies immediately with an HTTP 200 status code in response to any incoming webhook request. This guarantees execution of the webhook trigger, but does not involve any validation of the received request.`
Type: STATIC\_WEBHOOK
#### Output [#output-1]
null
#### JSON Example [#json-example]
```json
{
"label" : "Auto Respond with HTTP 200 Status",
"name" : "autoRespondWithHTTP200",
"type" : "webhook/v1/autoRespondWithHTTP200"
}
```
#### Webhook Trigger Execution Modes [#webhook-trigger-execution-modes]
Use the **static workflow webhook trigger URL** for this trigger type. This URL becomes available only after the workflow is **published and deployed**. Any request sent to this endpoint will immediately receive an **HTTP 200 OK** response, ensuring the workflow is triggered without validating the incoming request.
### Validate and Respond [#validate-and-respond]
Name: validateAndRespond
`Upon receiving a webhook request, it goes through a validation process. Once validated, the webhook trigger responds to the sender with an appropriate HTTP status code.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----: | :--------------------------------------------------------------------------------------------------------------------------: | :------: |
| csrfToken | CSRF Token | STRING | To trigger the workflow successfully, the security token must match the X-Csrf-Token HTTP header value passed by the client. | true |
#### Output [#output-2]
null
#### JSON Example [#json-example-1]
```json
{
"label" : "Validate and Respond",
"name" : "validateAndRespond",
"parameters" : {
"csrfToken" : ""
},
"type" : "webhook/v1/validateAndRespond"
}
```
#### Webhook Trigger Execution Modes [#webhook-trigger-execution-modes-1]
Use the **Static workflow webhook trigger URL** for this trigger type. This URL becomes available only after the workflow is **published and deployed**. Incoming requests are first validated by checking the CSRF token sent in the `X-Csrf-Token` HTTP header. If validation succeeds, the workflow is executed and the sender receives an **HTTP 200 OK** response.
### Await Workflow and Respond [#await-workflow-and-respond]
Name: awaitWorkflowAndRespond
`You have the flexibility to set up your preferred response. After a webhook request is received, the webhook trigger enters a waiting state for the workflow's response.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :-------: | :----------: | :-----: | :-----------------------------------------------------------------------------------------------------------------------------: | :------: |
| csrfToken | CSRF Token | STRING | To trigger the workflow successfully, the security token must match the X-Csrf-Token HTTP header value passed by the client. | true |
| timeout | Timeout (ms) | INTEGER | The incoming request will time out after the specified number of milliseconds. The max wait time before a timeout is 5 minutes. | false |
#### Output [#output-3]
null
#### JSON Example [#json-example-2]
```json
{
"label" : "Await Workflow and Respond",
"name" : "awaitWorkflowAndRespond",
"parameters" : {
"csrfToken" : "",
"timeout" : 1
},
"type" : "webhook/v1/awaitWorkflowAndRespond"
}
```
#### Webhook Trigger Execution Modes [#webhook-trigger-execution-modes-2]
Use the **Static workflow webhook trigger URL** for this trigger type. This URL becomes available only after the workflow is **published and deployed**. Incoming requests are first validated by checking the CSRF token sent in the `X-Csrf-Token HTTP header`. After successful validation, the workflow starts executing, but the HTTP response is delayed until the [**Webhook/Response to Webhook Request**](/reference/components/webhook_v1#response-to-webhook-request) component is reached. In that component, users can define the exact response body, status code, and output returned to the sender.
# ByteChef Reference: WhatsApp
URL: /reference/components/whatsapp_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/whatsapp_v1.mdx
WhatsApp is a free-to-use messaging app offering end-to-end encrypted chat, voice, and video communication, along with document and media sharing, available on multiple platforms.
Categories: Communication
Type: whatsApp/v1
## Connections [#connections]
Version: 1
### WhatsApp Custom Authorization [#whatsapp-custom-authorization]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :-------------------: | :----------------------: | :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| systemUserAccessToken | System user access token | STRING | | true |
| phoneNumberId | Phone number ID | STRING | | true |
| appSecret | App secret | STRING | The Meta app's secret. When set, approval request messages use in-place Approve/Discard reply buttons resolved through the webhook, and the webhook signature is verified against this secret. Leave empty to deliver approval links to the hosted form. | false |
## Connection Setup [#connection-setup]
To Obtain a Phone Number ID and a Permanent System User Access Token, follow these steps:
1. Go to [https://developers.facebook.com/](https://developers.facebook.com/)
2. Make a new app, Select Other for use-case.
3. Choose Business as the type of app.
4. Add new Product > WhatsApp.
5. Navigate to WhatsApp Settings > API Setup.
6. Copy the Business Account ID.
7. Login to your [Meta Business Manager](https://business.facebook.com/).
8. Click on Settings.
9. Create a new System User with access over the app and copy the access token.
## Actions [#actions]
### Send Message [#send-message]
Name: sendMessage
`Send a message via WhatsApp`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--: | :-------------: | :----: | :-----------------------------------------------------------: | :------: |
| body | Message | STRING | Message to send via WhatsApp | true |
| to | Send Message To | STRING | Phone number to send the message. It must start with "+" sign | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Send Message",
"name" : "sendMessage",
"parameters" : {
"body" : "",
"to" : ""
},
"type" : "whatsApp/v1/sendMessage"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----------------: | :------------------------------------------------------------------------------------------: | :---------: |
| messaging\_product | STRING | |
| contacts | OBJECT Properties \{STRING(input), STRING(wa\_id)} | |
| messages | OBJECT Properties \{STRING(id)} | |
#### Output Example [#output-example]
```json
{
"messaging_product" : "",
"contacts" : {
"input" : "",
"wa_id" : ""
},
"messages" : {
"id" : ""
}
}
```
## Triggers [#triggers]
### Message Received [#message-received]
Name: messageReceived
`Triggers when you get a new message from certain number.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :----------------------------------------------: | :------: |
| senderNumber | Sender Number | STRING | Type in the number from whom you want to trigger | true |
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| object | STRING | |
| entry | OBJECT Properties \{STRING(id), \{\{STRING(messaging\_product), \{STRING(display\_phone\_number), STRING(phone\_number\_id)}(metadata)}(value), \{\{STRING(name)}(profile), STRING(wa\_id)}(contacts), \{STRING(from), STRING(id), STRING(timestamp), \{STRING(body)}(text)}(messages)}(changes)} | |
#### JSON Example [#json-example]
```json
{
"label" : "Message Received",
"name" : "messageReceived",
"parameters" : {
"senderNumber" : ""
},
"type" : "whatsApp/v1/messageReceived"
}
```
# ByteChef Reference: Wolfram Alpha Full Results
URL: /reference/components/wolfram-alpha-full-results_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/wolfram-alpha-full-results_v1.mdx
Wolfram Alpha Full Results returns the computed results of your query in a variety of formats.
Categories: Helpers
Type: wolframAlphaFullResults/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :----: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | App ID | STRING | | true |
| addTo | Add to | STRING | | true |
## Connection Setup [#connection-setup]
### Find App ID [#find-app-id]
1. Navigate to your dashboard.
2. Click this icon.
3. Click on **Developer (API)**.
4. Click on **Get an App ID**.
5. Enter name, description and API. Select **DullResults API** or **Short Answers API** depending on which API you want to use.
6. Click on **Submit**.
## Actions [#actions]
### Get Full Result [#get-full-result]
Name: getFullResult
`Returns a full result of your query.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------: | :----------------: | :-------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| input | Query | STRING | Query that will be answered. | true |
| format | Format | ARRAY Items \[STRING] | The desired format for individual result pods. | false |
| ip | IP | STRING | Specifies a custom query location based on an IP address. | false |
| mag | Magnification | STRING | Specify magnification of objects within a pod. | false |
| units | Units | STRING Options metric , imperial | What system of units to use for measurements and quantities. | false |
| width | Width | STRING | Specify an approximate width limit for text and tables. | false |
| scanner | Scanner | STRING | Specifies that only pods produced by the given scanner should be returned. e.g. "Numeric", "Data", "Traveling". | false |
| latlong | Latitude Longitude | STRING | Specifies a custom query location based on a latitude/longitude pair. e.g. "40.42,-3.71", "40.11, -88.24", "0,0". | false |
| location | Location | STRING | Specifies a custom query location based on a string. e.g. "The North Pole", "Beijing". | false |
| maxwidth | Max Width | STRING | Specify an extended maximum width for large objects. | false |
| podstate | Pod State | STRING | Specifies a pod state change, which replaces a pod with a modified version, such as displaying more digits of a large decimal value. e.g. "WeatherCharts:WeatherData\_\_Past+5+years", "2\@DecimalApproximation\_\_More+digits". | false |
| podtitle | Pod Title | STRING | Specifies a pod title to include in the result. e.g. "Basic+Information", "Image", "Alternative representations". | false |
| assumption | Assumption | STRING | Specifies an assumption, such as the meaning of a word or the value of a formula variable. e.g. "*C.pi-\_*Movie", "DateOrder\_\*\*Day.Month.Year--". | false |
| plotwidth | Plot Width | STRING | Specify an approximate width limit for plots and graphics. e.g. "100", "200". | false |
| ignorecase | Ignore Case | BOOLEAN Options true , false | Force Wolfram Alpha to ignore case in queries. | false |
| podtimeout | Pod Timeout | STRING | The number of seconds to allow Wolfram Alpha to spend in the "format" stage for any one pod e.g. "0.5", "5.0". | false |
| reinterpret | Reinterpret | BOOLEAN Options true , false | Allow Wolfram Alpha to reinterpret queries that would otherwise not be understood. | false |
| translation | Translation | BOOLEAN Options true , false | Allow Wolfram Alpha to try to translate simple queries into English. | false |
| scantimeout | Scan Timeout | STRING | The number of seconds to allow Wolfram Alpha to compute results in the "scan" stage of processing. e.g. "0.5", "5.0". | false |
| parsetimeout | Parse Timeout | STRING | The number of seconds to allow Wolfram Alpha to spend in the "parsing" stage of processing. e.g. "0.5", "5.0". | false |
| totaltimeout | Total Timeout | STRING | The total number of seconds to allow Wolfram Alpha to spend on a query. e.g. "0.5", "5.0". | false |
| excludepodid | Exclude Pod ID | STRING | Specifies a pod ID to exclude from the result e.g. "Result", "BasicInformation: PeopleData", "DecimalApproximation". | false |
| formattimeout | Format Timeout | STRING | The number of seconds to allow Wolfram Alpha to spend in the "format" stage for the entire collection of pods. e.g. "0.5", "5.0". | false |
| includepodid | Include Pod ID | STRING | Specifies a pod ID to include in the result e.g. "Result", "BasicInformation: PeopleData", "DecimalApproximation". | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Full Result",
"name" : "getFullResult",
"parameters" : {
"input" : "",
"format" : [ "" ],
"ip" : "",
"mag" : "",
"units" : "",
"width" : "",
"scanner" : "",
"latlong" : "",
"location" : "",
"maxwidth" : "",
"podstate" : "",
"podtitle" : "",
"assumption" : "",
"plotwidth" : "",
"ignorecase" : false,
"podtimeout" : "",
"reinterpret" : false,
"translation" : false,
"scantimeout" : "",
"parsetimeout" : "",
"totaltimeout" : "",
"excludepodid" : "",
"formattimeout" : "",
"includepodid" : ""
},
"type" : "wolframAlphaFullResults/v1/getFullResult"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| queryresult | OBJECT Properties \{BOOLEAN(success), BOOLEAN(error), INTEGER(numpods), STRING(datatypes), NUMBER(parsetiming), BOOLEAN(parsetimedout), STRING(id), STRING(kernelId), INTEGER(processId), STRING(version), STRING(inputstring), BOOLEAN(sbsallowed), STRING(parentId), STRING(requestId), NUMBER(timing), STRING(timedout), STRING(timedoutpods), \[\{STRING(title), STRING(scanner), STRING(id), INTEGER(position), BOOLEAN(error), INTEGER(numsubpods), BOOLEAN(primary), \[\{STRING(title), STRING(plaintext), \{STRING(src), STRING(alt), STRING(title), INTEGER(width), INTEGER(height), STRING(type), STRING(themes), BOOLEAN(colorinvertable), STRING(contenttype)}(img)}]\(subpods), \{STRING(name)}(expressiontypes)}]\(pods)} | |
#### Output Example [#output-example]
```json
{
"queryresult" : {
"success" : false,
"error" : false,
"numpods" : 1,
"datatypes" : "",
"parsetiming" : 0.0,
"parsetimedout" : false,
"id" : "",
"kernelId" : "",
"processId" : 1,
"version" : "",
"inputstring" : "",
"sbsallowed" : false,
"parentId" : "",
"requestId" : "",
"timing" : 0.0,
"timedout" : "",
"timedoutpods" : "",
"pods" : [ {
"title" : "",
"scanner" : "",
"id" : "",
"position" : 1,
"error" : false,
"numsubpods" : 1,
"primary" : false,
"subpods" : [ {
"title" : "",
"plaintext" : "",
"img" : {
"src" : "",
"alt" : "",
"title" : "",
"width" : 1,
"height" : 1,
"type" : "",
"themes" : "",
"colorinvertable" : false,
"contenttype" : ""
}
} ],
"expressiontypes" : {
"name" : ""
}
} ]
}
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Wolfram Alpha Short Answers
URL: /reference/components/wolfram-alpha-shortanswers_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/wolfram-alpha-shortanswers_v1.mdx
Wolfram Alpha Short Answers returns a single plain text result as an answer to your query.
Categories: Helpers
Type: wolframAlphaShortanswers/v1
## Connections [#connections]
Version: 1
### API Key [#api-key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :----: | :----: | :---------: | :------: |
| key | Key | STRING | | true |
| value | App ID | STRING | | true |
| addTo | Add to | STRING | | true |
## Connection Setup [#connection-setup]
### Find App ID [#find-app-id]
1. Navigate to your dashboard.
2. Click this icon.
3. Click on **Developer (API)**.
4. Click on **Get an App ID**.
5. Enter name, description and API. Select **DullResults API** or **Short Answers API** depending on which API you want to use.
6. Click on **Submit**.
## Actions [#actions]
### Get Short Answer [#get-short-answer]
Name: getShortAnswer
`Returns a short answer for your query.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :---: | :-------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: | :------: |
| i | Query | STRING | Query that will be answered. | true |
| units | Units | STRING Options metric , imperial | What system of units to use for measurements and quantities. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Get Short Answer",
"name" : "getShortAnswer",
"parameters" : {
"i" : "",
"units" : ""
},
"type" : "wolframAlphaShortanswers/v1/getShortAnswer"
}
```
#### Output [#output]
Type: STRING
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: WooCommerce
URL: /reference/components/woocommerce_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/woocommerce_v1.mdx
WooCommerce is a e-commerce plugin for WordPress that allows you to turn a standard WordPress website into a fully functional online store.
Categories: E-commerce
Type: woocommerce/v1
## Connections [#connections]
Version: 1
### Basic Auth [#basic-auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-------------: | :----: | :------------------------------------------: | :------: |
| domain | Domain | STRING | The domain of your app. | true |
| username | Consumer Key | STRING | The consumer key generated from your app. | true |
| password | Consumer Secret | STRING | The consumer secret generated from your app. | true |
### Permalink Setup [#permalink-setup]
1. Navigate to your dashboard.
2. Click on **Settings**.
3. Click on **Permalinks**.
4. Select **Post name**.
5. Click **Save Changes**.
## Connection Setup [#connection-setup]
### Find Application Passwords [#find-application-passwords]
1. Navigate to your dashboard.
2. Go to **WooCommerce** and click on **Settings**.
3. Click on **Advanced**.
4. Click on **REST API**.
5. Select **Create an API key** or **Add Key**.
6. Add a Description, select the User and select a level of access for this API key: Read access, Write access, or Read/Write access then click **Generate API key**.
7. Copy generated consumer key and consumer secret and use it in Bytechef.
## Actions [#actions]
### Create Coupon [#create-coupon]
Name: createCoupon
`Create a new coupon.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------------: | :----------------: | :----------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | :------: |
| code | Code | STRING | Coupon code. | true |
| amount | Amount | STRING | The amount of discount. Should always be numeric, even if setting a percentage. | true |
| discount\_type | Discount Type | STRING Options percent , fixed\_cart , fixed\_product | Determines the type of discount that will be applied. | true |
| description | Description | STRING | Coupon description. | false |
| date\_expires | Date Expires | DATE\_TIME | The date the coupon expires, in the site's timezone. | false |
| individual\_use | Individual Use | BOOLEAN Options true , false | If true, the coupon can only be used individually. Other applied coupons will be removed from the cart. | false |
| product\_ids | Product Ids | ARRAY Items \[INTEGER] | List of product IDs the coupon can be used on. | false |
| exclude\_sale\_items | Exclude Sale Items | BOOLEAN Options true , false | If true, this coupon will not be applied to items that have sale prices. | false |
| minimum\_amount | Minimum Amount | STRING | Minimum order amount that needs to be in the cart before coupon applies. | false |
| maximum\_amount | Maximum Amount | STRING | Maximum order amount allowed when using the coupon. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Coupon",
"name" : "createCoupon",
"parameters" : {
"code" : "",
"amount" : "",
"discount_type" : "",
"description" : "",
"date_expires" : "2021-01-01T00:00:00",
"individual_use" : false,
"product_ids" : [ 1 ],
"exclude_sale_items" : false,
"minimum_amount" : "",
"maximum_amount" : ""
},
"type" : "woocommerce/v1/createCoupon"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: |
| id | INTEGER | Unique identifier for the object. |
| code | STRING | Coupon code. |
| amount | STRING | The amount of discount. |
| date\_created | STRING | The date the coupon was created, in the site's timezone. |
| date\_created\_gmt | STRING | The date the coupon was created, as GMT. |
| date\_modified | STRING | The date the coupon was last modified, in the site's timezone. |
| date\_modified\_gmt | STRING | The date the coupon was last modified, as GMT. |
| discount\_type | STRING | Determines the type of discount that will be applied. |
| description | STRING | Coupon description. |
| date\_expires | STRING | The date the coupon expires, in the site's timezone. |
| date\_expires\_gmt | STRING | The date the coupon expires, as GMT. |
| usage\_count | INTEGER | Number of times the coupon has been used already. |
| individual\_use | BOOLEAN Options true , false | If true, the coupon can only be used individually. |
| product\_ids | ARRAY Items \[INTEGER] | List of product IDs the coupon can be used on. |
| excluded\_product\_ids | ARRAY Items \[INTEGER] | List of product IDs the coupon cannot be used on. |
| usage\_limit | INTEGER | How many times the coupon can be used in total. |
| usage\_limit\_per\_user | INTEGER | How many times the coupon can be used per customer. |
| limit\_usage\_to\_x\_items | INTEGER | Max number of items in the cart the coupon can be applied to. |
| free\_shipping | BOOLEAN Options true , false | If true and if the free shipping method requires a coupon, this coupon will enable free shipping. |
| product\_categories | ARRAY Items \[INTEGER] | List of category IDs the coupon applies to. |
| excluded\_product\_categories | ARRAY Items \[INTEGER] | List of category IDs the coupon does not apply to. |
| exclude\_sale\_items | BOOLEAN Options true , false | If true, this coupon will not be applied to items that have sale prices. |
| minimum\_amount | STRING | Minimum order amount that needs to be in the cart before coupon applies. |
| maximum\_amount | STRING | Maximum order amount allowed when using the coupon. |
| email\_restrictions | ARRAY Items \[STRING] | List of email addresses that can use this coupon. |
| used\_by | ARRAY Items \[STRING] | List of user IDs (or guest email addresses) that have used the coupon. |
| meta\_data | ARRAY Items \[\{INTEGER(id), STRING(key), STRING(value)}] | Meta data. |
| \_links | OBJECT Properties \{\[\{STRING(href)}]\(self), \[\{STRING(href)}]\(collection)} | |
#### Output Example [#output-example]
```json
{
"id" : 1,
"code" : "",
"amount" : "",
"date_created" : "",
"date_created_gmt" : "",
"date_modified" : "",
"date_modified_gmt" : "",
"discount_type" : "",
"description" : "",
"date_expires" : "",
"date_expires_gmt" : "",
"usage_count" : 1,
"individual_use" : false,
"product_ids" : [ 1 ],
"excluded_product_ids" : [ 1 ],
"usage_limit" : 1,
"usage_limit_per_user" : 1,
"limit_usage_to_x_items" : 1,
"free_shipping" : false,
"product_categories" : [ 1 ],
"excluded_product_categories" : [ 1 ],
"exclude_sale_items" : false,
"minimum_amount" : "",
"maximum_amount" : "",
"email_restrictions" : [ "" ],
"used_by" : [ "" ],
"meta_data" : [ {
"id" : 1,
"key" : "",
"value" : ""
} ],
"_links" : {
"self" : [ {
"href" : ""
} ],
"collection" : [ {
"href" : ""
} ]
}
}
```
### Create Customer [#create-customer]
Name: createCustomer
`Create a new customer.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------: | :------: |
| email | Email | STRING | The email address for the customer. | true |
| first\_name | First Name | STRING | Customer first name. | true |
| last\_name | Last Name | STRING | Customer last name. | true |
| username | Username | STRING | Customer login name. | true |
| billing | Billing | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(company), STRING(address\_1), STRING(address\_2), STRING(city), STRING(state), STRING(postcode), STRING(country), STRING(email), STRING(phone)} | List of billing address data. | false |
| shipping | Shipping | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(company), STRING(address\_1), STRING(address\_2), STRING(city), STRING(state), STRING(postcode), STRING(country), STRING(phone)} | List of shipping address data. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Customer",
"name" : "createCustomer",
"parameters" : {
"email" : "",
"first_name" : "",
"last_name" : "",
"username" : "",
"billing" : {
"first_name" : "",
"last_name" : "",
"company" : "",
"address_1" : "",
"address_2" : "",
"city" : "",
"state" : "",
"postcode" : "",
"country" : "",
"email" : "",
"phone" : ""
},
"shipping" : {
"first_name" : "",
"last_name" : "",
"company" : "",
"address_1" : "",
"address_2" : "",
"city" : "",
"state" : "",
"postcode" : "",
"country" : "",
"phone" : ""
}
},
"type" : "woocommerce/v1/createCustomer"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------: |
| id | INTEGER | Unique identifier for the resource. |
| date\_created | STRING | The date the customer was created, in the site's timezone. |
| date\_created\_gmt | STRING | The date the customer was created, as GMT. |
| date\_modified | STRING | The date the customer was last modified, in the site's timezone. |
| date\_modified\_gmt | STRING | The date the customer was last modified, as GMT. |
| email | STRING | The email address for the customer. |
| first\_name | STRING | Customer first name. |
| last\_name | STRING | Customer last name. |
| role | STRING | Customer role. |
| username | STRING | Customer login name. |
| billing | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(company), STRING(address\_1), STRING(address\_2), STRING(city), STRING(state), STRING(postcode), STRING(country), STRING(email), STRING(phone)} | List of billing address data. |
| shipping | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(company), STRING(address\_1), STRING(address\_2), STRING(city), STRING(state), STRING(postcode), STRING(country)} | List of shipping address data. |
| is\_paying\_customer | BOOLEAN Options true , false | Is the customer a paying customer? |
| avatar\_url | STRING | Avatar URL. |
| meta\_data | ARRAY Items \[\{INTEGER(id), STRING(key), STRING(value)}] | Meta data. |
| \_links | OBJECT Properties \{\[\{STRING(href)}]\(self), \[\{STRING(href)}]\(collection)} | |
#### Output Example [#output-example-1]
```json
{
"id" : 1,
"date_created" : "",
"date_created_gmt" : "",
"date_modified" : "",
"date_modified_gmt" : "",
"email" : "",
"first_name" : "",
"last_name" : "",
"role" : "",
"username" : "",
"billing" : {
"first_name" : "",
"last_name" : "",
"company" : "",
"address_1" : "",
"address_2" : "",
"city" : "",
"state" : "",
"postcode" : "",
"country" : "",
"email" : "",
"phone" : ""
},
"shipping" : {
"first_name" : "",
"last_name" : "",
"company" : "",
"address_1" : "",
"address_2" : "",
"city" : "",
"state" : "",
"postcode" : "",
"country" : ""
},
"is_paying_customer" : false,
"avatar_url" : "",
"meta_data" : [ {
"id" : 1,
"key" : "",
"value" : ""
} ],
"_links" : {
"self" : [ {
"href" : ""
} ],
"collection" : [ {
"href" : ""
} ]
}
}
```
### Create Order [#create-order]
Name: createOrder
`Create a new order.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------------: | :------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: | :------: |
| customer\_id | Customer Id | STRING | User ID who owns the order. 0 for guests. | true |
| line\_items | Line Items | ARRAY Items \[\{STRING(product\_id), INTEGER(quantity)}] | Line items data. | true |
| status | Status | STRING Options pending , processing , on-hold , completed , cancelled , refunded , failed | Order status. | false |
| customer\_note | Customer Note | STRING | Note left by customer during checkout. | false |
| billing | Billing | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(company), STRING(address\_1), STRING(address\_2), STRING(city), STRING(state), STRING(postcode), STRING(country), STRING(email), STRING(phone)} | List of billing address data. | false |
| shipping | Shipping | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(company), STRING(address\_1), STRING(address\_2), STRING(city), STRING(state), STRING(postcode), STRING(country), STRING(phone)} | List of shipping address data. | false |
| payment\_method | Payment Method | STRING | Payment method ID. | false |
| set\_paid | Set Paid | BOOLEAN Options true , false | Define if the order is paid. It will set the status to processing and reduce stock items. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Order",
"name" : "createOrder",
"parameters" : {
"customer_id" : "",
"line_items" : [ {
"product_id" : "",
"quantity" : 1
} ],
"status" : "",
"customer_note" : "",
"billing" : {
"first_name" : "",
"last_name" : "",
"company" : "",
"address_1" : "",
"address_2" : "",
"city" : "",
"state" : "",
"postcode" : "",
"country" : "",
"email" : "",
"phone" : ""
},
"shipping" : {
"first_name" : "",
"last_name" : "",
"company" : "",
"address_1" : "",
"address_2" : "",
"city" : "",
"state" : "",
"postcode" : "",
"country" : "",
"phone" : ""
},
"payment_method" : "",
"set_paid" : false
},
"type" : "woocommerce/v1/createOrder"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------: |
| id | INTEGER | Unique identifier for the resource. |
| parent\_id | STRING | Parent order ID. |
| number | STRING | Order number. |
| order\_key | STRING | Order key. |
| created\_via | STRING | Shows where the order was created. |
| version | STRING | Version of WooCommerce which last updated the order. |
| status | STRING | Order status. |
| currency | STRING | Currency the order was created with, in ISO format. |
| date\_created | STRING | The date the order was created, in the site's timezone. |
| date\_created\_gmt | STRING | The date the order was created, as GMT. |
| date\_modified | STRING | The date the order was last modified, in the site's timezone. |
| date\_modified\_gmt | STRING | The date the order was last modified, as GMT. |
| discount\_total | STRING | Total discount amount for the order. |
| discount\_tax | STRING | Total discount tax amount for the order. |
| shipping\_total | STRING | Total shipping amount for the order. |
| shipping\_tax | STRING | Total shipping tax amount for the order. |
| cart\_tax | STRING | Sum of line item taxes only. |
| total | STRING | Grand total. |
| total\_tax | STRING | Sum of all taxes. |
| prices\_include\_tax | BOOLEAN Options true , false | True the prices included tax during checkout. |
| customer\_id | INTEGER | User ID who owns the order. 0 for guests. Default is 0. |
| customer\_ip\_address | STRING | Customer's IP address. |
| customer\_user\_agent | STRING | User agent of the customer. |
| customer\_note | STRING | Note left by customer during checkout. |
| billing | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(company), STRING(address\_1), STRING(address\_2), STRING(city), STRING(state), STRING(postcode), STRING(country), STRING(email), STRING(phone)} | Billing address. |
| shipping | OBJECT Properties \{STRING(first\_name), STRING(last\_name), STRING(company), STRING(address\_1), STRING(address\_2), STRING(city), STRING(state), STRING(postcode), STRING(country)} | Shipping address. |
| payment\_methods | STRING | Payment method ID. |
| payment\_method\_title | STRING | Payment method title. |
| transaction\_id | STRING | Unique transaction ID. |
| date\_paid | STRING | The date the order was paid, in the site's timezone. |
| date\_paid\_gmt | STRING | The date the order was paid, as GMT. |
| date\_completed | STRING | The date the order was completed, in the site's timezone. |
| date\_completed\_gmt | STRING | The date the order was completed, as GMT. |
| cart\_hash | STRING | Sum of line item taxes only. |
| meta\_data | ARRAY Items \[\{INTEGER(id), STRING(key), STRING(value)}] | Meta data. |
| line\_items | ARRAY Items \[\{INTEGER(id), STRING(name), INTEGER(product\_id), INTEGER(variation\_id), INTEGER(quantity), STRING(tax\_class), STRING(subtotal), STRING(subtotal\_tax), STRING(total), STRING(total\_tax), \[]\(taxes), \[]\(meta\_data), STRING(sku), STRING(price)}] | Line items data. |
| tax\_lines | ARRAY Items \[\{INTEGER(id), STRING(rate\_code), INTEGER(rate\_id), STRING(label), BOOLEAN(compound), STRING(tax\_total), STRING(shipping\_tax\_total), \[]\(mata\_data)}] | Tax lines data. |
| shipping\_lines | ARRAY Items \[\{INTEGER(id), STRING(method\_title), STRING(method\_id), STRING(total), STRING(total\_tax), \[]\(taxes), \[]\(meta\_data)}] | Shipping lines data. |
| fee\_lines | ARRAY Items \[\{INTEGER(id), STRING(name), STRING(tax\_class), STRING(tax\_status), STRING(total), STRING(total\_tax), \[]\(taxes), \[]\(mata\_data)}] | Fee lines data. |
| coupon\_lines | ARRAY Items \[\{INTEGER(id), STRING(code), STRING(discount), STRING(discount\_tax), \[]\(meta\_data)}] | Coupons line data. |
| refunds | ARRAY Items \[\{INTEGER(id), STRING(reason), STRING(total)}] | List of refunds. |
| \_links | OBJECT Properties \{\[\{STRING(href)}]\(self), \[\{STRING(href)}]\(collection)} | |
#### Output Example [#output-example-2]
```json
{
"id" : 1,
"parent_id" : "",
"number" : "",
"order_key" : "",
"created_via" : "",
"version" : "",
"status" : "",
"currency" : "",
"date_created" : "",
"date_created_gmt" : "",
"date_modified" : "",
"date_modified_gmt" : "",
"discount_total" : "",
"discount_tax" : "",
"shipping_total" : "",
"shipping_tax" : "",
"cart_tax" : "",
"total" : "",
"total_tax" : "",
"prices_include_tax" : false,
"customer_id" : 1,
"customer_ip_address" : "",
"customer_user_agent" : "",
"customer_note" : "",
"billing" : {
"first_name" : "",
"last_name" : "",
"company" : "",
"address_1" : "",
"address_2" : "",
"city" : "",
"state" : "",
"postcode" : "",
"country" : "",
"email" : "",
"phone" : ""
},
"shipping" : {
"first_name" : "",
"last_name" : "",
"company" : "",
"address_1" : "",
"address_2" : "",
"city" : "",
"state" : "",
"postcode" : "",
"country" : ""
},
"payment_methods" : "",
"payment_method_title" : "",
"transaction_id" : "",
"date_paid" : "",
"date_paid_gmt" : "",
"date_completed" : "",
"date_completed_gmt" : "",
"cart_hash" : "",
"meta_data" : [ {
"id" : 1,
"key" : "",
"value" : ""
} ],
"line_items" : [ {
"id" : 1,
"name" : "",
"product_id" : 1,
"variation_id" : 1,
"quantity" : 1,
"tax_class" : "",
"subtotal" : "",
"subtotal_tax" : "",
"total" : "",
"total_tax" : "",
"taxes" : [ ],
"meta_data" : [ ],
"sku" : "",
"price" : ""
} ],
"tax_lines" : [ {
"id" : 1,
"rate_code" : "",
"rate_id" : 1,
"label" : "",
"compound" : false,
"tax_total" : "",
"shipping_tax_total" : "",
"mata_data" : [ ]
} ],
"shipping_lines" : [ {
"id" : 1,
"method_title" : "",
"method_id" : "",
"total" : "",
"total_tax" : "",
"taxes" : [ ],
"meta_data" : [ ]
} ],
"fee_lines" : [ {
"id" : 1,
"name" : "",
"tax_class" : "",
"tax_status" : "",
"total" : "",
"total_tax" : "",
"taxes" : [ ],
"mata_data" : [ ]
} ],
"coupon_lines" : [ {
"id" : 1,
"code" : "",
"discount" : "",
"discount_tax" : "",
"meta_data" : [ ]
} ],
"refunds" : [ {
"id" : 1,
"reason" : "",
"total" : ""
} ],
"_links" : {
"self" : [ {
"href" : ""
} ],
"collection" : [ {
"href" : ""
} ]
}
}
```
### Create Product [#create-product]
Name: createProduct
`Create a new product.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------------: | :------------: | :----------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------: | :------: |
| name | Name | STRING | Product name. | true |
| regular\_price | Regular Price | STRING | Product regular price. | true |
| type | Type | STRING Options simple , grouped , external , variable | Product type. | false |
| description | Description | STRING | Product description. | false |
| manage\_stock | Manage Stock | BOOLEAN Options true , false | Stock management at product level. | false |
| stock\_quantity | Stock Quantity | INTEGER | Stock quantity. | false |
| stock\_status | Stock Status | STRING Options instock , outofstock , onbackorder | Controls the stock status of the product. | false |
| weight | Weight | STRING | Product weight (kg). | false |
| dimensions | Dimensions | OBJECT Properties \{STRING(length), STRING(width), STRING(height)} | Product dimensions. | false |
| categories | Categories | ARRAY Items \[STRING] | List of categories. | false |
| tags | Tags | ARRAY Items \[STRING] | List of tags. | false |
| images | Images | ARRAY Items \[\{STRING(src), STRING(name)}] | List of images. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Product",
"name" : "createProduct",
"parameters" : {
"name" : "",
"regular_price" : "",
"type" : "",
"description" : "",
"manage_stock" : false,
"stock_quantity" : 1,
"stock_status" : "",
"weight" : "",
"dimensions" : {
"length" : "",
"width" : "",
"height" : ""
},
"categories" : [ "" ],
"tags" : [ "" ],
"images" : [ {
"src" : "",
"name" : ""
} ]
},
"type" : "woocommerce/v1/createProduct"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-----------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------: |
| id | INTEGER | Unique identifier for the resource. |
| name | STRING | Product name. |
| slug | STRING | Product slug. |
| permalink | STRING | Product URL. |
| date\_created | STRING | The date the product was created, in the site's timezone. |
| date\_created\_gmt | STRING | The date the product was created, as GMT. |
| date\_modified | STRING | The date the product was last modified, in the site's timezone. |
| date\_modified\_gmt | STRING | The date the product was last modified, as GMT. |
| type | STRING | Product type. |
| status | STRING | Product status. |
| featured | BOOLEAN Options true , false | Featured product. |
| catalog\_visibility | STRING | Catalog visibility. |
| description | STRING | Product description. |
| short\_description | STRING | Product short description. |
| sku | STRING | Unique identifier. |
| price | STRING | Current product price. |
| regular\_price | STRING | Product regular price. |
| sale\_price | STRING | Product sale price. |
| date\_on\_sale\_from | STRING | Start date of sale price, in the site's timezone. |
| date\_on\_sale\_from\_gmt | STRING | Start date of sale price, as GMT. |
| date\_on\_sale\_to | STRING | End date of sale price, in the site's timezone. |
| date\_on\_sale\_to\_gmt | STRING | End date of sale price, as GMT. |
| price\_html | STRING | Price formatted in HTML. |
| on\_sale | BOOLEAN Options true , false | Shows if the product is on sale. |
| purchasable | BOOLEAN Options true , false | Shows if the product can be bought. |
| total\_sales | INTEGER | Amount of sales. |
| virtual | BOOLEAN Options true , false | If the product is virtual. Default is false. |
| downloadable | BOOLEAN Options true , false | If the product is downloadable. Default is false. |
| downloads | ARRAY Items \[\{STRING(id), STRING(name), STRING(file)}] | List of downloadable files. |
| download\_limit | INTEGER | Number of times downloadable files can be downloaded after purchase. |
| download\_expiry | INTEGER | Number of days until access to downloadable files expires. |
| external\_url | STRING | Product external URL. Only for external products. |
| button\_text | STRING | Product external button text. Only for external products. |
| tax\_status | STRING | Tax status |
| tax\_class | STRING | Tax class. |
| manage\_stock | BOOLEAN Options true , false | Stock management at product level. |
| stock\_quantity | INTEGER | Stock quantity. |
| stock\_status | STRING | Controls the stock status of the product. |
| backorders | STRING | If managing stock, this controls if backorders are allowed. |
| backorders\_allowed | BOOLEAN Options true , false | Shows if backorders are allowed. |
| backordered | BOOLEAN Options true , false | Shows if the product is on backordered. |
| sold\_individually | BOOLEAN Options true , false | Allow one item to be bought in a single order. |
| weight | STRING | Product weight. |
| dimensions | OBJECT Properties \{STRING(length), STRING(width), STRING(height)} | Product dimensions. |
| shipping\_required | BOOLEAN Options true , false | Shows if the product need to be shipped. |
| shipping\_taxable | BOOLEAN Options true , false | Shows whether or not the product shipping is taxable. |
| shipping\_class | STRING | Shipping class slug. |
| shipping\_class\_id | INTEGER | Shipping class ID. |
| reviews\_allowed | BOOLEAN Options true , false | Allow reviews. |
| average\_rating | STRING | Reviews average rating. |
| rating\_count | INTEGER | Amount of reviews that the product have. |
| related\_ids | ARRAY Items \[INTEGER] | List of related products IDs. |
| upsell\_ids | ARRAY Items \[INTEGER] | List of up-sell products IDs. |
| cross\_sell\_ids | ARRAY Items \[INTEGER] | List of cross-sell products IDs. |
| parent\_id | INTEGER | Product parent ID. |
| purchase\_note | STRING | Optional note to send the customer after purchase. |
| categories | ARRAY Items \[\{INTEGER(id), STRING(name), STRING(slug)}] | List of categories. |
| tags | ARRAY Items \[\{INTEGER(id), STRING(name), STRING(slug)}] | List of tags. |
| images | ARRAY Items \[\{INTEGER(id), STRING(date\_created), STRING(date\_created\_gmt), STRING(date\_modified), STRING(date\_modified\_gmt), STRING(src), STRING(name), STRING(alt)}] | List of images. |
| attributes | ARRAY Items \[\{INTEGER(id), STRING(name), INTEGER(position), BOOLEAN(visible), BOOLEAN(variation), \[]\(options)}] | List of attributes. |
| default\_attributes | ARRAY Items \[\{INTEGER(id), STRING(name), STRING(option)}] | Defaults variation attributes. |
| variations | ARRAY Items \[] | List of variations IDs. |
| grouped\_products | ARRAY Items \[] | List of grouped products ID. |
| menu\_order | INTEGER | Menu order, used to custom sort products. |
| meta\_data | ARRAY Items \[\{INTEGER(id), STRING(key), STRING(value)}] | Meta data. |
| \_links | OBJECT Properties \{\[\{STRING(href)}]\(self), \[\{STRING(href)}]\(collection)} | |
#### Output Example [#output-example-3]
```json
{
"id" : 1,
"name" : "",
"slug" : "",
"permalink" : "",
"date_created" : "",
"date_created_gmt" : "",
"date_modified" : "",
"date_modified_gmt" : "",
"type" : "",
"status" : "",
"featured" : false,
"catalog_visibility" : "",
"description" : "",
"short_description" : "",
"sku" : "",
"price" : "",
"regular_price" : "",
"sale_price" : "",
"date_on_sale_from" : "",
"date_on_sale_from_gmt" : "",
"date_on_sale_to" : "",
"date_on_sale_to_gmt" : "",
"price_html" : "",
"on_sale" : false,
"purchasable" : false,
"total_sales" : 1,
"virtual" : false,
"downloadable" : false,
"downloads" : [ {
"id" : "",
"name" : "",
"file" : ""
} ],
"download_limit" : 1,
"download_expiry" : 1,
"external_url" : "",
"button_text" : "",
"tax_status" : "",
"tax_class" : "",
"manage_stock" : false,
"stock_quantity" : 1,
"stock_status" : "",
"backorders" : "",
"backorders_allowed" : false,
"backordered" : false,
"sold_individually" : false,
"weight" : "",
"dimensions" : {
"length" : "",
"width" : "",
"height" : ""
},
"shipping_required" : false,
"shipping_taxable" : false,
"shipping_class" : "",
"shipping_class_id" : 1,
"reviews_allowed" : false,
"average_rating" : "",
"rating_count" : 1,
"related_ids" : [ 1 ],
"upsell_ids" : [ 1 ],
"cross_sell_ids" : [ 1 ],
"parent_id" : 1,
"purchase_note" : "",
"categories" : [ {
"id" : 1,
"name" : "",
"slug" : ""
} ],
"tags" : [ {
"id" : 1,
"name" : "",
"slug" : ""
} ],
"images" : [ {
"id" : 1,
"date_created" : "",
"date_created_gmt" : "",
"date_modified" : "",
"date_modified_gmt" : "",
"src" : "",
"name" : "",
"alt" : ""
} ],
"attributes" : [ {
"id" : 1,
"name" : "",
"position" : 1,
"visible" : false,
"variation" : false,
"options" : [ ]
} ],
"default_attributes" : [ {
"id" : 1,
"name" : "",
"option" : ""
} ],
"variations" : [ ],
"grouped_products" : [ ],
"menu_order" : 1,
"meta_data" : [ {
"id" : 1,
"key" : "",
"value" : ""
} ],
"_links" : {
"self" : [ {
"href" : ""
} ],
"collection" : [ {
"href" : ""
} ]
}
}
```
## Triggers [#triggers]
### New Order [#new-order]
Name: newOrder
`Triggers when any order is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :-----------------: | :-----------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------: |
| id | INTEGER | Unique identifier for the resource. |
| name | STRING | A friendly name for the webhook. |
| status | STRING | Webhook status. |
| topic | STRING | Webhook topic. |
| resource | STRING | Webhook resource. |
| event | STRING | Webhook event. |
| hooks | ARRAY Items \[STRING] | WooCommerce action names associated with the webhook. |
| delivery\_url | STRING | The URL where the webhook payload is delivered. |
| date\_created | STRING | The date the webhook was created, in the site's timezone. |
| date\_created\_gmt | STRING | The date the webhook was created, as GMT. |
| date\_modified | STRING | The date the webhook was last modified, in the site's timezone. |
| date\_modified\_gmt | STRING | The date the webhook was last modified, as GMT. |
| \_links | OBJECT Properties \{\[\{STRING(href)}]\(self), \[\{STRING(href)}]\(collection)} | |
#### JSON Example [#json-example]
```json
{
"label" : "New Order",
"name" : "newOrder",
"type" : "woocommerce/v1/newOrder"
}
```
### New Coupon [#new-coupon]
Name: newCoupon
`Triggers when any coupon is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-----------------: | :-----------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------: |
| id | INTEGER | Unique identifier for the resource. |
| name | STRING | A friendly name for the webhook. |
| status | STRING | Webhook status. |
| topic | STRING | Webhook topic. |
| resource | STRING | Webhook resource. |
| event | STRING | Webhook event. |
| hooks | ARRAY Items \[STRING] | WooCommerce action names associated with the webhook. |
| delivery\_url | STRING | The URL where the webhook payload is delivered. |
| date\_created | STRING | The date the webhook was created, in the site's timezone. |
| date\_created\_gmt | STRING | The date the webhook was created, as GMT. |
| date\_modified | STRING | The date the webhook was last modified, in the site's timezone. |
| date\_modified\_gmt | STRING | The date the webhook was last modified, as GMT. |
| \_links | OBJECT Properties \{\[\{STRING(href)}]\(self), \[\{STRING(href)}]\(collection)} | |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Coupon",
"name" : "newCoupon",
"type" : "woocommerce/v1/newCoupon"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Wordpress
URL: /reference/components/wordpress_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/wordpress_v1.mdx
WordPress is a web content management system.
Categories: Productivity and Collaboration
Type: wordpress/v1
## Connections [#connections]
Version: 1
### basic\_auth [#basic_auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :------: | :-----------------------: | :----: | :----------------------------------------------------------------------: | :------: |
| username | Application Password Name | STRING | Wordpress application password name. | true |
| password | Application Password | STRING | Application password, found in Users -> Profile. | true |
| website | Wordpress Website | STRING | Wordpress website of your Wordpress site. Can be found in user settings. | true |
### Permalink Setup [#permalink-setup]
1. Navigate to your dashboard.
2. Click on **Settings**.
3. Click on **Permalinks**.
4. Select **Post name**.
5. Click **Save Changes**.
## Connection Setup [#connection-setup]
### Find Application Passwords [#find-application-passwords]
1. Navigate to your dashboard.
2. Download the plugin from: [https://github.com/WP-API/Basic-Auth](https://github.com/WP-API/Basic-Auth) (Click on Code -> Download Zip).
3. Click on **Plugins**.
4. Click on **Add Plugin**.
5. Click on \*\*Upload Plugin". And upload previously downloaded plugin in .zip format.
6. After uploading click on **Install Now**.
7. Click on **Activate Plugin**.
8. Click on **Users**.
9. Click on **Profile**.
10. Here you can see Application Passwords.
## Actions [#actions]
### Create Page [#create-page]
Name: createPage
`Creates a new page.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------------: | :-------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------: | :------: |
| title | Title | STRING | Title of the page about to be added. | true |
| content | Content | STRING | Content of the page about to be added. Uses the WordPress Text Editor which supports HTML. | true |
| status | Status | STRING Options publish , future , draft , pending , private | Status of the page about to be added. | false |
| slug | Slug | STRING | Slug of the page identifier. | false |
| comment\_status | Enable Comments | STRING Options open , closed | Enable comments on the page. | false |
| ping\_status | Open to Pinging | STRING Options open , closed | Enable pinging on the page. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Page",
"name" : "createPage",
"parameters" : {
"title" : "",
"content" : "",
"status" : "",
"slug" : "",
"comment_status" : "",
"ping_status" : ""
},
"type" : "wordpress/v1/createPage"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| id | INTEGER | Unique identifier for the page. |
| date | STRING | The date the page was published, in the site's timezone. |
| date\_gmt | STRING | The date the page was published, in GMT. |
| guid | OBJECT Properties \{STRING(rendered), STRING(raw)} | The globally unique identifier for the page. |
| modified | STRING | The date the page was last modified, in the site's timezone. |
| modified\_gmt | STRING | The date the page was last modified, in GMT. |
| password | STRING | Password for accessing the page. |
| slug | STRING | An alphanumeric identifier for the page unique to its type. |
| status | STRING Options publish , future , draft , pending , private | The publication status of the page. |
| type | STRING | Type of the object (page). |
| link | STRING | URL to the page. |
| title | OBJECT Properties \{STRING(rendered), STRING(raw)} | The title for the page. |
| content | OBJECT Properties \{STRING(rendered), STRING(raw), BOOLEAN(protected), INTEGER(block\_version)} | The content for the page. |
| excerpt | OBJECT Properties \{STRING(raw), STRING(rendered), BOOLEAN(protected)} | The excerpt for the page. |
| author | INTEGER | The ID for the author of the page. |
| featured\_media | INTEGER | The ID of the featured media for the page. |
| parent | INTEGER | The ID of the parent page, if any. |
| menu\_order | INTEGER | The order of the page in menus. |
| comment\_status | STRING Options open , closed | Whether comments are allowed for the page. |
| ping\_status | STRING Options open , closed | Whether pingbacks or trackbacks are allowed. |
| template | STRING | The theme file used to display the page. |
| meta | OBJECT Properties \{STRING(footnotes)} | Meta fields associated with the page. |
| permalink\_template | STRING | Permalink template of the page. |
| generated\_slug | STRING | Generated slug of the page. |
| class\_list | ARRAY Items \[STRING] | Class list of the page. |
| \_links | OBJECT Properties \{\[\{STRING(href), \{\[STRING]\(allow)}(targetHints)}]\(self), \[\{STRING(href)}]\(collection), \[\{STRING(href)}]\(about), \[\{STRING(href), BOOLEAN(embeddable)}]\(author), \[\{STRING(href), BOOLEAN(embeddable)}]\(replies), \[\{STRING(href), INTEGER(count)}]\(version-history), \[\{STRING(href)}]\(wp:attachment), \[\{STRING(href)}]\(wp:action-publish), \[\{STRING(href)}]\(wp:action-unfiltered-html), \[\{STRING(href)}]\(wp:action-assign-author), \[\{STRING(name), STRING(href), BOOLEAN(templated)}]\(curies)} | Links to other related resources. |
#### Output Example [#output-example]
```json
{
"id" : 1,
"date" : "",
"date_gmt" : "",
"guid" : {
"rendered" : "",
"raw" : ""
},
"modified" : "",
"modified_gmt" : "",
"password" : "",
"slug" : "",
"status" : "",
"type" : "",
"link" : "",
"title" : {
"rendered" : "",
"raw" : ""
},
"content" : {
"rendered" : "",
"raw" : "",
"protected" : false,
"block_version" : 1
},
"excerpt" : {
"raw" : "",
"rendered" : "",
"protected" : false
},
"author" : 1,
"featured_media" : 1,
"parent" : 1,
"menu_order" : 1,
"comment_status" : "",
"ping_status" : "",
"template" : "",
"meta" : {
"footnotes" : ""
},
"permalink_template" : "",
"generated_slug" : "",
"class_list" : [ "" ],
"_links" : {
"self" : [ {
"href" : "",
"targetHints" : {
"allow" : [ "" ]
}
} ],
"collection" : [ {
"href" : ""
} ],
"about" : [ {
"href" : ""
} ],
"author" : [ {
"href" : "",
"embeddable" : false
} ],
"replies" : [ {
"href" : "",
"embeddable" : false
} ],
"version-history" : [ {
"href" : "",
"count" : 1
} ],
"wp:attachment" : [ {
"href" : ""
} ],
"wp:action-publish" : [ {
"href" : ""
} ],
"wp:action-unfiltered-html" : [ {
"href" : ""
} ],
"wp:action-assign-author" : [ {
"href" : ""
} ],
"curies" : [ {
"name" : "",
"href" : "",
"templated" : false
} ]
}
}
```
### Create Post [#create-post]
Name: createPost
`Creates a new post.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------------: | :-------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: | :------: |
| title | Title | STRING | Title of the post about to be created. | true |
| content | Content | STRING | Content of the post about to be created. Uses the WordPress Text Editor which supports HTML. | true |
| status | Status | STRING Options publish , future , draft , pending , private | Status of the post about to be added. | false |
| slug | Slug | STRING | Slug of the post identifier. | false |
| categories | Categories | ARRAY Items \[INTEGER] | Categories of the post. | false |
| comment\_status | Enable Comments | STRING Options open , closed | Enable comments on the post. | false |
| ping\_status | Open to Pinging | STRING Options open , closed | Enable pinging on the post. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Post",
"name" : "createPost",
"parameters" : {
"title" : "",
"content" : "",
"status" : "",
"slug" : "",
"categories" : [ 1 ],
"comment_status" : "",
"ping_status" : ""
},
"type" : "wordpress/v1/createPost"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| id | INTEGER | Unique identifier for the post. |
| date | STRING | The date the post was published, in the site's timezone. |
| date\_gmt | STRING | The date the post was published, in GMT. |
| guid | OBJECT Properties \{STRING(rendered), STRING(raw)} | The globally unique identifier for the post. |
| modified | STRING | The date the post was last modified, in the site's timezone. |
| modified\_gmt | STRING | The date the post was last modified, in GMT. |
| password | STRING | Password for accessing the post. |
| slug | STRING | An alphanumeric identifier for the post unique to its type. |
| status | STRING Options publish , future , draft , pending , private | The publication status of the post. |
| type | STRING | Type of the object (post). |
| link | STRING | URL to the post. |
| title | OBJECT Properties \{STRING(rendered), STRING(raw)} | The title for the post. |
| content | OBJECT Properties \{STRING(rendered), STRING(raw), BOOLEAN(protected), INTEGER(block\_version)} | The content for the post. |
| excerpt | OBJECT Properties \{STRING(raw), STRING(rendered), BOOLEAN(protected)} | The excerpt for the post. |
| author | INTEGER | The ID for the author of the post. |
| featured\_media | INTEGER | The ID of the featured media for the post. |
| comment\_status | STRING Options open , closed | Whether comments are allowed for the post. |
| ping\_status | STRING Options open , closed | Whether pingbacks or trackbacks are allowed. |
| sticky | BOOLEAN Options true , false | Weather the post is pinned to the top of the page. |
| template | STRING | The theme file used to display the post. |
| format | STRING | The format of the post. |
| meta | OBJECT Properties \{STRING(footnotes)} | Meta fields associated with the post. |
| categories | ARRAY Items \[INTEGER] | Categories of the post. |
| tags | ARRAY Items \[STRING] | Tags of the post. |
| permalink\_template | STRING | Permalink template of the post. |
| generated\_slug | STRING | Generated slug of the post. |
| class\_list | ARRAY Items \[STRING] | Class list of the post. |
| \_links | OBJECT Properties \{\[\{STRING(href), \{\[STRING]\(allow)}(targetHints)}]\(self), \[\{STRING(href)}]\(collection), \[\{STRING(href)}]\(about), \[\{STRING(href), BOOLEAN(embeddable)}]\(author), \[\{STRING(href), BOOLEAN(embeddable)}]\(replies), \[\{STRING(href), INTEGER(count)}]\(version-history), \[\{STRING(href)}]\(wp:attachment), \[\{STRING(href)}]\(wp:action-publish), \[\{STRING(href)}]\(wp:action-unfiltered-html), \[\{STRING(href)}]\(wp:action-assign-author), \[\{STRING(name), STRING(href), BOOLEAN(templated)}]\(curies)} | Links to other related resources. |
#### Output Example [#output-example-1]
```json
{
"id" : 1,
"date" : "",
"date_gmt" : "",
"guid" : {
"rendered" : "",
"raw" : ""
},
"modified" : "",
"modified_gmt" : "",
"password" : "",
"slug" : "",
"status" : "",
"type" : "",
"link" : "",
"title" : {
"rendered" : "",
"raw" : ""
},
"content" : {
"rendered" : "",
"raw" : "",
"protected" : false,
"block_version" : 1
},
"excerpt" : {
"raw" : "",
"rendered" : "",
"protected" : false
},
"author" : 1,
"featured_media" : 1,
"comment_status" : "",
"ping_status" : "",
"sticky" : false,
"template" : "",
"format" : "",
"meta" : {
"footnotes" : ""
},
"categories" : [ 1 ],
"tags" : [ "" ],
"permalink_template" : "",
"generated_slug" : "",
"class_list" : [ "" ],
"_links" : {
"self" : [ {
"href" : "",
"targetHints" : {
"allow" : [ "" ]
}
} ],
"collection" : [ {
"href" : ""
} ],
"about" : [ {
"href" : ""
} ],
"author" : [ {
"href" : "",
"embeddable" : false
} ],
"replies" : [ {
"href" : "",
"embeddable" : false
} ],
"version-history" : [ {
"href" : "",
"count" : 1
} ],
"wp:attachment" : [ {
"href" : ""
} ],
"wp:action-publish" : [ {
"href" : ""
} ],
"wp:action-unfiltered-html" : [ {
"href" : ""
} ],
"wp:action-assign-author" : [ {
"href" : ""
} ],
"curies" : [ {
"name" : "",
"href" : "",
"templated" : false
} ]
}
}
```
### Get Post [#get-post]
Name: getPost
`Get a post by post ID.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----: | :-----: | :----: | :----------------------------------: | :------: |
| postId | Post ID | STRING | ID of the post that will be fetched. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Get Post",
"name" : "getPost",
"parameters" : {
"postId" : ""
},
"type" : "wordpress/v1/getPost"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| id | INTEGER | Unique identifier for the post. |
| date | STRING | The date the post was published, in the site's timezone. |
| date\_gmt | STRING | The date the post was published, in GMT. |
| guid | OBJECT Properties \{STRING(rendered)} | The globally unique identifier for the post. |
| modified | STRING | The date the post was last modified, in the site's timezone. |
| modified\_gmt | STRING | The date the post was last modified, in GMT. |
| slug | STRING | An alphanumeric identifier for the post unique to its type. |
| status | STRING Options publish , future , draft , pending , private | The publication status of the post. |
| type | STRING | Type of the object (post). |
| link | STRING | URL to the post. |
| title | OBJECT Properties \{STRING(rendered), STRING(raw)} | The title for the post. |
| content | OBJECT Properties \{STRING(rendered), BOOLEAN(protected)} | The content for the post. |
| excerpt | OBJECT Properties \{STRING(rendered), BOOLEAN(protected)} | The excerpt for the post. |
| author | INTEGER | The ID for the author of the post. |
| featured\_media | INTEGER | The ID of the featured media for the post. |
| comment\_status | STRING Options open , closed | Whether comments are allowed for the post. |
| ping\_status | STRING Options open , closed | Whether pingbacks or trackbacks are allowed. |
| sticky | BOOLEAN Options true , false | Weather the post is pinned to the top of the page. |
| template | STRING | The theme file used to display the post. |
| format | STRING | The format of the post. |
| meta | OBJECT Properties \{STRING(footnotes)} | Meta fields associated with the post. |
| categories | ARRAY Items \[INTEGER] | Categories of the post. |
| tags | ARRAY Items \[STRING] | Tags of the post. |
| class\_list | ARRAY Items \[STRING] | Class list of the post. |
| \_links | OBJECT Properties \{\[\{STRING(href), \{\[STRING]\(allow)}(targetHints)}]\(self), \[\{STRING(href)}]\(collection), \[\{STRING(href)}]\(about), \[\{STRING(href), BOOLEAN(embeddable)}]\(author), \[\{STRING(href), BOOLEAN(embeddable)}]\(replies), \[\{STRING(href), INTEGER(count)}]\(version-history), \[\{STRING(href), INTEGER(id)}]\(predecessor-version), \[\{STRING(href)}]\(wp:attachment), \[\{STRING(href), STRING(taxonomy), BOOLEAN(embeddable)}]\(wp:term), \[\{STRING(name), STRING(href), BOOLEAN(templated)}]\(curies)} | Links to other related resources. |
#### Output Example [#output-example-2]
```json
{
"id" : 1,
"date" : "",
"date_gmt" : "",
"guid" : {
"rendered" : ""
},
"modified" : "",
"modified_gmt" : "",
"slug" : "",
"status" : "",
"type" : "",
"link" : "",
"title" : {
"rendered" : "",
"raw" : ""
},
"content" : {
"rendered" : "",
"protected" : false
},
"excerpt" : {
"rendered" : "",
"protected" : false
},
"author" : 1,
"featured_media" : 1,
"comment_status" : "",
"ping_status" : "",
"sticky" : false,
"template" : "",
"format" : "",
"meta" : {
"footnotes" : ""
},
"categories" : [ 1 ],
"tags" : [ "" ],
"class_list" : [ "" ],
"_links" : {
"self" : [ {
"href" : "",
"targetHints" : {
"allow" : [ "" ]
}
} ],
"collection" : [ {
"href" : ""
} ],
"about" : [ {
"href" : ""
} ],
"author" : [ {
"href" : "",
"embeddable" : false
} ],
"replies" : [ {
"href" : "",
"embeddable" : false
} ],
"version-history" : [ {
"href" : "",
"count" : 1
} ],
"predecessor-version" : [ {
"href" : "",
"id" : 1
} ],
"wp:attachment" : [ {
"href" : ""
} ],
"wp:term" : [ {
"href" : "",
"taxonomy" : "",
"embeddable" : false
} ],
"curies" : [ {
"name" : "",
"href" : "",
"templated" : false
} ]
}
}
```
#### Find Post ID [#find-post-id]
To find the Post ID, click [here](/reference/components/wordpress_v1#how-to-find-your-post-id).
### Update Post [#update-post]
Name: updatePost
`Update a post.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------------: | :-------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------: | :------: |
| postId | Post ID | STRING | ID of the post that will be fetched. | true |
| title | Title | STRING | Title of the post. | false |
| content | Content | STRING | Content of the post, uses the WordPress Text Editor which supports HTML. | false |
| status | Status | STRING Options publish , future , draft , pending , private | Status of the post. | false |
| slug | Slug | STRING | Slug of the post identifier. | false |
| categories | Categories | ARRAY Items \[INTEGER] | Categories of the post. | false |
| comment\_status | Enable Comments | STRING Options open , closed | Enable comments on the post. | false |
| ping\_status | Open to Pinging | STRING Options open , closed | Enable pinging on the post. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Update Post",
"name" : "updatePost",
"parameters" : {
"postId" : "",
"title" : "",
"content" : "",
"status" : "",
"slug" : "",
"categories" : [ 1 ],
"comment_status" : "",
"ping_status" : ""
},
"type" : "wordpress/v1/updatePost"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :-----------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| id | INTEGER | Unique identifier for the post. |
| date | STRING | The date the post was published, in the site's timezone. |
| date\_gmt | STRING | The date the post was published, in GMT. |
| guid | OBJECT Properties \{STRING(rendered), STRING(raw)} | The globally unique identifier for the post. |
| modified | STRING | The date the post was last modified, in the site's timezone. |
| modified\_gmt | STRING | The date the post was last modified, in GMT. |
| password | STRING | Password for accessing the post. |
| slug | STRING | An alphanumeric identifier for the post unique to its type. |
| status | STRING Options publish , future , draft , pending , private | The publication status of the post. |
| type | STRING | Type of the object (post). |
| link | STRING | URL to the post. |
| title | OBJECT Properties \{STRING(rendered), STRING(raw)} | The title for the post. |
| content | OBJECT Properties \{STRING(rendered), STRING(raw), BOOLEAN(protected), INTEGER(block\_version)} | The content for the post. |
| excerpt | OBJECT Properties \{STRING(raw), STRING(rendered), BOOLEAN(protected)} | The excerpt for the post. |
| author | INTEGER | The ID for the author of the post. |
| featured\_media | INTEGER | The ID of the featured media for the post. |
| comment\_status | STRING Options open , closed | Whether comments are allowed for the post. |
| ping\_status | STRING Options open , closed | Whether pingbacks or trackbacks are allowed. |
| sticky | BOOLEAN Options true , false | Weather the post is pinned to the top of the page. |
| template | STRING | The theme file used to display the post. |
| format | STRING | The format of the post. |
| meta | OBJECT Properties \{STRING(footnotes)} | Meta fields associated with the post. |
| categories | ARRAY Items \[INTEGER] | Categories of the post. |
| tags | ARRAY Items \[STRING] | Tags of the post. |
| permalink\_template | STRING | Permalink template of the post. |
| generated\_slug | STRING | Generated slug of the post. |
| class\_list | ARRAY Items \[STRING] | Class list of the post. |
| \_links | OBJECT Properties \{\[\{STRING(href), \{\[STRING]\(allow)}(targetHints)}]\(self), \[\{STRING(href)}]\(collection), \[\{STRING(href)}]\(about), \[\{STRING(href), BOOLEAN(embeddable)}]\(author), \[\{STRING(href), BOOLEAN(embeddable)}]\(replies), \[\{STRING(href), INTEGER(count)}]\(version-history), \[\{STRING(href), INTEGER(id)}]\(predecessor-version), \[\{STRING(href)}]\(wp:attachment), \[\{STRING(href), STRING(taxonomy), BOOLEAN(embeddable)}]\(wp:term), \[\{STRING(href)}]\(wp:action-publish), \[\{STRING(href)}]\(wp:action-unfiltered-html), \[\{STRING(href)}]\(wp:action-sticky), \[\{STRING(href)}]\(wp:action-assign-author), \[\{STRING(href)}]\(wp:action-create-categories), \[\{STRING(href)}]\(wp:action-assign-categories), \[\{STRING(href)}]\(wp:action-assign-tags), \[\{STRING(href)}]\(wp:action-create-tags), \[\{STRING(name), STRING(href), BOOLEAN(templated)}]\(curies)} | Links to other related resources. |
#### Output Example [#output-example-3]
```json
{
"id" : 1,
"date" : "",
"date_gmt" : "",
"guid" : {
"rendered" : "",
"raw" : ""
},
"modified" : "",
"modified_gmt" : "",
"password" : "",
"slug" : "",
"status" : "",
"type" : "",
"link" : "",
"title" : {
"rendered" : "",
"raw" : ""
},
"content" : {
"rendered" : "",
"raw" : "",
"protected" : false,
"block_version" : 1
},
"excerpt" : {
"raw" : "",
"rendered" : "",
"protected" : false
},
"author" : 1,
"featured_media" : 1,
"comment_status" : "",
"ping_status" : "",
"sticky" : false,
"template" : "",
"format" : "",
"meta" : {
"footnotes" : ""
},
"categories" : [ 1 ],
"tags" : [ "" ],
"permalink_template" : "",
"generated_slug" : "",
"class_list" : [ "" ],
"_links" : {
"self" : [ {
"href" : "",
"targetHints" : {
"allow" : [ "" ]
}
} ],
"collection" : [ {
"href" : ""
} ],
"about" : [ {
"href" : ""
} ],
"author" : [ {
"href" : "",
"embeddable" : false
} ],
"replies" : [ {
"href" : "",
"embeddable" : false
} ],
"version-history" : [ {
"href" : "",
"count" : 1
} ],
"predecessor-version" : [ {
"href" : "",
"id" : 1
} ],
"wp:attachment" : [ {
"href" : ""
} ],
"wp:term" : [ {
"href" : "",
"taxonomy" : "",
"embeddable" : false
} ],
"wp:action-publish" : [ {
"href" : ""
} ],
"wp:action-unfiltered-html" : [ {
"href" : ""
} ],
"wp:action-sticky" : [ {
"href" : ""
} ],
"wp:action-assign-author" : [ {
"href" : ""
} ],
"wp:action-create-categories" : [ {
"href" : ""
} ],
"wp:action-assign-categories" : [ {
"href" : ""
} ],
"wp:action-assign-tags" : [ {
"href" : ""
} ],
"wp:action-create-tags" : [ {
"href" : ""
} ],
"curies" : [ {
"name" : "",
"href" : "",
"templated" : false
} ]
}
}
```
#### Find Post ID [#find-post-id-1]
To find the Post ID, click [here](/reference/components/wordpress_v1#how-to-find-your-post-id).
## Triggers [#triggers]
### New Post [#new-post]
Name: newPost
`Triggers when a new post is added.`
Type: POLLING
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| id | INTEGER | Unique identifier for the post. |
| date | STRING | The date the post was published, in the site's timezone. |
| date\_gmt | STRING | The date the post was published, in GMT. |
| guid | OBJECT Properties \{STRING(rendered)} | The globally unique identifier for the post. |
| modified | STRING | The date the post was last modified, in the site's timezone. |
| modified\_gmt | STRING | The date the post was last modified, in GMT. |
| slug | STRING | An alphanumeric identifier for the post unique to its type. |
| status | STRING | The publication status of the post. |
| type | STRING | Type of the object (post). |
| link | STRING | URL to the post. |
| title | OBJECT Properties \{STRING(rendered), STRING(raw)} | The title for the post. |
| content | OBJECT Properties \{STRING(rendered), BOOLEAN(protected)} | The content for the post. |
| excerpt | OBJECT Properties \{STRING(rendered), BOOLEAN(protected)} | The excerpt for the post. |
| author | INTEGER | The ID for the author of the post. |
| featured\_media | INTEGER | The ID of the featured media for the post. |
| comment\_status | STRING | Whether comments are allowed for the post. |
| ping\_status | STRING | Whether pingbacks or trackbacks are allowed. |
| sticky | BOOLEAN Options true , false | Weather the post is pinned to the top of the page. |
| template | STRING | The theme file used to display the post. |
| format | STRING | The format of the post. |
| meta | OBJECT Properties \{STRING(footnotes)} | Meta fields associated with the post. |
| categories | ARRAY Items \[INTEGER] | Categories of the post. |
| tags | ARRAY Items \[STRING] | Tags of the post. |
| class\_list | ARRAY Items \[STRING] | Class list of the post. |
| \_links | OBJECT Properties \{\[\{STRING(href), \{\[STRING]\(allow)}(targetHints)}]\(self), \[\{STRING(href)}]\(collection), \[\{STRING(href)}]\(about), \[\{STRING(href), BOOLEAN(embeddable)}]\(author), \[\{STRING(href), BOOLEAN(embeddable)}]\(replies), \[\{STRING(href), INTEGER(count)}]\(version-history), \[\{STRING(href), INTEGER(id)}]\(predecessor-version), \[\{STRING(href)}]\(wp:attachment), \[\{STRING(href), STRING(taxonomy), BOOLEAN(embeddable)}]\(wp:term), \[\{STRING(name), STRING(href), BOOLEAN(templated)}]\(curies)} | Links to other related resources. |
#### JSON Example [#json-example]
```json
{
"label" : "New Post",
"name" : "newPost",
"type" : "wordpress/v1/newPost"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find your Post ID [#how-to-find-your-post-id]
* **Method 1: Find the Post ID from the Posts List**
1. In your WordPress dashboard, go to **Posts → All Posts**.
2. Hover your mouse over the post title (do not click it).
3. Look at the URL displayed in your browser's status bar. It will contain a parameter similar to:
```text
post=123
```
The number after `post=` is the **Post ID**.
***
* **Method 2: Find the Post ID from the Edit Screen**
1. In your WordPress dashboard, go to **Posts → All Posts**.
2. Click **Edit** on the post you want.
3. Check the URL in your browser's address bar. It will look similar to:
```text
https://yourwebsite.com/wp-admin/post.php?post=123&action=edit
```
The number after `post=` is the **Post ID**.
# ByteChef Reference: Workflow
URL: /reference/components/workflow_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/workflow_v1.mdx
Triggers and actions for workflow-to-workflow communication.
Categories: Helpers
Type: workflow/v1
## Actions [#actions]
### Response to Workflow Call [#response-to-workflow-call]
Name: responseToWorkflowCall
`Respond and send back data to the calling workflow. Must be the last step in a callable workflow.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-----------------------------------------------------------------------------------: | :----------------------------------------------------------------------------: | :------: |
| outputSchema | Output Schema | STRING | The schema definition for the response data sent back to the calling workflow. | false |
| response | null | DYNAMIC\_PROPERTIES Depends On outputSchema | The response data to send back to the calling workflow. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Response to Workflow Call",
"name" : "responseToWorkflowCall",
"parameters" : {
"outputSchema" : "",
"response" : { }
},
"type" : "workflow/v1/responseToWorkflowCall"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
## Triggers [#triggers]
### New Workflow Call [#new-workflow-call]
Name: newWorkflowCall
`Triggers when this workflow is called from another workflow. Define the input schema to specify what data the calling workflow should provide.`
Type: CALLABLE
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :----: | :----: | :--------------------------------------------------------------------------: | :------: |
| inputSchema | Inputs | STRING | The schema definition for the input data this workflow expects from callers. | false |
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
#### JSON Example [#json-example]
```json
{
"label" : "New Workflow Call",
"name" : "newWorkflowCall",
"parameters" : {
"inputSchema" : ""
},
"type" : "workflow/v1/newWorkflowCall"
}
```
### New Workflow Error [#new-workflow-error]
Name: newWorkflowError
`Triggers when a workflow run fails. Set this workflow as the error workflow of a project or of a single workflow to receive its failures.`
Type: STATIC\_WEBHOOK
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| execution | OBJECT Properties \{STRING(jobId), STRING(url), \{STRING(message), STRING(stackTrace)}(error), STRING(lastTaskExecuted), INTEGER(autoRecoveryAttempts)} | |
| workflow | OBJECT Properties \{STRING(projectId), STRING(projectWorkflowId), STRING(workflowId), STRING(label)} | |
| environment | STRING | |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Workflow Error",
"name" : "newWorkflowError",
"type" : "workflow/v1/newWorkflowError"
}
```
# ByteChef Reference: Wrike
URL: /reference/components/wrike_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/wrike_v1.mdx
Wrike's Powerful Project Management Software Provides Users with Enterprise-Level Security.
Categories: Project Management
Type: wrike/v1
## Connections [#connections]
Version: 1
### oauth2\_authorization\_code [#oauth2_authorization_code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :------------------------------: | :------: |
| clientId | Client ID | STRING | Client ID of your Wrike app. | true |
| clientSecret | Client Secret | STRING | Client Secret of your Wrike app. | true |
## Connection Setup [#connection-setup]
### Find REST API Key [#find-rest-api-key]
1. Navigate to your dashboard.
2. Click your account icon.
3. Click on **Settings**.
4. Click on **Profile**.
5. Scroll down and click on **Open Apps & Integrations**.
6. Click on **+App**.
7. Enter name of your application and below you can see your OAuth credentials.
8. Enter a redirect URI, e.g., [http://127.0.0.1:5173/callback](http://127.0.0.1:5173/callback), [https://app.bytechef.io/callback](https://app.bytechef.io/callback).
9. Click on **Save**.
## Actions [#actions]
### Create Comment [#create-comment]
Name: createComment
`Create a comment in a folder or in a task.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :-----------------------------------------------------------------------------------------------: | :----------------------------------------------------------------: | :------: |
| parent | Parent | STRING Options folders , tasks | Choose whether the comment will be added to a task or to a folder. | true |
| parentId | Parent ID | STRING Depends On parent | ID of the parent folder or the parent task. | true |
| text | Text | STRING | Comment text. | true |
| plainText | Plain Text | BOOLEAN Options true , false | Whether the comment will be treated as plain text or as HTML. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Comment",
"name" : "createComment",
"parameters" : {
"parent" : "",
"parentId" : "",
"text" : "",
"plainText" : false
},
"type" : "wrike/v1/createComment"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
| kind | STRING | Kind of the object that was created. |
| data | ARRAY Items \[\{STRING(id), STRING(authorId), STRING(text), STRING(updatedDate), STRING(createdDate), STRING(parentId), \[]\(attachmentIds)}] | Data of the object that was created. |
#### Output Example [#output-example]
```json
{
"kind" : "",
"data" : [ {
"id" : "",
"authorId" : "",
"text" : "",
"updatedDate" : "",
"createdDate" : "",
"parentId" : "",
"attachmentIds" : [ ]
} ]
}
```
### Create Folder [#create-folder]
Name: createFolder
`Create a folder.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :----: | :----------------------: | :------: |
| parentId | Parent ID | STRING | ID of the parent folder. | true |
| title | Title | STRING | The title of the folder. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Folder",
"name" : "createFolder",
"parameters" : {
"parentId" : "",
"title" : ""
},
"type" : "wrike/v1/createFolder"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
| kind | STRING | Kind of the object that was created. |
| data | ARRAY Items \[\{STRING(id), STRING(accountId), STRING(title), STRING(createdDate), STRING(updatedDate), STRING(description), \[STRING($sharedId)]\(sharedIds), [STRING\($parentId)]\(parentIds), \[STRING($childId)]\(childIds), [STRING\($superParentId)]\(superParentIds), STRING(scope), BOOLEAN(hasAttachments), STRING(permalink), STRING(workflowId), \[]\(metadata), \[]\(customFields)}] | Data of the object that was created. |
#### Output Example [#output-example-1]
```json
{
"kind" : "",
"data" : [ {
"id" : "",
"accountId" : "",
"title" : "",
"createdDate" : "",
"updatedDate" : "",
"description" : "",
"sharedIds" : [ "" ],
"parentIds" : [ "" ],
"childIds" : [ "" ],
"superParentIds" : [ "" ],
"scope" : "",
"hasAttachments" : false,
"permalink" : "",
"workflowId" : "",
"metadata" : [ ],
"customFields" : [ ]
} ]
}
```
### Create Project [#create-project]
Name: createProject
`Create a project.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :------------------------------------------------------------------------------------------------------: | :-------------------------------: | :------: |
| parentId | Parent ID | STRING | ID of the parent folder. | true |
| title | Title | STRING | The title of the project. | true |
| description | Description | STRING | The description of the project. | false |
| startDate | Start Date | DATE | The start date of the project. | false |
| endDate | End Date | DATE | The end date of the project. | false |
| contractType | Contract Type | STRING Options Billable , NonBillable | The contract type of the project. | false |
| ownerIds | Owner IDs | ARRAY Items \[STRING] | List of project owner IDs. | false |
| budget | Budget | INTEGER | The budget of the project. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Project",
"name" : "createProject",
"parameters" : {
"parentId" : "",
"title" : "",
"description" : "",
"startDate" : "2021-01-01",
"endDate" : "2021-01-01",
"contractType" : "",
"ownerIds" : [ "" ],
"budget" : 1
},
"type" : "wrike/v1/createProject"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
| kind | STRING | Kind of the object that was created. |
| data | ARRAY Items \[\{STRING(id), STRING(accountId), STRING(title), STRING(createdDate), STRING(updatedDate), STRING(description), \[STRING($sharedId)]\(sharedIds), [STRING\($parentId)]\(parentIds), \[STRING($childId)]\(childIds), [STRING\($superParentId)]\(superParentIds), STRING(scope), BOOLEAN(hasAttachments), STRING(permalink), STRING(workflowId), \[]\(metadata), \[]\(customFields), \{STRING(authorId), \[STRING(\$ownerId)]\(ownerIds), STRING(customStatusId), STRING(startDate), STRING(endDate), STRING(createdDate)}(project)}] | Data of the object that was created. |
#### Output Example [#output-example-2]
```json
{
"kind" : "",
"data" : [ {
"id" : "",
"accountId" : "",
"title" : "",
"createdDate" : "",
"updatedDate" : "",
"description" : "",
"sharedIds" : [ "" ],
"parentIds" : [ "" ],
"childIds" : [ "" ],
"superParentIds" : [ "" ],
"scope" : "",
"hasAttachments" : false,
"permalink" : "",
"workflowId" : "",
"metadata" : [ ],
"customFields" : [ ],
"project" : {
"authorId" : "",
"ownerIds" : [ "" ],
"customStatusId" : "",
"startDate" : "",
"endDate" : "",
"createdDate" : ""
}
} ]
}
```
### Create Task [#create-task]
Name: createTask
`Create a task.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :----------: | :---------: | :-------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: | :------: |
| parentId | Parent ID | STRING | ID of the parent folder. | true |
| title | Title | STRING | The title of the task. | true |
| description | Description | STRING | Description of task, will be left blank, if not set. | false |
| status | Status | STRING Options Active , Completed , Deferred , Cancelled | The status of the task. | false |
| importance | Importance | STRING Options High , Normal , Low | The importance of the task. | false |
| responsibles | Assignees | ARRAY Items \[STRING(\$assigneeId)] | Choose assignees for the task. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Task",
"name" : "createTask",
"parameters" : {
"parentId" : "",
"title" : "",
"description" : "",
"status" : "",
"importance" : "",
"responsibles" : [ "" ]
},
"type" : "wrike/v1/createTask"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: |
| kind | STRING | Kind of the object that was created. |
| data | ARRAY Items \[\{STRING(id), STRING(accountId), STRING(title), STRING(description), STRING(briefDescription), \[STRING($parentId)]\(parentIds), [STRING\($superParentId)]\(superParentIds), \[STRING($sharedId)]\(sharedIds), [STRING\($responsibleId)]\(responsibleIds), STRING(status), STRING(importance), STRING(createdDate), STRING(updatedDate), STRING(completedDate), \{STRING(type)}(dates), STRING(scope), \[STRING($authorId)]\(authorIds), STRING\(customStatusId), BOOLEAN\(hasAttachments), INTEGER\(attachmentCount), STRING\(permalink), STRING\(priority), BOOLEAN\(followedByMe), [STRING\($followerId)]\(followerIds), \[]\(superTaskIds), \[]\(subTaskIds), \[]\(dependencyIds), \[]\(metadata), \[]\(customFields)}] | Data of the object that was created. |
#### Output Example [#output-example-3]
```json
{
"kind" : "",
"data" : [ {
"id" : "",
"accountId" : "",
"title" : "",
"description" : "",
"briefDescription" : "",
"parentIds" : [ "" ],
"superParentIds" : [ "" ],
"sharedIds" : [ "" ],
"responsibleIds" : [ "" ],
"status" : "",
"importance" : "",
"createdDate" : "",
"updatedDate" : "",
"completedDate" : "",
"dates" : {
"type" : ""
},
"scope" : "",
"authorIds" : [ "" ],
"customStatusId" : "",
"hasAttachments" : false,
"attachmentCount" : 1,
"permalink" : "",
"priority" : "",
"followedByMe" : false,
"followerIds" : [ "" ],
"superTaskIds" : [ ],
"subTaskIds" : [ ],
"dependencyIds" : [ ],
"metadata" : [ ],
"customFields" : [ ]
} ]
}
```
## Triggers [#triggers]
### New Task [#new-task]
Name: newTask
`Triggers when a new task is created.`
Type: DYNAMIC\_WEBHOOK
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-9]
| Name | Type | Description |
| :-------------: | :----: | :-------------------------------: |
| taskId | STRING | The task ID. |
| webhookId | STRING | The webhook ID. |
| eventAuthorId | STRING | The ID of the author of the task. |
| eventType | STRING | Event type that happened. |
| lastUpdatedDate | STRING | Date of the last update. |
#### JSON Example [#json-example]
```json
{
"label" : "New Task",
"name" : "newTask",
"type" : "wrike/v1/newTask"
}
```
# ByteChef Reference: X
URL: /reference/components/x_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/x_v1.mdx
X (formerly known as Twitter) is a social media platform that enables users to share short messages, known as posts or tweets, and interact with others in real time.
Categories: Social Media
Type: x/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
1. Log in to the [X developer portal](https://developer.x.com/en/portal/dashboard) and go to the **Overview** tab in your project.
2. Click on **+ Add App**.
3. Give your app a name (for example, `ByteChef Integration`) and select **Next**.
4. Go to the **App Settings**.
5. In the **User authentication settings**, select **Set Up**.
6. Set the **App permissions** to **Read and write and Direct message**.
7. In the **Type of app** section, select **Native App**.
8. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://127.0.0.1:5173/callback` or `http://localhost:5173/callback`
9. Add a **Website URL**. Click **Save**.
10. Click **Yes**.
11. Copy your **Client ID** and **Client Secret**. You will use these in ByteChef when creating the X connection.
## Actions [#actions]
### Create Post [#create-post]
Name: createPost
`Creates a new post for the authenticated user,`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---: | :----: | :------------------------------------------------------------------: | :-------------------------------: | :------: |
| text | Text | STRING | The text of the post to create. | false |
| media | Images | ARRAY Items \[FILE\_ENTRY] | The images to attach to the post. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Post",
"name" : "createPost",
"parameters" : {
"text" : "",
"media" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "x/v1/createPost"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--: | :----------------------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{\[STRING]\(edit\_history\_tweet\_ids), STRING(id), STRING(text)} | |
#### Output Example [#output-example]
```json
{
"data" : {
"edit_history_tweet_ids" : [ "" ],
"id" : "",
"text" : ""
}
}
```
### Delete Post [#delete-post]
Name: deletePost
`Deletes a specific post.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--: | :-----: | :----: | :-------------------------------: | :------: |
| id | Post ID | STRING | The ID of the post to be deleted. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Delete Post",
"name" : "deletePost",
"parameters" : {
"id" : ""
},
"type" : "x/v1/deletePost"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{BOOLEAN(deleted)} | |
#### Output Example [#output-example-1]
```json
{
"data" : {
"deleted" : false
}
}
```
### Like Post [#like-post]
Name: likePost
`Like a specific post by its ID.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------: | :------: | :----: | :-----------------------------: | :------: |
| tweet\_id | Tweet ID | STRING | The ID of the post to be liked. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Like Post",
"name" : "likePost",
"parameters" : {
"tweet_id" : ""
},
"type" : "x/v1/likePost"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--: | :---------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{BOOLEAN(liked)} | |
#### Output Example [#output-example-2]
```json
{
"data" : {
"liked" : false
}
}
```
### Repost Post [#repost-post]
Name: repostPost
`Reposts a specific post by its ID.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------: | :------: | :----: | :--------------------------------: | :------: |
| tweet\_id | Tweet ID | STRING | The ID of the post to be reposted. | true |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Repost Post",
"name" : "repostPost",
"parameters" : {
"tweet_id" : ""
},
"type" : "x/v1/repostPost"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--: | :-------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(id), BOOLEAN(retweeted)} | |
#### Output Example [#output-example-3]
```json
{
"data" : {
"id" : "",
"retweeted" : false
}
}
```
### Send Direct Message [#send-direct-message]
Name: sendDirectMessage
`Sends a direct message to a specified user.`
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :------: | :------: | :------------------------------------------------------------------: | :---------------------------------------------------: | :------: |
| username | Username | STRING | The username of the user to send a direct message to. | true |
| text | Text | STRING | The text of the message. | true |
| media | Images | ARRAY Items \[FILE\_ENTRY] | The images to attach to the direct message. | false |
#### Example JSON Structure [#example-json-structure-4]
```json
{
"label" : "Send Direct Message",
"name" : "sendDirectMessage",
"parameters" : {
"username" : "",
"text" : "",
"media" : [ {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
} ]
},
"type" : "x/v1/sendDirectMessage"
}
```
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :--: | :----------------------------------------------------------------------------------------------------------------: | :---------: |
| data | OBJECT Properties \{STRING(dm\_conversation\_id), STRING(dm\_event\_id)} | |
#### Output Example [#output-example-4]
```json
{
"data" : {
"dm_conversation_id" : "",
"dm_event_id" : ""
}
}
```
## Triggers [#triggers]
### New Post [#new-post]
Name: newPost
`Triggers when a new post is created by a specific user.`
Type: POLLING
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----: | :------------------------------------------------: | :------: |
| username | Username | STRING | The username of the user to monitor for new posts. | true |
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :-----------------------: | :-------------------------------------------------------------: | :--------------------------------------: |
| id | STRING | ID of the Tweet. |
| text | STRING | The content of the Tweet. |
| edit\_history\_tweet\_ids | ARRAY Items \[STRING] | A list of Tweet Ids in this Tweet chain. |
#### JSON Example [#json-example]
```json
{
"label" : "New Post",
"name" : "newPost",
"parameters" : {
"username" : ""
},
"type" : "x/v1/newPost"
}
```
# ByteChef Reference: Xero
URL: /reference/components/xero_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/xero_v1.mdx
Xero is an online accounting software platform designed for small businesses and accountants to manage finances efficiently.
Categories: Accounting
Type: xero/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect Xero to ByteChef using OAuth 2.0 (Authorization Code).
### Create a Xero OAuth app [#create-a-xero-oauth-app]
1. Log in to the Xero Developer portal: [My Apps](https://developer.xero.com/app/manage) and click **New app**.
2. Enter an app name (for example, `ByteChef Integration`) and select **Web app** as the integration type.
3. For the Company/Application URL, enter the URL of your ByteChef server. For cloud users, for example: `https://app.bytechef.io`.
4. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://127.0.0.1:5173/callback` or `http://localhost:5173/callback`
5. Agree to the terms and click **Create app**.
6. In **Configuration**, click **Generate a secret** to create your Client Secret.
7. Copy your **Client ID** and **Client Secret**. You will use these in ByteChef when creating the Xero connection.
## Actions [#actions]
### Create Bill [#create-bill]
Name: createBill
`Creates draft bill (Accounts Payable).`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------: | :------: |
| ContactID | Contact ID | STRING | ID of the contact to create the bill for. | true |
| Date | Date | DATE | Date of the bill. If no date is specified, the current date will be used. | true |
| DueDate | Due Date | DATE | Date bill is due. If no date is specified, the current date will be used. | false |
| LineAmountTypes | Line Amount Type | STRING Options Exclusive , Inclusive , NoTax | | false |
| LineItems | Line Items | ARRAY Items \[\{STRING(Description), NUMBER(Quantity), NUMBER(UnitAmount), STRING(AccountCode)}(\$LineItem)] | Line items on the bill. | true |
| CurrencyCode | Currency | STRING | Currency that bill is raised in. | false |
| Reference | Invoice Reference | STRING | Reference number of the bill. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Bill",
"name" : "createBill",
"parameters" : {
"ContactID" : "",
"Date" : "2021-01-01",
"DueDate" : "2021-01-01",
"LineAmountTypes" : "",
"LineItems" : [ {
"Description" : "",
"Quantity" : 0.0,
"UnitAmount" : 0.0,
"AccountCode" : ""
} ],
"CurrencyCode" : "",
"Reference" : ""
},
"type" : "xero/v1/createBill"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: |
| Type | STRING | Type of the invoice. |
| Contact | OBJECT Properties \{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | Contact associated with the invoice. |
| DateString | STRING | Date of the invoice – YYYY-MM-DDThh-mm-ss |
| DueDateString | STRING | Due date of the invoice – YYYY-MM-DDThh-mm-ss |
| Status | STRING | Status of the invoice. |
| LineAmountTypes | STRING | Line Amount Type |
| LineItems | ARRAY Items \[\{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount)}] | Line items on the invoice. |
| CurrencyCode | STRING | The currency that invoice has been raised in. |
#### Output Example [#output-example]
```json
{
"Type" : "",
"Contact" : {
"ContactID" : "",
"Name" : "",
"EmailAddress" : ""
},
"DateString" : "",
"DueDateString" : "",
"Status" : "",
"LineAmountTypes" : "",
"LineItems" : [ {
"Description" : "",
"Quantity" : 1,
"UnitAmount" : 0.0
} ],
"CurrencyCode" : ""
}
```
### Create Contact [#create-contact]
Name: createContact
`Creates a new contact.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| Name | Name | STRING | Full name of a contact or organisation. | true |
| CompanyNumber | Company Number | STRING | Company registration number. | false |
| AccountNumber | Account Number | STRING | Unique account number to identify, reference and search for the contact. | false |
| ContactStatus | Contact Status | STRING Options ACTIVE , ARCHIVED , GDPRREQUEST | Current status of a contact. | false |
| FirstName | First Name | STRING | First name of primary person. | false |
| LastName | Last Name | STRING | Last name of primary person. | false |
| EmailAddress | Email Address | STRING | Email address of contact person. | false |
| BankAccountDetails | Bank Account Number | STRING | Bank account number of contact. | false |
| TaxNumber | Tax Number | STRING | Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using. | false |
| Phones | Phones | ARRAY Items \[\{STRING(PhoneType), STRING(PhoneNumber), STRING(PhoneAreaCode), STRING(PhoneCountryCode)}] | | false |
| Addresses | Addresses | ARRAY Items \[\{STRING(AddressType), STRING(City), STRING(Region), STRING(PostalCode), STRING(Country)}] | | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"Name" : "",
"CompanyNumber" : "",
"AccountNumber" : "",
"ContactStatus" : "",
"FirstName" : "",
"LastName" : "",
"EmailAddress" : "",
"BankAccountDetails" : "",
"TaxNumber" : "",
"Phones" : [ {
"PhoneType" : "",
"PhoneNumber" : "",
"PhoneAreaCode" : "",
"PhoneCountryCode" : ""
} ],
"Addresses" : [ {
"AddressType" : "",
"City" : "",
"Region" : "",
"PostalCode" : "",
"Country" : ""
} ]
},
"type" : "xero/v1/createContact"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :----------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------: |
| ContactID | STRING | ID of the contact. |
| CompanyNumber | STRING | Company registration number. |
| AccountNumber | STRING | A user defined account number. |
| ContactStatus | STRING | Status of the contact. |
| Name | STRING | Full name of contact/organisation. |
| FirstName | STRING | First name of contact person. |
| LastName | STRING | Last name of contact person. |
| EmailAddress | STRING | Email address of contact person. |
| BankAccountDetails | STRING | Bank account number of contact. |
| TaxNumber | STRING | Tax number of contact. |
| Addresses | ARRAY Items \[\{STRING(AddressType), STRING(City), STRING(Region), STRING(PostalCode), STRING(Country)}] | List of addresses associated with the contact. |
| Phones | ARRAY Items \[\{STRING(PhoneType), STRING(PhoneNumber), STRING(PhoneAreaCode), STRING(PhoneCountryCode)}] | |
#### Output Example [#output-example-1]
```json
{
"ContactID" : "",
"CompanyNumber" : "",
"AccountNumber" : "",
"ContactStatus" : "",
"Name" : "",
"FirstName" : "",
"LastName" : "",
"EmailAddress" : "",
"BankAccountDetails" : "",
"TaxNumber" : "",
"Addresses" : [ {
"AddressType" : "",
"City" : "",
"Region" : "",
"PostalCode" : "",
"Country" : ""
} ],
"Phones" : [ {
"PhoneType" : "",
"PhoneNumber" : "",
"PhoneAreaCode" : "",
"PhoneCountryCode" : ""
} ]
}
```
### Create Invoice [#create-invoice]
Name: createSalesInvoice
`Creates draft invoice (Acount Receivable).`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: | :------: |
| ContactID | Contact ID | STRING | ID of the contact to create the invoice for. | true |
| Date | Date | DATE | Date invoice was issued. If no date is specified, the current date will be used. | false |
| DueDate | Due Date | DATE | Date invoice is due. If no date is specified, the current date will be used. | false |
| LineAmountTypes | Line Amount Type | STRING Options Exclusive , Inclusive , NoTax | | false |
| LineItems | Line Items | ARRAY Items \[\{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount), NUMBER(DiscountRate)}] | Line items on the invoice. | true |
| CurrencyCode | Currency Code | STRING | Currency code that invoice is raised in. | false |
| Reference | Invoice Reference | STRING | Reference number of the invoice. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Invoice",
"name" : "createSalesInvoice",
"parameters" : {
"ContactID" : "",
"Date" : "2021-01-01",
"DueDate" : "2021-01-01",
"LineAmountTypes" : "",
"LineItems" : [ {
"Description" : "",
"Quantity" : 1,
"UnitAmount" : 0.0,
"DiscountRate" : 0.0
} ],
"CurrencyCode" : "",
"Reference" : ""
},
"type" : "xero/v1/createSalesInvoice"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: |
| Type | STRING | Type of the invoice. |
| Contact | OBJECT Properties \{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | Contact associated with the invoice. |
| DateString | STRING | Date of the invoice – YYYY-MM-DDThh-mm-ss |
| DueDateString | STRING | Due date of the invoice – YYYY-MM-DDThh-mm-ss |
| Status | STRING | Status of the invoice. |
| LineAmountTypes | STRING | Line Amount Type |
| LineItems | ARRAY Items \[\{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount)}] | Line items on the invoice. |
| CurrencyCode | STRING | The currency that invoice has been raised in. |
#### Output Example [#output-example-2]
```json
{
"Type" : "",
"Contact" : {
"ContactID" : "",
"Name" : "",
"EmailAddress" : ""
},
"DateString" : "",
"DueDateString" : "",
"Status" : "",
"LineAmountTypes" : "",
"LineItems" : [ {
"Description" : "",
"Quantity" : 1,
"UnitAmount" : 0.0
} ],
"CurrencyCode" : ""
}
```
### Create Quote [#create-quote]
Name: createQuote
`Creates a new quote draft.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-------------: | :---------------: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: | :------: |
| ContactID | Contact ID | STRING | ID of the contact that the quote is being raised for. | true |
| Date | Date | DATE | Date quote was issued. | true |
| LineItems | Line Items | ARRAY Items \[\{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount), NUMBER(DiscountRate)}] | Line items on the invoice. | true |
| LineAmountTypes | Line Amount Type | STRING Options Exclusive , Inclusive , NoTax | | false |
| ExpiryDate | Expiry Date | DATE | Date quote expires | false |
| CurrencyCode | Currency Code | STRING | The currency code that quote has been raised in. | false |
| QuoteNumber | Quote Number | STRING | Unique alpha numeric code identifying a quote. | false |
| Reference | Reference | STRING | Additional reference number | false |
| BrandingThemeID | Branding Theme ID | STRING | The branding theme ID to be applied to this quote. | false |
| Title | Title | STRING | The title of the quote. | false |
| Summary | Summary | STRING | The summary of the quote. | false |
| Terms | Terms | STRING | The terms of the quote. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create Quote",
"name" : "createQuote",
"parameters" : {
"ContactID" : "",
"Date" : "2021-01-01",
"LineItems" : [ {
"Description" : "",
"Quantity" : 1,
"UnitAmount" : 0.0,
"DiscountRate" : 0.0
} ],
"LineAmountTypes" : "",
"ExpiryDate" : "2021-01-01",
"CurrencyCode" : "",
"QuoteNumber" : "",
"Reference" : "",
"BrandingThemeID" : "",
"Title" : "",
"Summary" : "",
"Terms" : ""
},
"type" : "xero/v1/createQuote"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :--------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| QuoteID | STRING | |
| QuoteNumber | STRING | |
| Reference | STRING | |
| Terms | STRING | |
| Contact | OBJECT Properties \{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | |
| LineItems | ARRAY Items \[\{STRING(LineItemID), STRING(Description), NUMBER(UnitAmount), INTEGER(DiscountRate), INTEGER(Quantity)}] | |
| DateString | STRING | |
| ExpiryDateString | STRING | |
| Status | STRING | |
| CurrencyCode | STRING | |
| Title | STRING | |
| BrandingThemeID | STRING | |
| Summary | STRING | |
| LineAmountTypes | STRING | |
#### Output Example [#output-example-3]
```json
{
"QuoteID" : "",
"QuoteNumber" : "",
"Reference" : "",
"Terms" : "",
"Contact" : {
"ContactID" : "",
"Name" : "",
"EmailAddress" : ""
},
"LineItems" : [ {
"LineItemID" : "",
"Description" : "",
"UnitAmount" : 0.0,
"DiscountRate" : 1,
"Quantity" : 1
} ],
"DateString" : "",
"ExpiryDateString" : "",
"Status" : "",
"CurrencyCode" : "",
"Title" : "",
"BrandingThemeID" : "",
"Summary" : "",
"LineAmountTypes" : ""
}
```
## Triggers [#triggers]
### New Bill [#new-bill]
Name: newBill
`Trigger off whenever a new bill is added.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----: | :---------------------------------------: | :------: |
| webhookKey | Webhook Key | STRING | The key used to sign the webhook request. | true |
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: |
| Type | STRING | Type of the invoice. |
| Contact | OBJECT Properties \{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | Contact associated with the invoice. |
| DateString | STRING | Date of the invoice – YYYY-MM-DDThh-mm-ss |
| DueDateString | STRING | Due date of the invoice – YYYY-MM-DDThh-mm-ss |
| Status | STRING | Status of the invoice. |
| LineAmountTypes | STRING | Line Amount Type |
| LineItems | ARRAY Items \[\{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount)}] | Line items on the invoice. |
| CurrencyCode | STRING | The currency that invoice has been raised in. |
#### JSON Example [#json-example]
```json
{
"label" : "New Bill",
"name" : "newBill",
"parameters" : {
"webhookKey" : ""
},
"type" : "xero/v1/newBill"
}
```
### New Contact [#new-contact]
Name: newContact
`Triggers when a contact is created.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-11]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----: | :---------------------------------------: | :------: |
| webhookKey | Webhook Key | STRING | The key used to sign the webhook request. | true |
#### Output [#output-5]
Type: OBJECT
#### Properties [#properties-12]
| Name | Type | Description |
| :----------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------: |
| ContactID | STRING | ID of the contact. |
| CompanyNumber | STRING | Company registration number. |
| AccountNumber | STRING | A user defined account number. |
| ContactStatus | STRING | Status of the contact. |
| Name | STRING | Full name of contact/organisation. |
| FirstName | STRING | First name of contact person. |
| LastName | STRING | Last name of contact person. |
| EmailAddress | STRING | Email address of contact person. |
| BankAccountDetails | STRING | Bank account number of contact. |
| TaxNumber | STRING | Tax number of contact. |
| Addresses | ARRAY Items \[\{STRING(AddressType), STRING(City), STRING(Region), STRING(PostalCode), STRING(Country)}] | List of addresses associated with the contact. |
| Phones | ARRAY Items \[\{STRING(PhoneType), STRING(PhoneNumber), STRING(PhoneAreaCode), STRING(PhoneCountryCode)}] | |
#### JSON Example [#json-example-1]
```json
{
"label" : "New Contact",
"name" : "newContact",
"parameters" : {
"webhookKey" : ""
},
"type" : "xero/v1/newContact"
}
```
### New Invoice [#new-invoice]
Name: newInvoice
`Trigger off whenever a new invoice is added.`
Type: STATIC\_WEBHOOK
#### Properties [#properties-13]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :----: | :---------------------------------------: | :------: |
| webhookKey | Webhook Key | STRING | The key used to sign the webhook request. | true |
#### Output [#output-6]
Type: OBJECT
#### Properties [#properties-14]
| Name | Type | Description |
| :-------------: | :--------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------: |
| Type | STRING | Type of the invoice. |
| Contact | OBJECT Properties \{STRING(ContactID), STRING(Name), STRING(EmailAddress)} | Contact associated with the invoice. |
| DateString | STRING | Date of the invoice – YYYY-MM-DDThh-mm-ss |
| DueDateString | STRING | Due date of the invoice – YYYY-MM-DDThh-mm-ss |
| Status | STRING | Status of the invoice. |
| LineAmountTypes | STRING | Line Amount Type |
| LineItems | ARRAY Items \[\{STRING(Description), INTEGER(Quantity), NUMBER(UnitAmount)}] | Line items on the invoice. |
| CurrencyCode | STRING | The currency that invoice has been raised in. |
#### JSON Example [#json-example-2]
```json
{
"label" : "New Invoice",
"name" : "newInvoice",
"parameters" : {
"webhookKey" : ""
},
"type" : "xero/v1/newInvoice"
}
```
# ByteChef Reference: XLSX File
URL: /reference/components/xlsx-file_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/xlsx-file_v1.mdx
Reads and writes data from a XLS/XLSX file.
Categories: Helpers
Type: xlsxFile/v1
## Actions [#actions]
### Read from File [#read-from-file]
Name: read
`Reads data from a XLS/XLSX file.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---------------: | :-----------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The object property which contains a reference to the XLS/XLSX file to read from. | true |
| sheetName | Sheet Name | STRING | The name of the sheet to read from in the spreadsheet. If not set, the first one gets chosen. | false |
| headerRow | Header Row | BOOLEAN Options true , false | The first row of the file contains the header names. | false |
| includeEmptyCells | Include Empty Cells | BOOLEAN Options true , false | When reading from file the empty cells will be filled with an empty string. | false |
| pageSize | Page Size | INTEGER | The amount of child elements to return in a page. | false |
| pageNumber | Page Number | INTEGER | The page number to get. | false |
| readAsString | Read As String | BOOLEAN Options true , false | In some cases and file formats, it is necessary to read data specifically as string, otherwise some special characters are interpreted the wrong way. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Read from File",
"name" : "read",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"sheetName" : "",
"headerRow" : false,
"includeEmptyCells" : false,
"pageSize" : 1,
"pageNumber" : 1,
"readAsString" : false
},
"type" : "xlsxFile/v1/read"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Write to File [#write-to-file]
Name: write
`Writes the data to a XLS/XLSX file.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------: | :--------: | :----------------------------------------------------------: | :--------------------------------------------------------------------: | :------: |
| sheetName | Sheet Name | STRING | The name of the sheet to create in the spreadsheet. | false |
| rows | Rows | ARRAY Items \[\{}] | The array of rows to write to the file. | true |
| filename | Filename | STRING | Filename to set for binary data. By default, "file.xlsx" will be used. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Write to File",
"name" : "write",
"parameters" : {
"sheetName" : "",
"rows" : [ { } ],
"filename" : ""
},
"type" : "xlsxFile/v1/write"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
# ByteChef Reference: XML File
URL: /reference/components/xml-file_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/xml-file_v1.mdx
Reads and writes data from a XML file.
Categories: Helpers
Type: xmlFile/v1
## Actions [#actions]
### Read from File [#read-from-file]
Name: read
`Reads data from a XML file.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------: | :---------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------: | :------: |
| fileEntry | File Entry | FILE\_ENTRY | The object property which contains a reference to the XML file to read from. | true |
| isArray | Is Array | BOOLEAN Options true , false | The object input is array? | false |
| path | Path | STRING | The path where the array is e.g 'data'. Leave blank to use the top level object. | false |
| pageSize | Page Size | INTEGER | The amount of child elements to return in a page. | false |
| pageNumber | Page Number | INTEGER | The page number to get. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Read from File",
"name" : "read",
"parameters" : {
"fileEntry" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"isArray" : false,
"path" : "",
"pageSize" : 1,
"pageNumber" : 1
},
"type" : "xmlFile/v1/read"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Write to File [#write-to-file]
Name: write
`Writes the data to a XML file.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :------: | :----------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------: | :------: |
| type | Type | STRING Options OBJECT , ARRAY | The value type. | false |
| source | Source | OBJECT Properties \{} | The object to write to the file. | true |
| source | Source | ARRAY Items \[] | The aray to write to the file. | true |
| filename | Filename | STRING | Filename to set for binary data. By default, "file.xml" will be used. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Write to File",
"name" : "write",
"parameters" : {
"type" : "",
"source" : [ ],
"filename" : ""
},
"type" : "xmlFile/v1/write"
}
```
#### Output [#output-1]
Type: FILE\_ENTRY
#### Properties [#properties-2]
| Name | Type | Description |
| :-------: | :----: | :---------: |
| extension | STRING | |
| mimeType | STRING | |
| name | STRING | |
| url | STRING | |
#### Output Example [#output-example]
```json
{
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
}
```
# ByteChef Reference: XML Helper
URL: /reference/components/xml-helper_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/xml-helper_v1.mdx
Converts between XML string and object/array.
Categories: Helpers
Type: xmlHelper/v1
## Actions [#actions]
### Convert from XML String [#convert-from-xml-string]
Name: parse
`Converts the XML string to object/array.`
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----: | :------------------------------------: | :------: |
| source | Source | STRING | The XML string to convert to the data. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Convert from XML String",
"name" : "parse",
"parameters" : {
"source" : ""
},
"type" : "xmlHelper/v1/parse"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Convert to XML String [#convert-to-xml-string]
Name: stringify
`Writes the object/array to a XML string.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :----: | :----: | :----------------------------------------------------------------------------------------------: | :----------------------------------: | :------: |
| type | Type | STRING Options OBJECT , ARRAY | The value type. | false |
| source | Source | OBJECT Properties \{} | The object to convert to XML string. | true |
| source | Source | ARRAY Items \[] | The array to convert to XML string. | true |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Convert to XML String",
"name" : "stringify",
"parameters" : {
"type" : "",
"source" : [ ]
},
"type" : "xmlHelper/v1/stringify"
}
```
#### Output [#output-1]
Type: STRING
# ByteChef Reference: YouTube
URL: /reference/components/youtube_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/youtube_v1.mdx
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
Categories: Helpers
Type: youTube/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/google-application-setup_v1#create-oauth-20-application).
### Enable YouTube API [#enable-youtube-api]
1. In the [Google Cloud Console](https://console.cloud.google.com/), select your project.
2. Go to the **APIs & Services**.
3. Click on **ENABLE APIS AND SERVICES**.
4. Search for "youube api" in the search bar.
5. Click on **YouTube Data API v3**.
6. Click **Enable**.
## Actions [#actions]
### Upload Video [#upload-video]
Name: uploadVideo
`Uploads video to YouTube.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------: | :---------------: | :-----------------------------------------------------------------------------------------------------------------------: | :-------------------------------: | :------: |
| file | Video File | FILE\_ENTRY | Video file that will be uploaded. | true |
| title | Video Title | STRING | Title of the video. | true |
| description | Video Description | STRING | Description of the video. | true |
| tags | Video Tags | ARRAY Items \[STRING(\$tag)] | Tags of the video. | false |
| privacyStatus | Privacy Status | STRING Options private , public , unlisted | Privacy status of the video. | true |
| categoryId | Video Category ID | STRING | | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Upload Video",
"name" : "uploadVideo",
"parameters" : {
"file" : {
"extension" : "",
"mimeType" : "",
"name" : "",
"url" : ""
},
"title" : "",
"description" : "",
"tags" : [ "" ],
"privacyStatus" : "",
"categoryId" : ""
},
"type" : "youTube/v1/uploadVideo"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------: |
| publishedAt | STRING | The date and time when the video was published. |
| channelId | STRING | ID of the channel where the video was uploaded. |
| title | STRING | Title of the video. |
| description | STRING | Description of the video. |
| thumbnails | OBJECT Properties \{\{STRING(url), INTEGER(width), INTEGER(height)}(default), \{STRING(url), INTEGER(width), INTEGER(height)}(medium), \{STRING(url), INTEGER(width), INTEGER(height)}(high)} | Video thumbnails of different quality. |
| channelTitle | STRING | Title of the channel. |
| tags | ARRAY Items \[STRING] | Tags of the video. |
| categoryId | STRING | ID of the video category. |
| liveBroadcastContent | STRING | Live broadcasting content. |
| localized | OBJECT Properties \{STRING(title), STRING(description)} | Localized description of the video. |
| publishTime | STRING | The date and time when the video was published. |
#### Output Example [#output-example]
```json
{
"publishedAt" : "",
"channelId" : "",
"title" : "",
"description" : "",
"thumbnails" : {
"default" : {
"url" : "",
"width" : 1,
"height" : 1
},
"medium" : {
"url" : "",
"width" : 1,
"height" : 1
},
"high" : {
"url" : "",
"width" : 1,
"height" : 1
}
},
"channelTitle" : "",
"tags" : [ "" ],
"categoryId" : "",
"liveBroadcastContent" : "",
"localized" : {
"title" : "",
"description" : ""
},
"publishTime" : ""
}
```
#### Find Video Category ID [#find-video-category-id]
To find Video Category ID, click [here](/reference/components/youtube_v1#how-to-find-video-category-id)
## Triggers [#triggers]
### New Video [#new-video]
Name: newVideo
`Triggers when new video is added to a specific channel.`
Type: POLLING
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------: | :---------------------: | :----: | :---------------------------------------------------: | :------: |
| identifier | Username/Channel Handle | STRING | YouTube username or a channel handle (e.g. @Youtube). | true |
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------: |
| publishedAt | STRING | The date and time when the video was published. |
| channelId | STRING | ID of the channel where the video was uploaded. |
| title | STRING | Title of the video. |
| description | STRING | Description of the video. |
| thumbnails | OBJECT Properties \{\{STRING(url), INTEGER(width), INTEGER(height)}(default), \{STRING(url), INTEGER(width), INTEGER(height)}(medium), \{STRING(url), INTEGER(width), INTEGER(height)}(high)} | Video thumbnails of different quality. |
| channelTitle | STRING | Title of the channel. |
| liveBroadcastContent | STRING | Live broadcasting content. |
| publishTime | STRING | The date and time when the video was published. |
#### JSON Example [#json-example]
```json
{
"label" : "New Video",
"name" : "newVideo",
"parameters" : {
"identifier" : ""
},
"type" : "youTube/v1/newVideo"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Video Category ID [#how-to-find-video-category-id]
You can only find Video Category ID by using Google YouTube Data API endpoint: `GET https://www.googleapis.com/youtube/v3/videoCategories`.
## Troubleshooting [#troubleshooting]
### Access Blocked: Verification Process Not Completed [#access-blocked-verification-process-not-completed]
Documentation for how to add a test user can be found [here](/reference/components/google-application-setup_v1#access-blocked-verification-process-not-completed)
# ByteChef Reference: Zendesk
URL: /reference/components/zendesk_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/zendesk_v1.mdx
Zendesk is a customer service and sales platform that helps businesses manage customer interactions across various channels.
Categories: Surveys and Feedback
Type: zendesk/v1
## Connections [#connections]
Version: 1
### basic\_auth [#basic_auth]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------: | :-------: | :----: | :------------------------------------------------------------------------------------------------------: | :------: |
| api\_token | API Token | STRING | API tokens are managed in the Admin Center interface at Apps and integrations > APIs > API Tokens. | true |
| email | Email | STRING | Your Zendesk account email. | true |
| subdomain | Subdomain | STRING | Subdomain of your Zendesk account (e.g. [https://SUBDOMAIN.zendesk.com](https://SUBDOMAIN.zendesk.com)). | true |
## Connection Setup [#connection-setup]
### Create API Token [#create-api-token]
1. Login to your Zendesk dashboard.
2. Click on **Support**.
3. Click on **Admin center**.
4. Click on **Apps and integrations**.
5. Click on **API configuration**.
6. Enable **Allow password access for end users** and **Allow API token access**.
7. Click on **Save**.
8. Click on **API tokens**.
9. Click on **Add API token**.
10. Enter token name.
11. Click on **Save**.
12. Click on **Copy**.
13. Click on **Save**.
14. Done 🚀
## Actions [#actions]
### Add Comment to Ticket [#add-comment-to-ticket]
Name: commentTicket
`Adds a comment to an existing ticket.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------: | :-------: | :-----: | :-----------------------------------------: | :------: |
| ticketId | Ticket ID | INTEGER | ID of the ticket that will get the comment. | true |
| comment | Comment | STRING | A ticket comment. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Comment to Ticket",
"name" : "commentTicket",
"parameters" : {
"ticketId" : 1,
"comment" : ""
},
"type" : "zendesk/v1/commentTicket"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :----------------------: | :---------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | API URL of the ticket resource. |
| id | INTEGER | Ticket ID. |
| external\_id | INTEGER | External ID of the ticket. |
| via | OBJECT Properties \{STRING(channel), \{\{}(from), \{}(to), \{}(rel)}(source)} | Information for how the ticket was created. |
| created\_at | STRING | Timestamp when the ticket was created. |
| updated\_at | STRING | Timestamp of the last update to the ticket. |
| generated\_timestamp | INTEGER | UNIX timestamp when the ticket was generated. |
| type | STRING | Type of the ticket. |
| subject | STRING | Subject line of the ticket. |
| raw\_subject | STRING | Unprocessed subject line of the ticket. |
| description | STRING | Detailed description of the ticket issue. |
| priority | STRING | Priority of the ticket. |
| status | STRING | Current status of the ticket. |
| recipient | STRING | Email address of the ticket recipient. |
| requester\_id | INTEGER | ID of the user who requested the ticket. |
| submitter\_id | INTEGER | ID of the user who submitted the ticket. |
| assignee\_id | INTEGER | ID of the agent assigned to the ticket. |
| organization\_id | INTEGER | ID of the organization associated with the requester. |
| group\_id | INTEGER | ID of the group associated with the ticket. |
| collaborator\_ids | ARRAY Items \[INTEGER] | List of user IDs who are collaborators on the ticket. |
| follower\_ids | ARRAY Items \[INTEGER] | List of user IDs following the ticket. |
| email\_cc\_ids | ARRAY Items \[] | List of ticket CCs user IDs. |
| forum\_topic\_ids | ARRAY Items \[] | List of forum ID topics. |
| problem\_id | INTEGER | ID of the problem the ticket is linked to. |
| has\_incidents | BOOLEAN Options true , false | Whether the ticket has related incidents. |
| is\_public | BOOLEAN Options true , false | Whether the ticket is public. |
| due\_at | STRING | Due date for the ticket, if any. |
| tags | ARRAY Items \[STRING] | List of tags associated with the ticket. |
| custom\_fields | ARRAY Items \[\{INTEGER(id), STRING(value)}] | Custom field values associated with the ticket. |
| satisfaction\_rating | OBJECT Properties \{STRING(comment), INTEGER(id), STRING(score)} | Customer satisfaction rating for the ticket. |
| sharing\_agreement\_ids | ARRAY Items \[INTEGER(\$id)] | List of sharing agreement IDs for the ticket. |
| custom\_status\_id | INTEGER | Custom status ID for the ticket. |
| encoded\_id | STRING | Encoded ticket ID. |
| fields | ARRAY Items \[\{INTEGER(id), STRING(value)}(\$item)] | Ticket fields. |
| followup\_ids | ARRAY Items \[] | Array of follow up IDs. |
| ticket\_form\_id | INTEGER | Ticket form ID. |
| brand\_id | INTEGER | Brand ID. |
| allow\_channelback | BOOLEAN Options true , false | Whether channelback is allowed for the ticket. |
| allow\_attachments | BOOLEAN Options true , false | Whether attachments are allowed for the ticket. |
| from\_messaging\_channel | BOOLEAN Options true , false | Indicates if the ticket originated from a messaging channel. |
#### Output Example [#output-example]
```json
{
"url" : "",
"id" : 1,
"external_id" : 1,
"via" : {
"channel" : "",
"source" : {
"from" : { },
"to" : { },
"rel" : { }
}
},
"created_at" : "",
"updated_at" : "",
"generated_timestamp" : 1,
"type" : "",
"subject" : "",
"raw_subject" : "",
"description" : "",
"priority" : "",
"status" : "",
"recipient" : "",
"requester_id" : 1,
"submitter_id" : 1,
"assignee_id" : 1,
"organization_id" : 1,
"group_id" : 1,
"collaborator_ids" : [ 1 ],
"follower_ids" : [ 1 ],
"email_cc_ids" : [ ],
"forum_topic_ids" : [ ],
"problem_id" : 1,
"has_incidents" : false,
"is_public" : false,
"due_at" : "",
"tags" : [ "" ],
"custom_fields" : [ {
"id" : 1,
"value" : ""
} ],
"satisfaction_rating" : {
"comment" : "",
"id" : 1,
"score" : ""
},
"sharing_agreement_ids" : [ 1 ],
"custom_status_id" : 1,
"encoded_id" : "",
"fields" : [ {
"id" : 1,
"value" : ""
} ],
"followup_ids" : [ ],
"ticket_form_id" : 1,
"brand_id" : 1,
"allow_channelback" : false,
"allow_attachments" : false,
"from_messaging_channel" : false
}
```
#### Finding Your Ticket ID [#finding-your-ticket-id]
1. Open the ticket in Zendesk
2. Look at the URL in your browser's address bar.
3. The ticket ID is the number that appears at the end of the URL, after `/tickets/`.
**Example:**
```
https://bytechefsupport.zendesk.com/agent/tickets/4
```
In this example, the ticket ID is **4**.
### Create Organization [#create-organization]
Name: createOrganization
`Creates an organization.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :-----------------------------------------------------------------------------: | :---------------------------------------------------------: | :------: |
| name | Name | STRING | Name of the organization. | true |
| details | Details | STRING | Any details about the organization, such as the address. | false |
| domain\_names | Domain Names | ARRAY Items \[STRING(\$domain\_name)] | An array of domain names associated with this organization. | true |
| notes | Notes | STRING | Any notes you have about the organization. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Organization",
"name" : "createOrganization",
"parameters" : {
"name" : "",
"details" : "",
"domain_names" : [ "" ],
"notes" : ""
},
"type" : "zendesk/v1/createOrganization"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :------------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------: |
| url | STRING | URL of the created organization. |
| id | STRING | Organization ID. |
| name | STRING | Organization name. |
| shared\_tickets | BOOLEAN Options true , false | Whether the organization can share tickets. |
| shared\_comments | BOOLEAN Options true , false | Whether the organization can share comments. |
| external\_id | INTEGER | External ID of the organization. |
| created\_at | STRING | Date when the organization was created. |
| updated\_at | STRING | Date when the organization was last updated. |
| domain\_names | ARRAY Items \[STRING] | Array of domain names of the organization. |
| detail | STRING | Details about the organization. |
| notes | STRING | Notes about the organization. |
| group\_id | INTEGER | Group ID of the organization. |
| tags | ARRAY Items \[STRING] | Tags of the organization. |
| organization\_fields | OBJECT Properties \{} | Custom organization fields of the organization. |
#### Output Example [#output-example-1]
```json
{
"url" : "",
"id" : "",
"name" : "",
"shared_tickets" : false,
"shared_comments" : false,
"external_id" : 1,
"created_at" : "",
"updated_at" : "",
"domain_names" : [ "" ],
"detail" : "",
"notes" : "",
"group_id" : 1,
"tags" : [ "" ],
"organization_fields" : { }
}
```
### Create Ticket [#create-ticket]
Name: createTicket
`Creates a ticket.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :------: | :------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------: | :------: |
| subject | Subject | STRING | Subject of the ticket. | false |
| type | Type | STRING Options problem , incident , question , task | Type of the ticket. | false |
| comment | Comment | STRING | Comment of the ticket. | true |
| priority | Priority | STRING Options low , normal , high , urgent | Priority of the ticket. | false |
| status | Status | STRING Options new , open , pending , hold , solved , closed | Status of the ticket. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Ticket",
"name" : "createTicket",
"parameters" : {
"subject" : "",
"type" : "",
"comment" : "",
"priority" : "",
"status" : ""
},
"type" : "zendesk/v1/createTicket"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :----------------------: | :---------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------: |
| url | STRING | API URL of the ticket resource. |
| id | INTEGER | Ticket ID. |
| external\_id | INTEGER | External ID of the ticket. |
| via | OBJECT Properties \{STRING(channel), \{\{}(from), \{}(to), \{}(rel)}(source)} | Information for how the ticket was created. |
| created\_at | STRING | Timestamp when the ticket was created. |
| updated\_at | STRING | Timestamp of the last update to the ticket. |
| generated\_timestamp | INTEGER | UNIX timestamp when the ticket was generated. |
| type | STRING | Type of the ticket. |
| subject | STRING | Subject line of the ticket. |
| raw\_subject | STRING | Unprocessed subject line of the ticket. |
| description | STRING | Detailed description of the ticket issue. |
| priority | STRING | Priority of the ticket. |
| status | STRING | Current status of the ticket. |
| recipient | STRING | Email address of the ticket recipient. |
| requester\_id | INTEGER | ID of the user who requested the ticket. |
| submitter\_id | INTEGER | ID of the user who submitted the ticket. |
| assignee\_id | INTEGER | ID of the agent assigned to the ticket. |
| organization\_id | INTEGER | ID of the organization associated with the requester. |
| group\_id | INTEGER | ID of the group associated with the ticket. |
| collaborator\_ids | ARRAY Items \[INTEGER] | List of user IDs who are collaborators on the ticket. |
| follower\_ids | ARRAY Items \[INTEGER] | List of user IDs following the ticket. |
| email\_cc\_ids | ARRAY Items \[] | List of ticket CCs user IDs. |
| forum\_topic\_ids | ARRAY Items \[] | List of forum ID topics. |
| problem\_id | INTEGER | ID of the problem the ticket is linked to. |
| has\_incidents | BOOLEAN Options true , false | Whether the ticket has related incidents. |
| is\_public | BOOLEAN Options true , false | Whether the ticket is public. |
| due\_at | STRING | Due date for the ticket, if any. |
| tags | ARRAY Items \[STRING] | List of tags associated with the ticket. |
| custom\_fields | ARRAY Items \[\{INTEGER(id), STRING(value)}] | Custom field values associated with the ticket. |
| satisfaction\_rating | OBJECT Properties \{STRING(comment), INTEGER(id), STRING(score)} | Customer satisfaction rating for the ticket. |
| sharing\_agreement\_ids | ARRAY Items \[INTEGER(\$id)] | List of sharing agreement IDs for the ticket. |
| custom\_status\_id | INTEGER | Custom status ID for the ticket. |
| encoded\_id | STRING | Encoded ticket ID. |
| fields | ARRAY Items \[\{INTEGER(id), STRING(value)}(\$item)] | Ticket fields. |
| followup\_ids | ARRAY Items \[] | Array of follow up IDs. |
| ticket\_form\_id | INTEGER | Ticket form ID. |
| brand\_id | INTEGER | Brand ID. |
| allow\_channelback | BOOLEAN Options true , false | Whether channelback is allowed for the ticket. |
| allow\_attachments | BOOLEAN Options true , false | Whether attachments are allowed for the ticket. |
| from\_messaging\_channel | BOOLEAN Options true , false | Indicates if the ticket originated from a messaging channel. |
#### Output Example [#output-example-2]
```json
{
"url" : "",
"id" : 1,
"external_id" : 1,
"via" : {
"channel" : "",
"source" : {
"from" : { },
"to" : { },
"rel" : { }
}
},
"created_at" : "",
"updated_at" : "",
"generated_timestamp" : 1,
"type" : "",
"subject" : "",
"raw_subject" : "",
"description" : "",
"priority" : "",
"status" : "",
"recipient" : "",
"requester_id" : 1,
"submitter_id" : 1,
"assignee_id" : 1,
"organization_id" : 1,
"group_id" : 1,
"collaborator_ids" : [ 1 ],
"follower_ids" : [ 1 ],
"email_cc_ids" : [ ],
"forum_topic_ids" : [ ],
"problem_id" : 1,
"has_incidents" : false,
"is_public" : false,
"due_at" : "",
"tags" : [ "" ],
"custom_fields" : [ {
"id" : 1,
"value" : ""
} ],
"satisfaction_rating" : {
"comment" : "",
"id" : 1,
"score" : ""
},
"sharing_agreement_ids" : [ 1 ],
"custom_status_id" : 1,
"encoded_id" : "",
"fields" : [ {
"id" : 1,
"value" : ""
} ],
"followup_ids" : [ ],
"ticket_form_id" : 1,
"brand_id" : 1,
"allow_channelback" : false,
"allow_attachments" : false,
"from_messaging_channel" : false
}
```
### Create User [#create-user]
Name: createUser
`Creates a user.`
#### Properties [#properties-7]
| Name | Label | Type | Description | Required |
| :-----------------: | :---------------: | :--------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------: | :------: |
| name | Name | STRING | The name of the user. | true |
| email | Email | STRING | The email address of the user. | true |
| role | Role | STRING Options admin , agent , end-user | The role that will be assigned to new user. | false |
| skip\_verify\_email | Skip Verify Email | BOOLEAN Options true , false | Whether a verification mail will be sent to the new user. | false |
#### Example JSON Structure [#example-json-structure-3]
```json
{
"label" : "Create User",
"name" : "createUser",
"parameters" : {
"name" : "",
"email" : "",
"role" : "",
"skip_verify_email" : false
},
"type" : "zendesk/v1/createUser"
}
```
#### Output [#output-3]
Type: OBJECT
#### Properties [#properties-8]
| Name | Type | Description |
| :------------------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| id | INTEGER | Automatically assigned when the user is created |
| url | STRING | The user's API url |
| name | STRING | The user's name |
| email | STRING | The user's primary email address. \*Writeable on create only. On update, a secondary email is added. See Email Address |
| created\_at | STRING | The time the user was created |
| updated\_at | STRING | The time the user was last updated |
| time\_zone | STRING | The user's time zone. See Time Zone |
| iana\_time\_zone | STRING | The time zone for the user |
| phone | STRING | The user's primary phone number. See Phone Number below |
| shared\_phone\_number | BOOLEAN Options true , false | Whether the phone number is shared or not. See Phone Number below |
| photo | OBJECT Properties \{} | The user's profile picture represented as an Attachment object |
| locale\_id | INTEGER | The user's language identifier |
| locale | STRING | The user's locale. A BCP-47 compliant tag for the locale. If both "locale" and "locale\_id" are present on create or update, "locale\_id" is ignored and only "locale" is used. |
| organization\_id | INTEGER | The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization. If updating, see Organization ID |
| role | STRING | The user's role. Possible values are "end-user", "agent", or "admin" |
| verified | BOOLEAN Options true , false | Any of the user's identities is verified. See User Identities |
| last\_active | STRING | Last time the user was active. |
| external\_id | STRING | A unique identifier from another system. The API treats the id as case insensitive. Example: "ian1" and "IAN1" are the same value. |
| tags | ARRAY Items \[STRING] | The user's tags. Only present if your account has user tagging enabled |
| alias | STRING | An alias displayed to end users |
| active | BOOLEAN Options true , false | false if the user has been deleted |
| shared | BOOLEAN Options true , false | If the user is shared from a different Zendesk Support instance. Shared users can be added to organizations but cannot be modified through update requests. Any attempt to update a shared user results in a 403 Forbidden error. Ticket sharing accounts only |
| shared\_agent | BOOLEAN Options true , false | If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only |
| last\_login\_at | STRING | Last time the user signed in to Zendesk Support or made an API request using an API token |
| two\_factor\_auth\_enabled | BOOLEAN Options true , false | If two factor authentication is enabled |
| signature | STRING | The user's signature. Only agents and admins can have signatures |
| details | STRING | Any details you want to store about the user, such as an address |
| notes | STRING | Any notes you want to store about the user |
| role\_type | INTEGER | The user's role id. 0 for a custom agent, 1 for a light agent, 2 for a chat agent, 3 for a chat agent added to the Support account as a contributor (Chat Phase 4), 4 for an admin, and 5 for a billing admin |
| custom\_role\_id | INTEGER | A custom role if the user is an agent on the Enterprise plan or above |
| is\_billing\_admin | BOOLEAN Options true , false | Whether the user is a billing admin. |
| moderator | BOOLEAN Options true , false | Designates whether the user has forum moderation capabilities |
| ticket\_restriction | STRING | Specifies which tickets the user has access to. Possible values are: "organization", "groups", "assigned", "requested", null. "groups" and "assigned" are valid only for agents. If you pass an invalid value to an end user (for example, "groups"), they will be assigned to "requested", regardless of their previous access |
| only\_private\_comments | BOOLEAN Options true , false | true if the user can only create private comments |
| restricted\_agent | BOOLEAN Options true , false | If the agent has any restrictions; false for admins and unrestricted agents, true for other agents |
| suspended | BOOLEAN Options true , false | If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal |
| default\_group\_id | INTEGER | The id of the user's default group |
| report\_csv | BOOLEAN Options true , false | This parameter is inert and has no effect. It may be deprecated in the future. Previously, this parameter determined whether a user could access a CSV report in a legacy Guide dashboard. This dashboard has been removed. See Announcing Guide legacy reporting upgrade to Explore |
| user\_fields | OBJECT Properties \{} | Values of custom fields in the user's profile. See User Fields |
| suspension\_details | OBJECT Properties \{} | Channel-level suspension state for the user. The value is null if the user has no active channel-level suspension |
#### Output Example [#output-example-3]
```json
{
"id" : 1,
"url" : "",
"name" : "",
"email" : "",
"created_at" : "",
"updated_at" : "",
"time_zone" : "",
"iana_time_zone" : "",
"phone" : "",
"shared_phone_number" : false,
"photo" : { },
"locale_id" : 1,
"locale" : "",
"organization_id" : 1,
"role" : "",
"verified" : false,
"last_active" : "",
"external_id" : "",
"tags" : [ "" ],
"alias" : "",
"active" : false,
"shared" : false,
"shared_agent" : false,
"last_login_at" : "",
"two_factor_auth_enabled" : false,
"signature" : "",
"details" : "",
"notes" : "",
"role_type" : 1,
"custom_role_id" : 1,
"is_billing_admin" : false,
"moderator" : false,
"ticket_restriction" : "",
"only_private_comments" : false,
"restricted_agent" : false,
"suspended" : false,
"default_group_id" : 1,
"report_csv" : false,
"user_fields" : { },
"suspension_details" : { }
}
```
## Triggers [#triggers]
### New Ticket [#new-ticket]
Name: newTicket
`Triggers when a new ticket is submitted.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-9]
| Name | Label | Type | Description | Required |
| :--: | :----------: | :----: | :------------------: | :------: |
| name | Webhook Name | STRING | Name of the webhook. | true |
#### Output [#output-4]
Type: OBJECT
#### Properties [#properties-10]
| Name | Type | Description |
| :--------------: | :---------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: |
| actor\_id | STRING | ID of the actor that triggered the webhook. |
| assignee\_id | STRING | ID of the agent assigned to the ticket. |
| brand\_id | STRING | Brand ID. |
| created\_at | STRING | Timestamp when the ticket was created. |
| custom\_status | INTEGER | Custom status of the ticket. |
| description | STRING | Detailed description of the ticket issue. |
| external\_id | STRING | External ID of the ticket. |
| form\_id | STRING | Form ID. |
| group\_id | STRING | ID of the group associated with the ticket. |
| id | STRING | Ticket ID. |
| is\_public | BOOLEAN Options true , false | Whether the ticket is public. |
| organization\_id | STRING | ID of the organization associated with the requester. |
| priority | STRING | Priority of the ticket. |
| requester\_id | STRING | ID of the user who requested the ticket. |
| status | STRING | Current status of the ticket. |
| subject | STRING | Subject line of the ticket. |
| submitter\_id | STRING | ID of the user who submitted the ticket. |
| tags | ARRAY Items \[STRING] | List of tags associated with the ticket. |
| type | STRING | Type of the ticket. |
| updated\_at | STRING | Timestamp of the last update to the ticket. |
| via | OBJECT Properties \{STRING(channel), \{\{}(from), \{}(to), \{}(rel)}(source)} | Information for how the ticket was created. |
#### JSON Example [#json-example]
```json
{
"label" : "New Ticket",
"name" : "newTicket",
"parameters" : {
"name" : ""
},
"type" : "zendesk/v1/newTicket"
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: ZenRows
URL: /reference/components/zenrows_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/zenrows_v1.mdx
ZenRows is a web scraping service with an advanced toolkit and APIs that simplify data extraction from bot-protected websites.
Categories: Analytics
Type: zenrows/v1
## Connections [#connections]
Version: 1
### api\_key [#api_key]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :-----: | :----: | :------------------------------------------: | :------: |
| value | API Key | STRING | API key can be found in Settings -> API Key. | true |
## Connection Setup [#connection-setup]
### Find API Key [#find-api-key]
1. Navigate to your dashboard.
2. Click on **Settings**.
3. Here you can see your API key.
## Actions [#actions]
### Scrape URL [#scrape-url]
Name: scrapeUrl
`Extracts HTML data from a given URL.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :------: |
| url | URL | STRING | URL of the site that will be scraped. | true |
| original\_status | Original Status | BOOLEAN Options true , false | Return the original HTTP status code from the target page. Useful for debugging in case of errors. | false |
| js\_render | JS Render | BOOLEAN Options true , false | Enable JavaScript rendering with a headless browser. Essential for modern web apps, SPAs, and sites with dynamic content. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Scrape URL",
"name" : "scrapeUrl",
"parameters" : {
"url" : "",
"original_status" : false,
"js_render" : false
},
"type" : "zenrows/v1/scrapeUrl"
}
```
#### Output [#output]
Type: STRING
### Scrape URL Autoparse [#scrape-url-autoparse]
Name: scrapeUrlAutoparse
`Get a JSON with the page's data. For most popular websites only.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :---------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :------: |
| url | URL | STRING | URL of the site that will be scraped. | true |
| original\_status | Original Status | BOOLEAN Options true , false | Return the original HTTP status code from the target page. Useful for debugging in case of errors. | false |
| js\_render | JS Render | BOOLEAN Options true , false | Enable JavaScript rendering with a headless browser. Essential for modern web apps, SPAs, and sites with dynamic content. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Scrape URL Autoparse",
"name" : "scrapeUrlAutoparse",
"parameters" : {
"url" : "",
"original_status" : false,
"js_render" : false
},
"type" : "zenrows/v1/scrapeUrlAutoparse"
}
```
#### Output [#output-1]
Type: STRING
### Scrape URL With CSS Selectors [#scrape-url-with-css-selectors]
Name: scrapeUrlWithCssSelectors
`Extracts specific data from a given URL.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :------------: | :-----------: | :------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------: | :------: |
| url | URL | STRING | URL of the site that will be scraped. | true |
| css\_extractor | CSS Extractor | ARRAY Items \[\{STRING(key), STRING(value)}] | Key-value pairs that will be scraped, where key is arbitrary parameter name and value is CSS element that you want to scrape. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Scrape URL With CSS Selectors",
"name" : "scrapeUrlWithCssSelectors",
"parameters" : {
"url" : "",
"css_extractor" : [ {
"key" : "",
"value" : ""
} ]
},
"type" : "zenrows/v1/scrapeUrlWithCssSelectors"
}
```
#### Output [#output-2]
Type: STRING
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: Zeplin
URL: /reference/components/zeplin_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/zeplin_v1.mdx
Zeplin is a collaboration tool that bridges the gap between designers and developers by providing a platform to share, organize, and translate design files into development.
Categories: Communication
Type: zeplin/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
Connect Zeplin to ByteChef using OAuth 2.0 (Authorization Code).
### Create a Zeplin OAuth app [#create-a-zeplin-oauth-app]
1. Log in to the Zeplin profile page and go to the [Developer tab](https://app.zeplin.io/profile/developer).
2. Click **Create new app**.
3. Enter an app name (for example, `ByteChef Integration`).
4. Add the ByteChef OAuth redirect (callback) URL(s):
* Cloud: `https://app.bytechef.io/callback`
* Local development: `http://127.0.0.1:5173/callback`
5. Click **CREATE**.
6. Copy **Client ID** and **Client Secret**. You will use these in ByteChef when creating the Zeplin connection.
## Actions [#actions]
### Update Project [#update-project]
Name: updateProject
`Updates an existing project.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :---------: | :----: | :------------------------------: | :------: |
| project\_id | Project ID | STRING | Project to update. | true |
| name | Name | STRING | New name for the project. | true |
| description | Description | STRING | New description for the project. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Update Project",
"name" : "updateProject",
"parameters" : {
"project_id" : "",
"name" : "",
"description" : ""
},
"type" : "zeplin/v1/updateProject"
}
```
#### Output [#output]
This action does not produce any output.
#### Find Project ID [#find-project-id]
To find the Project ID, click [here](/reference/components/zeplin_v1#how-to-find-project-id).
## Triggers [#triggers]
### Project Note [#project-note]
Name: projectNote
`Triggers when new note is created, deleted or updated in specified project.`
Type: DYNAMIC\_WEBHOOK
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :----: | :------------------------------------: | :------: |
| project\_id | Project ID | STRING | ID of the project you want to monitor. | true |
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :-------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------: |
| context | OBJECT Properties \{\{STRING(id), STRING(name)}(project)} | |
| resource | OBJECT Properties \{\{STRING(id), STRING(status), \[\{STRING(id), \{STRING(id), STRING(email), STRING(username)}(author), STRING(content)}]\(comments)}(data)} | |
| action | STRING | The action that triggered the webhook. |
| event | STRING | The event that triggered the webhook. |
| timestamp | INTEGER | The timestamp of the event. |
#### JSON Example [#json-example]
```json
{
"label" : "Project Note",
"name" : "projectNote",
"parameters" : {
"project_id" : ""
},
"type" : "zeplin/v1/projectNote"
}
```
#### Find Project ID [#find-project-id-1]
To find the Project ID, click [here](/reference/components/zeplin_v1#how-to-find-project-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find Project ID [#how-to-find-project-id]
1. Open Zeplin in your web browser ([https://app.zeplin.io](https://app.zeplin.io)).
2. Navigate to your project.
3. Look at the URL in the address bar. The Project ID is the long string of characters at the end of the URL. Example: [https://app.zeplin.io/project/5ab33a7928b7751764c16aaa1](https://app.zeplin.io/project/5ab33a7928b7751764c16aaa1). The ID is 5ab33a7928b7751764c16aaa1.
# ByteChef Reference: Zoho Application Setup
URL: /reference/components/zoho-application-setup_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/zoho-application-setup_v1.mdx
Steps for setting up Zoho API console for every Zoho component.
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
1. Open the Zoho API Console: [https://accounts.zoho.com/signin](https://accounts.zoho.com/signin)
2. Create or sign in to your account.
3. Click on **GET STARTED**.
4. Choose Server-based Applications and click **CREATE NOW**.
5. Enter the required details, then click **CREATE**:
* Client Name: e.g., "ByteChef Integration"
* Homepage URL: e.g., "[https://www.bytechef.io/](https://www.bytechef.io/)"
* Authorized Redirect URIs: e.g.,
* `https://app.bytechef.io/callback` (Cloud)
* `http://localhost:5173/callback` (Local dev)
6. Copy Client ID and Client Secret and use it in Bytechef.
# ByteChef Reference: Zoho Books
URL: /reference/components/zoho-books_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/zoho-books_v1.mdx
Zoho Books is cloud-based accounting software for managing your accounting tasks and organizing your transactions.
Categories: Accounting
Type: zohoBooks/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| region | Region | STRING Options zoho.eu , zoho.com , zoho.com.au , zoho.jp , zoho.in , zohocloud.ca | | true |
| organization\_id | Organization Id | STRING | | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/zoho-application-setup_v1#create-oauth-20-application).
### Create organization ID [#create-organization-id]
1. Login to your account at [https://www.zoho.com/books/](https://www.zoho.com/books/).
2. Fill in the required fields:
* **Organization Name**: Enter a name for your organization (e.g., `bytechef`).
* **Organization Location**: Choose a location for your organization.
3. Set up your organization profile and click **Get Started**.
4. Click on your organization and copy Organization ID.
5. In Bytechef, choose your region based on Zoho Books domain you are using.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Create a new contact.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-----------------: | :---------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------: | :------: |
| contact\_name | Contact Name | STRING | Display name of the contact. | true |
| company\_name | Company Name | STRING | Company name of the contact. | false |
| website | Website | STRING | Website of the contact. | false |
| contact\_type | Contact Type | STRING Options customer , vendor | Contact type of the contact. | true |
| customer\_sub\_type | Customer Sub Type | STRING Options business , individual | Type of the customer. | true |
| currency\_id | Currency ID | STRING | Currency ID of the customer's currency. | false |
| billing\_address | Billing Address | OBJECT Properties \{STRING(attention), STRING(address), STRING(street2), STRING(state\_code), STRING(city), STRING(state), STRING(zip), STRING(country), STRING(fax), STRING(phone)} | Billing address of the contact. | false |
| shipping\_address | Shipping Address | OBJECT Properties \{STRING(attention), STRING(address), STRING(street2), STRING(state\_code), STRING(city), STRING(state), STRING(zip), STRING(country), STRING(fax), STRING(phone)} | Shipping address of the contact. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"contact_name" : "",
"company_name" : "",
"website" : "",
"contact_type" : "",
"customer_sub_type" : "",
"currency_id" : "",
"billing_address" : {
"attention" : "",
"address" : "",
"street2" : "",
"state_code" : "",
"city" : "",
"state" : "",
"zip" : "",
"country" : "",
"fax" : "",
"phone" : ""
},
"shipping_address" : {
"attention" : "",
"address" : "",
"street2" : "",
"state_code" : "",
"city" : "",
"state" : "",
"zip" : "",
"country" : "",
"fax" : "",
"phone" : ""
}
},
"type" : "zohoBooks/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :-------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: |
| code | NUMBER | Zoho Books error code. This will be zero for a success response and non-zero in case of an error. |
| message | STRING | Message for the invoked API. |
| contact | OBJECT Properties \{} | Created contact. |
#### Output Example [#output-example]
```json
{
"code" : 0.0,
"message" : "",
"contact" : { }
}
```
#### Find Currency ID [#find-currency-id]
To find the Currency ID, click [here](/reference/components/zoho-books_v1#how-to-find-the-currency-id).
### Create Invoice [#create-invoice]
Name: createInvoice
`Create an invoice for your customer.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------------------------: | :-----------------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: | :------: |
| customer\_id | Customer ID | STRING | ID of the customer the invoice has to be created. | true |
| use\_custom\_invoice\_number | Use Custom Invoice Number | BOOLEAN Options true , false | If true, create custom invoice number, if false, use auto invoice number generation. | true |
| invoice\_number | Invoice Number | STRING | Number of invoice. | true |
| line\_items | Line Items | ARRAY Items \[\{STRING(item\_id), NUMBER(quantity)}] | Items in invoice. | true |
| currency\_id | Currency ID | STRING | Currency ID of the customer's currency. | false |
| date | Invoice Date | DATE | The date of the invoice. | false |
| payment\_terms | Payment Terms | INTEGER | Payment terms in days e.g. 15, 30, 60. Invoice due date will be calculated based on this. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Invoice",
"name" : "createInvoice",
"parameters" : {
"customer_id" : "",
"use_custom_invoice_number" : false,
"invoice_number" : "",
"line_items" : [ {
"item_id" : "",
"quantity" : 0.0
} ],
"currency_id" : "",
"date" : "2021-01-01",
"payment_terms" : 1
},
"type" : "zohoBooks/v1/createInvoice"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :-------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: |
| code | NUMBER | Zoho Books error code. This will be zero for a success response and non-zero in case of an error. |
| message | STRING | Message for the invoked API. |
| invoice | OBJECT Properties \{} | Created invoice. |
#### Output Example [#output-example-1]
```json
{
"code" : 0.0,
"message" : "",
"invoice" : { }
}
```
#### Find Customer ID [#find-customer-id]
To find the Customer ID, click [here](/reference/components/zoho-books_v1#how-to-find-the-customer-id).
#### Find Item ID [#find-item-id]
To find the Item ID, click [here](/reference/components/zoho-books_v1#how-to-find-the-item-id).
#### Find Currency ID [#find-currency-id-1]
To find the Currency ID, click [here](/reference/components/zoho-books_v1#how-to-find-the-currency-id).
### Create Sales Order [#create-sales-order]
Name: createSalesOrder
`Create a sales order for your customer.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-------------------------------: | :---------------------------: | :---------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: | :------: |
| customer\_id | Customer ID | STRING | ID of the customer the invoice has to be created. | true |
| use\_custom\_sales\_order\_number | Use Custom Sales Order Number | BOOLEAN Options true , false | If true, create custom sales order number, if false, use auto sales order number generation. | true |
| salesorder\_number | Sales Order Number | STRING | Number of sales order. | true |
| line\_items | Line Items | ARRAY Items \[\{STRING(item\_id), NUMBER(quantity)}] | Items in invoice. | true |
| currency\_id | Currency ID | STRING | Currency ID of the customer's currency. | false |
| date | Sales Order Date | DATE | The date the sales order was created. | false |
| shipment\_date | Sales Order Shipment Date | DATE | Shipping date of sales order. | false |
| payment\_terms | Payment Terms | INTEGER | Payment terms in days e.g. 15, 30, 60. Invoice due date will be calculated based on this. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Sales Order",
"name" : "createSalesOrder",
"parameters" : {
"customer_id" : "",
"use_custom_sales_order_number" : false,
"salesorder_number" : "",
"line_items" : [ {
"item_id" : "",
"quantity" : 0.0
} ],
"currency_id" : "",
"date" : "2021-01-01",
"shipment_date" : "2021-01-01",
"payment_terms" : 1
},
"type" : "zohoBooks/v1/createSalesOrder"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :--------: | :-------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: |
| code | NUMBER | Zoho Books error code. This will be zero for a success response and non-zero in case of an error. |
| message | STRING | Message for the invoked API. |
| salesorder | OBJECT Properties \{} | Created sales order. |
#### Output Example [#output-example-2]
```json
{
"code" : 0.0,
"message" : "",
"salesorder" : { }
}
```
#### Find Customer ID [#find-customer-id-1]
To find the Customer ID, click [here](/reference/components/zoho-books_v1#how-to-find-the-customer-id).
#### Find Item ID [#find-item-id-1]
To find the Item ID, click [here](/reference/components/zoho-books_v1#how-to-find-the-item-id).
#### Find Currency ID [#find-currency-id-2]
To find the Currency ID, click [here](/reference/components/zoho-books_v1#how-to-find-the-currency-id).
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Currency ID [#how-to-find-the-currency-id]
* **Method 1: Via API**
Use the `GET /settings/currencies` endpoint to retrieve a list of all currencies and their IDs.
### How to find the Customer ID [#how-to-find-the-customer-id]
* **Method 1: Via API**
Use the `GET /contacts` endpoint to retrieve a list of all customers and their IDs.
* **Method 2: Via UI**
Open your Zoho Books dashboard, then navigate to Sales -> Customers from the left-hand menu. Select the desired customer, scroll down to the Record Info section and you’ll find the Customer ID listed there.
### How to find the Item ID [#how-to-find-the-item-id]
* **Method 1: Via API**
Use the `GET /items` endpoint to retrieve a list of all items and their IDs.
# ByteChef Reference: Zoho CRM
URL: /reference/components/zoho-crm_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/zoho-crm_v1.mdx
Zoho CRM is a cloud-based customer relationship management platform that integrates sales, marketing, and customer support activities to streamline business processes and enhance team.
Categories: CRM
Type: zohoCrm/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| region | Region | STRING Options zoho.eu , zoho.com , zoho.com.au , zoho.jp , zoho.in , zohocloud.ca | | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/zoho-application-setup_v1#create-oauth-20-application).
1. Login to your account at [https://www.zoho.com/crm/](https://www.zoho.com/crm/).
2. In Bytechef, choose your region based on Zoho CRM domain you are using.
## Actions [#actions]
### Add User [#add-user]
Name: addUser
`Add user to your organization.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------: | :--------: | :----: | :-------------------------------------------------------------: | :------: |
| first\_name | First Name | STRING | First name of the user. | true |
| last\_name | Last Name | STRING | Last name of the user. | false |
| email | Email | STRING | User's email. An invitation will be sent to this email address. | true |
| role | Role ID | STRING | ID of the role you want to assign the user with. | true |
| profile | Profile ID | STRING | ID of the profile you want to assign the user with. | true |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add User",
"name" : "addUser",
"parameters" : {
"first_name" : "",
"last_name" : "",
"email" : "",
"role" : "",
"profile" : ""
},
"type" : "zohoCrm/v1/addUser"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :---: | :-------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| users | ARRAY Items \[\{STRING(code), \{STRING(id)}(details), STRING(message), STRING(status)}] | |
#### Output Example [#output-example]
```json
{
"users" : [ {
"code" : "",
"details" : {
"id" : ""
},
"message" : "",
"status" : ""
} ]
}
```
#### Find Role ID [#find-role-id]
To find the Role ID, click [here](/reference/components/zoho-crm_v1#how-to-find-the-role-id).
#### Find Profile ID [#find-profile-id]
To find the Profile ID, click [here](/reference/components/zoho-crm_v1#how-to-find-the-profile-id).
### Get Organization [#get-organization]
Name: getOrganization
`Gets information about the current organization.`
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Get Organization",
"name" : "getOrganization",
"type" : "zohoCrm/v1/getOrganization"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-3]
| Name | Type | Description |
| :--: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| org | ARRAY Items \[\{STRING(country), STRING(city), STRING(street), STRING(zip), STRING(photo\_id), STRING(description), STRING(alias), STRING(created\_time), STRING(type), STRING(currency), STRING(id), STRING(phone), STRING(company\_name), STRING(primary\_email), STRING(website)}] | |
#### Output Example [#output-example-1]
```json
{
"org" : [ {
"country" : "",
"city" : "",
"street" : "",
"zip" : "",
"photo_id" : "",
"description" : "",
"alias" : "",
"created_time" : "",
"type" : "",
"currency" : "",
"id" : "",
"phone" : "",
"company_name" : "",
"primary_email" : "",
"website" : ""
} ]
}
```
### List Users [#list-users]
Name: listUsers
`Lists users found in Zoho account.`
#### Properties [#properties-4]
| Name | Label | Type | Description | Required |
| :--: | :---: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------: | :------: |
| type | Type | STRING Options AllUsers , ActiveUsers , DeactiveUsers , ConfirmedUsers , NotConfirmedUsers , DeletedUsers , ActiveConfirmedUsers , AdminUsers , ActiveConfirmedAdmins , CurrentUser | What type of user to return in list. | true |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "List Users",
"name" : "listUsers",
"parameters" : {
"type" : ""
},
"type" : "zohoCrm/v1/listUsers"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-5]
| Name | Type | Description |
| :---: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: |
| users | ARRAY Items \[\{STRING(country), STRING(language), STRING(id), \{STRING(name), STRING(id)}(profile), \{STRING(name), STRING(id)}(created\_by), STRING(full\_name), STRING(status), \{STRING(name), STRING(id)}(role), STRING(first\_name), STRING(email)}] | |
#### Output Example [#output-example-2]
```json
{
"users" : [ {
"country" : "",
"language" : "",
"id" : "",
"profile" : {
"name" : "",
"id" : ""
},
"created_by" : {
"name" : "",
"id" : ""
},
"full_name" : "",
"status" : "",
"role" : {
"name" : "",
"id" : ""
},
"first_name" : "",
"email" : ""
} ]
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Role ID [#how-to-find-the-role-id]
* **Method 1: Via API**
Use the `GET /settings/roles` endpoint to retrieve a list of all roles and their IDs.
The Role ID can also be found in the output of the following actions:
* **List Users**
### How to find the Profile ID [#how-to-find-the-profile-id]
* **Method 1: Via API**
Use the `GET /settings/profiles` endpoint to retrieve a list of all profiles and their IDs.
The Profile ID can also be found in the output of the following actions:
* **List Users**
# ByteChef Reference: Zoho Invoice
URL: /reference/components/zoho-invoice_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/zoho-invoice_v1.mdx
Zoho Invoice is an online invoicing software used to create, send, and manage professional invoices, along with tracking payments and automating billing workflows.
Categories: Accounting
Type: zohoInvoice/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :--------------: | :-------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------: | :------: |
| region | Region | STRING Options zoho.eu , zoho.com , zoho.com.au , zoho.jp , zoho.in , zohocloud.ca | | true |
| organization\_id | Organization Id | STRING | | true |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Create OAuth 2.0 Application [#create-oauth-20-application]
Creation of OAuth 2.0 application is documented [here](/reference/components/zoho-application-setup_v1#create-oauth-20-application).
### Create organization ID [#create-organization-id]
1. Login to your account at [https://www.zoho.com/invoice/](https://www.zoho.com/invoice/).
2. Fill in the required fields and click **Get Started**.
3. Click on your organization and copy Organization ID.
4. In Bytechef, choose your region based on Zoho Invoice domain you are using.
## Actions [#actions]
### Create Contact [#create-contact]
Name: createContact
`Create a new contact.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :---------------: | :--------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------: | :------: |
| contact\_name | Contact Name | STRING | Name of the contact. | true |
| company\_name | Company Name | STRING | Name of the contact's company. | false |
| website | Website | STRING | Website of the contact. | false |
| currency\_id | Currency ID | STRING | Currency ID of the customer's currency. | false |
| billing\_address | Billing Address | OBJECT Properties \{STRING(attention), STRING(address), STRING(street2), STRING(state\_code), STRING(city), STRING(state), STRING(zip), STRING(country), STRING(fax), STRING(phone)} | Billing address of the contact. | false |
| shipping\_address | Shipping Address | OBJECT Properties \{STRING(attention), STRING(address), STRING(street2), STRING(state\_code), STRING(city), STRING(state), STRING(zip), STRING(country), STRING(fax), STRING(phone)} | Customer's shipping address to which the goods must be delivered. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Create Contact",
"name" : "createContact",
"parameters" : {
"contact_name" : "",
"company_name" : "",
"website" : "",
"currency_id" : "",
"billing_address" : {
"attention" : "",
"address" : "",
"street2" : "",
"state_code" : "",
"city" : "",
"state" : "",
"zip" : "",
"country" : "",
"fax" : "",
"phone" : ""
},
"shipping_address" : {
"attention" : "",
"address" : "",
"street2" : "",
"state_code" : "",
"city" : "",
"state" : "",
"zip" : "",
"country" : "",
"fax" : "",
"phone" : ""
}
},
"type" : "zohoInvoice/v1/createContact"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :-----: | :-------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: |
| code | NUMBER | Zoho Invoice error code. This will be zero for a success response and non-zero in case of an error. |
| message | STRING | Message for the invoked API. |
| contact | OBJECT Properties \{} | Created contact. |
#### Output Example [#output-example]
```json
{
"code" : 0.0,
"message" : "",
"contact" : { }
}
```
#### Find Currency ID [#find-currency-id]
To find the Currency ID, click [here](/reference/components/zoho-invoice_v1#how-to-find-the-currency-id).
### Create Invoice [#create-invoice]
Name: createInvoice
`Create an invoice for your customer.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :--------------------------: | :-----------------------: | :---------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------: | :------: |
| customer\_id | Customer ID | STRING | ID of the customer the invoice has to be created. | true |
| use\_custom\_invoice\_number | Use Custom Invoice Number | BOOLEAN Options true , false | If true, create custom invoice number, if false, use auto invoice number generation. | true |
| invoice\_number | Invoice Number | STRING | Number of invoice. | true |
| line\_items | Line Items | ARRAY Items \[\{STRING(item\_id), NUMBER(quantity)}] | Items in invoice. | true |
| date | Invoice Date | DATE | The date of the invoice. | false |
| payment\_terms | Payment Terms | INTEGER | Payment terms in days e.g. 15, 30, 60. Invoice due date will be calculated based on this. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Invoice",
"name" : "createInvoice",
"parameters" : {
"customer_id" : "",
"use_custom_invoice_number" : false,
"invoice_number" : "",
"line_items" : [ {
"item_id" : "",
"quantity" : 0.0
} ],
"date" : "2021-01-01",
"payment_terms" : 1
},
"type" : "zohoInvoice/v1/createInvoice"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----: | :-------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: |
| code | NUMBER | Zoho Invoice error code. This will be zero for a success response and non-zero in case of an error. |
| message | STRING | Message for the invoked API. |
| invoice | OBJECT Properties \{} | Created invoice. |
#### Output Example [#output-example-1]
```json
{
"code" : 0.0,
"message" : "",
"invoice" : { }
}
```
#### Find Customer ID [#find-customer-id]
To find the Customer ID, click [here](/reference/components/zoho-invoice_v1#how-to-find-the-customer-id).
#### Find Item ID [#find-item-id]
To find the Item ID, click [here](/reference/components/zoho-invoice_v1#how-to-find-the-item-id).
### Create Item [#create-item]
Name: createItem
`Create a new item.`
#### Properties [#properties-5]
| Name | Label | Type | Description | Required |
| :-----------: | :----------: | :-----------------------------------------------------------------------------------------------: | :--------------------------: | :------: |
| name | Item Name | STRING | Name of the item. | true |
| rate | Rate | NUMBER | Per unit price of an item. | true |
| product\_type | Product Type | STRING Options goods , service | Specify the type of an item. | true |
| description | Description | STRING | Description for the item. | false |
#### Example JSON Structure [#example-json-structure-2]
```json
{
"label" : "Create Item",
"name" : "createItem",
"parameters" : {
"name" : "",
"rate" : 0.0,
"product_type" : "",
"description" : ""
},
"type" : "zohoInvoice/v1/createItem"
}
```
#### Output [#output-2]
Type: OBJECT
#### Properties [#properties-6]
| Name | Type | Description |
| :-----: | :-------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------: |
| code | NUMBER | Zoho Invoice error code. This will be zero for a success response and non-zero in case of an error. |
| message | STRING | Message for the invoked API. |
| item | OBJECT Properties \{} | Created item. |
#### Output Example [#output-example-2]
```json
{
"code" : 0.0,
"message" : "",
"item" : { }
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# Additional Instructions [#additional-instructions]
### How to find the Currency ID [#how-to-find-the-currency-id]
* **Method 1: Via API**
Use the `GET /settings/currencies` endpoint to retrieve a list of all currencies and their IDs.
### How to find the Customer ID [#how-to-find-the-customer-id]
* **Method 1: Via API**
Use the `GET /contacts` endpoint to retrieve a list of all customers and their IDs.
* **Method 2: Via UI**
Open your Zoho Invoice dashboard, then navigate to Customers from the left-hand menu. Select the desired customer, scroll down to the Record Info section and you’ll find the Customer ID listed there.
### How to find the Item ID [#how-to-find-the-item-id]
* **Method 1: Via API**
Use the `GET /items` endpoint to retrieve a list of all items and their IDs.
# ByteChef Reference: Zoom
URL: /reference/components/zoom_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/zoom_v1.mdx
Zoom is a cloud-based video conferencing platform that enables virtual meetings, webinars, and collaboration through video, audio, and chat.
Categories: Communication
Type: zoom/v1
## Connections [#connections]
Version: 1
### OAuth2 Authorization Code [#oauth2-authorization-code]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :----: | :---------: | :------: |
| clientId | Client Id | STRING | | true |
| clientSecret | Client Secret | STRING | | true |
## Connection Setup [#connection-setup]
### Find OAuth Credentials and Add Required Scopes [#find-oauth-credentials-and-add-required-scopes]
1. Go to [marketplace.zoom.us](https://marketplace.zoom.us/) and log in to your account.
2. Click on Develop.
3. Click on Build app.
4. Select General App.
5. Click on Create.
6. Here you can see Client ID and Client Secret.
7. Enter a redirect URI, e.g., [http://127.0.0.1:5173/callback](http://127.0.0.1:5173/callback), [https://app.bytechef.io/callback](https://app.bytechef.io/callback). Click Create.
8. Go to **Scopes** from left sidebar and add **meeting:write:meeting** and **meeting:write:registrant** as scopes.\`,
## Actions [#actions]
### Add Meeting Registrant [#add-meeting-registrant]
Name: addMeetingRegistrant
`Create and submit a user's registration to a meeting.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :-------------------------: | :----------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------: | :------: |
| meetingId | Meeting ID | INTEGER | ID of the meeting where the registrant will be added. | true |
| first\_name | First Name | STRING | First name of the registrant. | true |
| last\_name | Last Name | STRING | Last name of the registrant. | false |
| email | Email | STRING | Email of the registrant. | true |
| address | Address | STRING | Address of the registrant. | false |
| city | City | STRING | City of the registrant. | false |
| state | State | STRING | | false |
| zip | Zip | STRING | | false |
| country | Country | STRING | Country of the registrant. | false |
| phone | Phone | STRING | Phone number of the registrant. | false |
| comments | Comments | STRING | Additional comment about the registrant. | false |
| industry | Industry | STRING | | false |
| job\_title | Job Title | STRING | | false |
| no\_of\_employees | Number of Employees | STRING Options 1-20 , 21-50 , 51-100 , 101-500 , 501-1,000 , 1,001-5,000 , 5,001-10,000 , More than 10,000 | | false |
| org | Organization | STRING | | false |
| purchasing\_time\_frame | Purchasing Time Frame | STRING Options Within a month , 1-3 months , 4-6 months , More than 6 months , No timeframe | | false |
| role\_in\_purchase\_process | Role In Purchase Process | STRING Options Decision Maker , Evaluator/Recommender , Influencer , Not involved | | false |
| language | Language | STRING | | false |
| auto\_approve | Auto Approve | BOOLEAN Options true , false | | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Add Meeting Registrant",
"name" : "addMeetingRegistrant",
"parameters" : {
"meetingId" : 1,
"first_name" : "",
"last_name" : "",
"email" : "",
"address" : "",
"city" : "",
"state" : "",
"zip" : "",
"country" : "",
"phone" : "",
"comments" : "",
"industry" : "",
"job_title" : "",
"no_of_employees" : "",
"org" : "",
"purchasing_time_frame" : "",
"role_in_purchase_process" : "",
"language" : "",
"auto_approve" : false
},
"type" : "zoom/v1/addMeetingRegistrant"
}
```
#### Output [#output]
Type: OBJECT
#### Properties [#properties-2]
| Name | Type | Description |
| :--------------------: | :----------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------: |
| id | INTEGER | ID of the meeting. |
| join\_url | STRING | Join URL for the meeting. |
| registrant\_id | STRING | ID of the user that registered for the meeting. |
| start\_time | STRING | Start time of the meeting. |
| topic | STRING | Topic of the meeting. |
| occurrences | ARRAY Items \[\{INTEGER(duration), STRING(occurrence\_id), STRING(start\_time), STRING(status)}] | |
| participant\_pin\_code | INTEGER | Pin code for participation. |
#### Output Example [#output-example]
```json
{
"id" : 1,
"join_url" : "",
"registrant_id" : "",
"start_time" : "",
"topic" : "",
"occurrences" : [ {
"duration" : 1,
"occurrence_id" : "",
"start_time" : "",
"status" : ""
} ],
"participant_pin_code" : 1
}
```
### Create Meeting [#create-meeting]
Name: createMeeting
`Creates a meeting.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :-------------: | :------------: | :--------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------: |
| topic | Topic | STRING | The meeting's topic. | true |
| duration | Duration | NUMBER | Duration of the meeting in minutes. | false |
| auto\_recording | Auto Recording | STRING Options local , cloud , none | | false |
| audio | Audio | STRING Options both , telephony , voip , thirdParty | How participants join the audio portion of the meeting. | false |
| agenda | Agenda | STRING | The meeting's agenda. This value has a maximum length of 2,000 characters. | false |
| password | Password | STRING | The password required to join the meeting. By default, a password can only have a maximum length of 10 characters and only contain alphanumeric characters and the @, -, \_, and \* characters. | false |
| settings | Settings | OBJECT Properties \{STRING(schedule\_for), INTEGER(approval\_type)} | | false |
| join\_url | Join Url | STRING | URL for participants to join the meeting. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Create Meeting",
"name" : "createMeeting",
"parameters" : {
"topic" : "",
"duration" : 0.0,
"auto_recording" : "",
"audio" : "",
"agenda" : "",
"password" : "",
"settings" : {
"schedule_for" : "",
"approval_type" : 1
},
"join_url" : ""
},
"type" : "zoom/v1/createMeeting"
}
```
#### Output [#output-1]
Type: OBJECT
#### Properties [#properties-4]
| Name | Type | Description |
| :-----------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------: |
| assistant\_id | STRING | Unique ID of the assistant. |
| host\_email | STRING | Email of the host. |
| id | INTEGER | ID of the meeting. |
| registration\_url | STRING | URL for meeting registration. |
| agenda | STRING | Agenda of the meeting. |
| created\_at | STRING | Creation time of the meeting. |
| duration | INTEGER | Duration of the meeting in minutes. |
| encrypted\_password | STRING | Encrypted meeting password. |
| pstn\_password | STRING | PSTN password for phone participants. |
| h323\_password | STRING | H.323/SIP room system password. |
| join\_url | STRING | URL to join the meeting. |
| chat\_join\_url | STRING | Chat join URL for the meeting. |
| occurrences | ARRAY Items \[\{INTEGER(duration), STRING(occurrence\_id), STRING(start\_time), STRING(status)}] | |
| password | STRING | Password to join the meeting. |
| pmi | STRING | Personal Meeting ID. |
| pre\_schedule | BOOLEAN Options true , false | Indicates if meeting is prescheduled. |
| recurrence | OBJECT Properties \{STRING(end\_date\_time), INTEGER(end\_times), INTEGER(monthly\_day), INTEGER(monthly\_week), INTEGER(monthly\_week\_day), INTEGER(repeat\_interval), INTEGER(type), STRING(weekly\_days)} | |
| settings | OBJECT Properties \{} | Meeting settings configuration. |
| start\_time | STRING | Scheduled start time. |
| start\_url | STRING | URL for host to start the meeting. |
| timezone | STRING | Meeting timezone. |
| topic | STRING | Meeting topic. |
| tracking\_fields | ARRAY Items \[\{STRING(field), STRING(value), BOOLEAN(visible)}] | |
| type | INTEGER | Type of meeting. |
| dynamic\_host\_key | STRING | Dynamic host key for the meeting. |
| creation\_source | STRING | Source of creation (e.g., open\_api). |
#### Output Example [#output-example-1]
```json
{
"assistant_id" : "",
"host_email" : "",
"id" : 1,
"registration_url" : "",
"agenda" : "",
"created_at" : "",
"duration" : 1,
"encrypted_password" : "",
"pstn_password" : "",
"h323_password" : "",
"join_url" : "",
"chat_join_url" : "",
"occurrences" : [ {
"duration" : 1,
"occurrence_id" : "",
"start_time" : "",
"status" : ""
} ],
"password" : "",
"pmi" : "",
"pre_schedule" : false,
"recurrence" : {
"end_date_time" : "",
"end_times" : 1,
"monthly_day" : 1,
"monthly_week" : 1,
"monthly_week_day" : 1,
"repeat_interval" : 1,
"type" : 1,
"weekly_days" : ""
},
"settings" : { },
"start_time" : "",
"start_url" : "",
"timezone" : "",
"topic" : "",
"tracking_fields" : [ {
"field" : "",
"value" : "",
"visible" : false
} ],
"type" : 1,
"dynamic_host_key" : "",
"creation_source" : ""
}
```
## What to do if your action is not listed here? [#what-to-do-if-your-action-is-not-listed-here]
If this component doesn't have the action you need, you can use **Custom Action** to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
# ByteChef Reference: ZoomInfo
URL: /reference/components/zoominfo_v1
Source: https://raw.githubusercontent.com/bytechefhq/bytechef/refs/heads/main/apps/docs/content/docs/reference/components/zoominfo_v1.mdx
ZoomInfo is a platform that provides companies with accurate contact data and sales insights to help them find and engage potential customers.
Categories: Marketing Automation
Type: zoominfo/v1
## Connections [#connections]
Version: 1
### Bearer Token [#bearer-token]
#### Properties [#properties]
| Name | Label | Type | Description | Required |
| :---: | :---: | :----: | :---------: | :------: |
| token | Token | STRING | | true |
## Actions [#actions]
### Enrich Company [#enrich-company]
Name: enrichCompany
`Enrich company details.`
#### Properties [#properties-1]
| Name | Label | Type | Description | Required |
| :------------: | :--------------: | :-------------------------------------------------------------: | :-----------------------------------------------------------------------------: | :------: |
| companyId | Company ID | INTEGER | Unique ZoomInfo identifier for a company. | true |
| companyName | Company Name | STRING | Company name. | false |
| companyWebsite | Company Website | STRING | Company website URL in [http://www.example.com](http://www.example.com) format. | false |
| companyPhone | Company Phone | STRING | Phone number of the company headquarters. | false |
| companyStreet | Company Street | STRING | Street address for the company's primary address. | false |
| companyCity | Company City | STRING | City for the company's primary address. | false |
| companyState | Company State | STRING | State for the company's primary address. | false |
| companyZipcode | Company Zip Code | STRING | Zip code or postal code for the company's primary address. | false |
| companyCountry | Company Country | STRING | Country for the company's primary address. | false |
| outputFields | Output Fields | ARRAY Items \[STRING] | Fields you want to get from employee. | false |
#### Example JSON Structure [#example-json-structure]
```json
{
"label" : "Enrich Company",
"name" : "enrichCompany",
"parameters" : {
"companyId" : 1,
"companyName" : "",
"companyWebsite" : "",
"companyPhone" : "",
"companyStreet" : "",
"companyCity" : "",
"companyState" : "",
"companyZipcode" : "",
"companyCountry" : "",
"outputFields" : [ "" ]
},
"type" : "zoominfo/v1/enrichCompany"
}
```
#### Output [#output]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Enrich Contact [#enrich-contact]
Name: enrichContact
`Enrich contact details.`
#### Properties [#properties-2]
| Name | Label | Type | Description | Required |
| :----------: | :-----------: | :-------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------: | :------: |
| personId | Person ID | INTEGER | Unique ZoomInfo identifier for the contact. | true |
| fullName | Full Name | STRING | Contact full name. | false |
| firstName | First Name | STRING | Contact first name. | false |
| lastName | Last Name | STRING | Contact last name. | false |
| emailAddress | Email | STRING | Business or Personal email address for the contact in [example@example.com](mailto:example@example.com) format. | false |
| phone | Phone | STRING | Contact direct or mobile phone number. | false |
| jobTitle | Job Title | STRING | Contact title at current place of employment. | false |
| externalURL | External URL | STRING | Social media URLs for the contact (e.g., Facebook, Twitter, LinkedIn). | false |
| companyId | Company ID | INTEGER | Unique ZoomInfo identifier for the company. | false |
| companyName | Company Name | STRING | Name of the company for for which the contact works, or has worked. | false |
| outputFields | Output Fields | ARRAY Items \[STRING] | Fields you want to get from employee. See documentation for available fields. | false |
#### Example JSON Structure [#example-json-structure-1]
```json
{
"label" : "Enrich Contact",
"name" : "enrichContact",
"parameters" : {
"personId" : 1,
"fullName" : "",
"firstName" : "",
"lastName" : "",
"emailAddress" : "",
"phone" : "",
"jobTitle" : "",
"externalURL" : "",
"companyId" : 1,
"companyName" : "",
"outputFields" : [ "" ]
},
"type" : "zoominfo/v1/enrichContact"
}
```
#### Output [#output-1]
The output for this action is dynamic and may vary depending on the input parameters. To determine the exact structure of the output, you need to execute the action.
### Search Company [#search-company]
Name: searchCompany
`Search company by specific criteria.`
#### Properties [#properties-3]
| Name | Label | Type | Description | Required |
| :----------------: | :-----------------: | :----: | :------------------------------------------------------------------------: | :------: |
| companyName | Company Name | STRING | Company name. | false |
| companyDescription | Company Description | STRING | Text description unique to the company you want to use as search criteria. | false |
| companyType | Company Type | STRING | Company type (private, public, and so on). | false |
| businessModel | Business Model | STRING | Search using Business Model (B2C, B2B, B2G) for a company. Default is All. | false |
| country | Country | STRING | Country for the company's primary