Connector and provider operations
How connection-backed operations are described and selected, followed by every legacy connector and provider operation implemented in the source registry.
Snoze has two operation catalogs. Legacy connector operations build a guarded HTTP request from connector-owned settings and run input. New provider operations come from the integration-provider registry, use browsable resources and richer field metadata, and declare whether they mutate provider data or need confirmation.
Both require a workspace Connection. Availability depends on what the workspace has connected and what the provider adapter implements. A catalog entry is not evidence that a particular workspace is authorised for it.
Legacy connector summaries
A ConnectorOperationSummary contains connector and operation machine names,
readable labels, a description, settingsFields, inputFields, and an
optional produced outputShape.
Each field declares name, label, required flag, and type: text, email, number, boolean, or select. It may also declare select options, a secret flag, and a placeholder. Settings are saved with the Action or Automation node, such as a repository or project. Run input can be supplied each time, such as a message or issue title. A declared Object shape gives later nodes named tokens; without one, the raw parsed response is still available but its paths are not catalogued.
An Automation connector node saves connector and operation, not a Connection
ID. At run time Snoze chooses the oldest installed matching connection,
tie-breaking by ID. Removing it promotes the next matching connection. An
Action connector configuration instead saves an exact connectionId.
The following entries are generated from the kernel connector definitions.
Slack: Post message connector:slack/post_message
Post a message to a Slack channel.
- Settings: None.
- Run input:
channel(Channel; text, required, placeholder: C012345);text(Message; text, required). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
GitHub: Create issue connector:github/create_issue
Create an issue in a GitHub repository.
- Settings:
owner(Owner; text, required);repository(Repository; text, required). - Run input:
title(Title; text, required);body(Body; text, optional). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
Discord: Create message connector:discord/create_message
Send a message to a Discord channel using a bot connection.
- Settings:
channelId(Channel ID; text, required). - Run input:
content(Message; text, required). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
Linear: Create issue connector:linear/create_issue
Create an issue in a Linear team.
- Settings:
teamId(Team ID; text, required). - Run input:
title(Title; text, required);description(Description; text, optional). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
Notion: Create page connector:notion/create_page
Create a page in a Notion page or database.
- Settings:
parentId(Parent ID; text, required). - Run input:
title(Title; text, required). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
HubSpot: Create contact connector:hubspot/create_contact
Create a contact in HubSpot.
- Settings: None.
- Run input:
email(Email; email, required);firstname(First name; text, optional);lastname(Last name; text, optional). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
Stripe: Create customer connector:stripe/create_customer
Create a customer in Stripe.
- Settings: None.
- Run input:
email(Email; email, required);name(Name; text, optional). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
Jira: Create issue connector:jira/create_issue
Create an issue in Jira Cloud.
- Settings:
site(Site; text, required, placeholder: acme.atlassian.net);projectKey(Project key; text, required). - Run input:
summary(Summary; text, required);issueType(Issue type; text, optional, placeholder: Task). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
Zendesk: Create ticket connector:zendesk/create_ticket
Create a support ticket in Zendesk.
- Settings:
subdomain(Subdomain; text, required). - Run input:
subject(Subject; text, required);comment(Comment; text, required). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
Twilio: Send message connector:twilio/send_message
Send an SMS or WhatsApp message through Twilio.
- Settings:
accountSid(Account SID; text, required);from(From number; text, required). - Run input:
to(To number; text, required);body(Message; text, required). - Produced value: No named output shape is declared. The provider’s parsed response is available as a raw step result, so later steps must use a raw path rather than a named token.
Provider operation summaries
A provider operation contains provider and operation IDs, label, description, resource types, and typed input fields. Field kinds are string, rich text, number, boolean, JSON, resource, string array, duration, or enum. A resource field can name its browse resource type and a parent field; an enum can carry options; either may accept multiple values. Fields can also be advanced, identify title/body roles and message-composer groups, and define a default path from the triggering event.
The summary also declares output shape, destination text syntax, whether the operation mutates data, whether it requires confirmation, and which mounted object should refresh after success. An Automation provider node and a Provider-operation Action both save an exact Connection ID. Their input is checked against the live summary, and ResourceRefs are converted to external IDs only at the adapter boundary.
The following catalog is generated from every provider and operation currently
registered by @workspace/integrations. It is intentionally broader than the
operations visible in any one workspace.
Airtable: Custom API request provider:airtable/api.custom_request
Advanced request using this connection. Paths are relative to https://api.airtable.com/v0/
- Connection: Requires a connected Airtable account. Resource types: none declared.
- Inputs:
method(Method; enum, required, options: GET | POST | PUT | PATCH | DELETE);path(API path; string, required, placeholder: Path within this provider’s API) — Relative to https://api.airtable.com/v0/;query(Query parameters; json, optional);body(JSON body; json, optional);pageCount(Numbered pages (1–10); number, optional, advanced) — GET only, using a numbered page parameter. Cursor and next-link pagination are not supported. Stops on an empty list;pageParameter(Page query parameter; string, optional, advanced, placeholder: page);startPage(First page number; number, optional, advanced);itemsPath(Items path in response; string, optional, advanced, placeholder: data.items (leave empty for a root array)). - Produced value: API result:
response(unknown),items(list),pages(number),pageLimitReached(boolean). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
ClickUp: Custom API request provider:clickup/api.custom_request
Advanced request using this connection. Paths are relative to https://api.clickup.com/api/v2/
- Connection: Requires a connected ClickUp account. Resource types: none declared.
- Inputs:
method(Method; enum, required, options: GET | POST | PUT | PATCH | DELETE);path(API path; string, required, placeholder: Path within this provider’s API) — Relative to https://api.clickup.com/api/v2/;query(Query parameters; json, optional);body(JSON body; json, optional);pageCount(Numbered pages (1–10); number, optional, advanced) — GET only, using a numbered page parameter. Cursor and next-link pagination are not supported. Stops on an empty list;pageParameter(Page query parameter; string, optional, advanced, placeholder: page);startPage(First page number; number, optional, advanced);itemsPath(Items path in response; string, optional, advanced, placeholder: data.items (leave empty for a root array)). - Produced value: API result:
response(unknown),items(list),pages(number),pageLimitReached(boolean). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
ClickUp: Comment on ClickUp task provider:clickup/task.comment
Add a text comment to a task.
- Connection: Requires a connected ClickUp account. Resource types:
clickup.task. - Inputs:
taskId(Task ID; string, optional);commentText(Comment; string, required, role: body);notifyAll(Notify all assignees; boolean, optional). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
comment. - Text syntax: plain.
ClickUp: Create ClickUp task provider:clickup/task.create
Create a task in a ClickUp List with native custom fields.
- Connection: Requires a connected ClickUp account. Resource types:
clickup.list. - Inputs:
listId(List ID; string, optional);name(Task name; string, required, role: title);description(Description; string, optional, role: body);assignees(Assignee IDs; string_array, optional);tags(Tags; string_array, optional);status(Status; string, optional);priority(Priority; number, optional);due_date(Due date (milliseconds); number, optional);custom_fields(Custom fields; json, optional). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
task. - Text syntax: plain.
ClickUp: Update ClickUp task provider:clickup/task.update
Update status, ownership, dates, priority, or content.
- Connection: Requires a connected ClickUp account. Resource types:
clickup.task. - Inputs:
taskId(Task ID; string, optional);changes(Task changes; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
task. - Text syntax: markdown.
ClickUp: Create ClickUp time entry provider:clickup/time_entry.create
Record tracked time against a ClickUp task.
- Connection: Requires a connected ClickUp account. Resource types:
clickup.workspace,clickup.task. - Inputs:
teamId(Workspace ID; string, optional);taskId(Task ID; string, required);start(Start (milliseconds); number, required);duration(Duration (milliseconds); number, required);description(Description; string, optional);billable(Billable; boolean, optional). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
time_entry. - Text syntax: markdown.
Discord: Add Discord member role provider:discord/member.add_role
Add a role to a server member.
- Connection: Requires a connected Discord account. Resource types:
discord.member. - Inputs:
guildId(Server; resource, required, resource: discord.guild);userId(Member; resource, required, resource: discord.member, after: guildId);roleId(Role; resource, required, resource: discord.role, after: guildId). - Produced value: Discord result:
success(boolean). - Effect: changes provider data; confirmation required; refreshes
member. - Text syntax: markdown.
Discord: Edit Discord bot message provider:discord/message.edit
Edit a message created by the Snoze bot.
- Connection: Requires a connected Discord account. Resource types:
discord.message. - Inputs:
guildId(Server; resource, required, resource: discord.guild);channelId(Channel; resource, required, resource: discord.channel, after: guildId);messageId(Message; resource, required, resource: discord.message, after: channelId);content(Content; rich_text, optional, composer: message);embedTitle(Embed title; string, optional, advanced, composer: embed);embedDescription(Embed text; rich_text, optional, advanced, composer: embed);embedUrl(Embed link; string, optional, advanced, composer: embedDetail, placeholder: https://…) — Open this URL when someone clicks the embed title;embedAuthor(Embed author; string, optional, advanced, composer: embedDetail);embedAuthorUrl(Author link; string, optional, advanced, composer: embedDetail, placeholder: https://…);embedAuthorIconUrl(Author icon URL; string, optional, advanced, composer: embedDetail);embedColor(Embed color; string, optional, advanced, composer: embedDetail, placeholder: #5865F2) — Hex color for the embed’s accent bar;embedImageUrl(Embed image URL; string, optional, advanced, composer: embedDetail);embedFooter(Embed footer; string, optional, advanced, composer: embedDetail);embedFooterIconUrl(Footer icon URL; string, optional, advanced, composer: embedDetail);embedThumbnailUrl(Embed thumbnail URL; string, optional, advanced, composer: embedDetail);embedFields(Embed fields; json, optional, advanced, composer: embedDetail) — A list of name, value, and optional inline properties;embedTimestamp(Embed timestamp; string, optional, advanced, composer: embedDetail, placeholder: 2026-08-19T12:00:00Z);embedPayload(Payload embed; json, optional, advanced, composer: hidden);embedPayloadOptions(Payload presentation; json, optional, advanced, composer: hidden);embeds(Embeds (raw JSON); json, optional, advanced, composer: raw). - Produced value: Discord message:
id(text),content(rich_text),channel_id(text),timestamp(date). - Effect: changes provider data; refreshes
message. - Text syntax: markdown.
Discord: Post Discord message provider:discord/message.post
Post a bot message with embeds and components.
- Connection: Requires a connected Discord account. Resource types:
discord.channel,discord.thread. - Inputs:
guildId(Server; resource, required, resource: discord.guild);channelId(Channel; resource, required, resource: discord.channel, after: guildId);content(Content; rich_text, optional, composer: message);embedTitle(Embed title; string, optional, advanced, composer: embed);embedDescription(Embed text; rich_text, optional, advanced, composer: embed);embedUrl(Embed link; string, optional, advanced, composer: embedDetail, placeholder: https://…) — Open this URL when someone clicks the embed title;embedAuthor(Embed author; string, optional, advanced, composer: embedDetail);embedAuthorUrl(Author link; string, optional, advanced, composer: embedDetail, placeholder: https://…);embedAuthorIconUrl(Author icon URL; string, optional, advanced, composer: embedDetail);embedColor(Embed color; string, optional, advanced, composer: embedDetail, placeholder: #5865F2) — Hex color for the embed’s accent bar;embedImageUrl(Embed image URL; string, optional, advanced, composer: embedDetail);embedFooter(Embed footer; string, optional, advanced, composer: embedDetail);embedFooterIconUrl(Footer icon URL; string, optional, advanced, composer: embedDetail);embedThumbnailUrl(Embed thumbnail URL; string, optional, advanced, composer: embedDetail);embedFields(Embed fields; json, optional, advanced, composer: embedDetail) — A list of name, value, and optional inline properties;embedTimestamp(Embed timestamp; string, optional, advanced, composer: embedDetail, placeholder: 2026-08-19T12:00:00Z);embedPayload(Payload embed; json, optional, advanced, composer: hidden);embedPayloadOptions(Payload presentation; json, optional, advanced, composer: hidden);embeds(Embeds (raw JSON); json, optional, advanced, composer: raw);components(Components; json, optional, advanced, composer: raw). - Produced value: Discord message:
id(text),content(rich_text),channel_id(text),timestamp(date). - Effect: changes provider data; confirmation required; refreshes
message. - Text syntax: markdown.
Discord: React to Discord message provider:discord/message.react
Add an emoji reaction to a message.
- Connection: Requires a connected Discord account. Resource types:
discord.message. - Inputs:
guildId(Server; resource, required, resource: discord.guild);channelId(Channel; resource, required, resource: discord.channel, after: guildId);messageId(Message; resource, required, resource: discord.message, after: channelId);emoji(Emoji; string, required). - Produced value: Discord result:
success(boolean). - Effect: changes provider data; refreshes
message. - Text syntax: markdown.
Discord: Reply to Discord message provider:discord/message.reply
Reply to a message in a channel or thread.
- Connection: Requires a connected Discord account. Resource types:
discord.message. - Inputs:
guildId(Server; resource, required, resource: discord.guild, event default: payload.guildId);channelId(Channel; resource, required, resource: discord.channel, after: guildId, event default: payload.object.channel_id);messageId(Message; resource, required, resource: discord.message, after: channelId, event default: payload.object.id);content(Content; rich_text, optional, composer: message);embedTitle(Embed title; string, optional, advanced, composer: embed);embedDescription(Embed text; rich_text, optional, advanced, composer: embed);embedUrl(Embed link; string, optional, advanced, composer: embedDetail, placeholder: https://…) — Open this URL when someone clicks the embed title;embedAuthor(Embed author; string, optional, advanced, composer: embedDetail);embedAuthorUrl(Author link; string, optional, advanced, composer: embedDetail, placeholder: https://…);embedAuthorIconUrl(Author icon URL; string, optional, advanced, composer: embedDetail);embedColor(Embed color; string, optional, advanced, composer: embedDetail, placeholder: #5865F2) — Hex color for the embed’s accent bar;embedImageUrl(Embed image URL; string, optional, advanced, composer: embedDetail);embedFooter(Embed footer; string, optional, advanced, composer: embedDetail);embedFooterIconUrl(Footer icon URL; string, optional, advanced, composer: embedDetail);embedThumbnailUrl(Embed thumbnail URL; string, optional, advanced, composer: embedDetail);embedFields(Embed fields; json, optional, advanced, composer: embedDetail) — A list of name, value, and optional inline properties;embedTimestamp(Embed timestamp; string, optional, advanced, composer: embedDetail, placeholder: 2026-08-19T12:00:00Z);embedPayload(Payload embed; json, optional, advanced, composer: hidden);embedPayloadOptions(Payload presentation; json, optional, advanced, composer: hidden). - Produced value: Discord message:
id(text),content(rich_text),channel_id(text),timestamp(date). - Effect: changes provider data; confirmation required; refreshes
message. - Text syntax: markdown.
Discord: Create Discord thread provider:discord/thread.create
Create a thread under a channel or message.
- Connection: Requires a connected Discord account. Resource types:
discord.channel,discord.message. - Inputs:
guildId(Server; resource, required, resource: discord.guild);channelId(Channel; resource, required, resource: discord.channel, after: guildId);messageId(Message; resource, optional, resource: discord.message, after: channelId);name(Thread name; string, required);autoArchiveDuration(Auto archive minutes; number, optional, advanced). - Produced value: Discord thread:
id(text),name(text),parent_id(text). - Effect: changes provider data; refreshes
thread. - Text syntax: markdown.
Discord: Execute Discord webhook provider:discord/webhook.execute
Post a message through a Discord channel webhook.
- Connection: Requires a connected Discord account. Resource types: none declared.
- Inputs:
webhookUrl(Webhook URL; string, required);content(Message; rich_text, optional, composer: message);embedTitle(Embed title; string, optional, advanced, composer: embed);embedDescription(Embed text; rich_text, optional, advanced, composer: embed);embedUrl(Embed link; string, optional, advanced, composer: embedDetail, placeholder: https://…) — Open this URL when someone clicks the embed title;embedAuthor(Embed author; string, optional, advanced, composer: embedDetail);embedAuthorUrl(Author link; string, optional, advanced, composer: embedDetail, placeholder: https://…);embedAuthorIconUrl(Author icon URL; string, optional, advanced, composer: embedDetail);embedColor(Embed color; string, optional, advanced, composer: embedDetail, placeholder: #5865F2) — Hex color for the embed’s accent bar;embedImageUrl(Embed image URL; string, optional, advanced, composer: embedDetail);embedFooter(Embed footer; string, optional, advanced, composer: embedDetail);embedFooterIconUrl(Footer icon URL; string, optional, advanced, composer: embedDetail);embedThumbnailUrl(Embed thumbnail URL; string, optional, advanced, composer: embedDetail);embedFields(Embed fields; json, optional, advanced, composer: embedDetail) — A list of name, value, and optional inline properties;embedTimestamp(Embed timestamp; string, optional, advanced, composer: embedDetail, placeholder: 2026-08-19T12:00:00Z);embedPayload(Payload embed; json, optional, advanced, composer: hidden);embedPayloadOptions(Payload presentation; json, optional, advanced, composer: hidden);embeds(Embeds (raw JSON); json, optional, advanced, composer: raw). - Produced value: Discord message:
id(text),content(rich_text),channel_id(text),timestamp(date). - Effect: changes provider data; confirmation required; refreshes
message. - Text syntax: markdown.
GitHub: Custom API request provider:github/api.custom_request
Advanced request using this connection. Paths are relative to https://api.github.com/
- Connection: Requires a connected GitHub account. Resource types: none declared.
- Inputs:
method(Method; enum, required, options: GET | POST | PUT | PATCH | DELETE);path(API path; string, required, placeholder: Path within this provider’s API) — Relative to https://api.github.com/;query(Query parameters; json, optional);body(JSON body; json, optional);pageCount(Numbered pages (1–10); number, optional, advanced) — GET only, using a numbered page parameter. Cursor and next-link pagination are not supported. Stops on an empty list;pageParameter(Page query parameter; string, optional, advanced, placeholder: page);startPage(First page number; number, optional, advanced);itemsPath(Items path in response; string, optional, advanced, placeholder: data.items (leave empty for a root array)). - Produced value: API result:
response(unknown),items(list),pages(number),pageLimitReached(boolean). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
GitHub: Close GitHub issue provider:github/repository.close_issue
Update the state of a GitHub issue or pull request.
- Connection: Requires a connected GitHub account. Resource types:
github.repository. - Inputs:
repository(Repository; resource, optional, resource: github.repository);number(Number; number, required) — Usually filled from the pull request or issue that triggered this automation. - Produced value: GitHub object:
id(number),number(number),title(text),body(rich_text),state(status),html_url(url). - Effect: changes provider data.
- Text syntax: markdown.
GitHub: Close pull request provider:github/repository.close_pull_request
Update the state of a GitHub issue or pull request.
- Connection: Requires a connected GitHub account. Resource types:
github.repository. - Inputs:
repository(Repository; resource, optional, resource: github.repository);number(Number; number, required) — Usually filled from the pull request or issue that triggered this automation. - Produced value: GitHub object:
id(number),number(number),title(text),body(rich_text),state(status),html_url(url). - Effect: changes provider data.
- Text syntax: markdown.
GitHub: Comment on issue or pull request provider:github/repository.comment_issue
Add a comment to an issue or pull request.
- Connection: Requires a connected GitHub account. Resource types:
github.repository,github.issue,github.pull_request. - Inputs:
repository(Repository; resource, optional, resource: github.repository);number(Issue number; number, required) — Usually filled from the pull request or issue that triggered this automation;body(Comment; rich_text, required, role: body). - Produced value: GitHub object:
id(number),number(number),title(text),body(rich_text),state(status),html_url(url). - Effect: changes provider data; refreshes
issue. - Text syntax: markdown.
GitHub: Create GitHub issue provider:github/repository.create_issue
Create an issue in a linked repository.
- Connection: Requires a connected GitHub account. Resource types:
github.repository. - Inputs:
repository(Repository; resource, optional, resource: github.repository);title(Title; string, required, role: title);body(Body; rich_text, optional, role: body);labels(Labels; resource, optional, multiple, resource: github.label, after: repository). - Produced value: GitHub object:
id(number),number(number),title(text),body(rich_text),state(status),html_url(url). - Effect: changes provider data; refreshes
issue. - Text syntax: markdown.
GitHub: Comment on a pull request line provider:github/repository.create_review_comment
Add an inline review comment on a specific file + line.
- Connection: Requires a connected GitHub account. Resource types:
github.repository. - Inputs:
repository(Repository; resource, optional, resource: github.repository);number(Number; number, required) — Usually filled from the pull request or issue that triggered this automation;body(Comment; rich_text, required, role: body);commit_id(Commit SHA; string, required, advanced);path(File path; string, required);line(Line; number, required);side(Diff side; enum, optional, advanced, options: RIGHT | LEFT). - Produced value: GitHub object:
id(number),number(number),title(text),body(rich_text),state(status),html_url(url). - Effect: changes provider data.
- Text syntax: markdown.
GitHub: Fetch pull request review context provider:github/repository.get_pull_request_context
Fetch PR metadata, changed files and patches, issue comments, reviews, inline comments, commits, and checks for an AI review.
- Connection: Requires a connected GitHub account. Resource types:
github.repository,github.pull_request. - Inputs:
repository(Repository; resource, optional, resource: github.repository);number(Pull request number; number, required) — Usually filled from the pull request or issue that triggered this automation. - Produced value: Pull request review context:
pull(object) {id(number),number(number),title(text),body(rich_text),state(status),html_url(url) },files(list) {path(text),sha(text),content(rich_text) },comments(list) {id(number),number(number),title(text),body(rich_text),state(status),html_url(url) }. - Effect: read-only.
- Text syntax: markdown.
GitHub: Merge pull request provider:github/repository.merge_pull_request
Merge a GitHub pull request.
- Connection: Requires a connected GitHub account. Resource types:
github.repository. - Inputs:
repository(Repository; resource, optional, resource: github.repository);number(Number; number, required) — Usually filled from the pull request or issue that triggered this automation;method(Merge method; enum, optional, options: merge | squash | rebase). - Produced value: GitHub object:
id(number),number(number),title(text),body(rich_text),state(status),html_url(url). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
GitHub: Reopen GitHub issue provider:github/repository.reopen_issue
Update the state of a GitHub issue or pull request.
- Connection: Requires a connected GitHub account. Resource types:
github.repository. - Inputs:
repository(Repository; resource, optional, resource: github.repository);number(Number; number, required) — Usually filled from the pull request or issue that triggered this automation. - Produced value: GitHub object:
id(number),number(number),title(text),body(rich_text),state(status),html_url(url). - Effect: changes provider data.
- Text syntax: markdown.
GitHub: Submit pull request review provider:github/repository.submit_review
Approve, request changes on, or comment on a pull request as a review.
- Connection: Requires a connected GitHub account. Resource types:
github.repository. - Inputs:
repository(Repository; resource, optional, resource: github.repository);number(Number; number, required) — Usually filled from the pull request or issue that triggered this automation;event(Review decision; enum, required, options: COMMENT | APPROVE | REQUEST_CHANGES);body(Review body; rich_text, optional, role: body). - Produced value: GitHub object:
id(number),number(number),title(text),body(rich_text),state(status),html_url(url). - Effect: changes provider data.
- Text syntax: markdown.
GitHub: Commit file change provider:github/repository.update_file
Create or update a file and commit it to a repository branch.
- Connection: Requires a connected GitHub account. Resource types:
github.repository,github.file. - Inputs:
repository(Repository; resource, optional, resource: github.repository);path(Path; string, required);content(Content; rich_text, required);message(Commit message; string, required);branch(Branch; resource, optional, resource: github.branch, after: repository);sha(Current file SHA; string, optional, advanced). - Produced value: GitHub file:
path(text),sha(text),content(rich_text). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
Google Workspace: Custom API request provider:google_workspace/api.custom_request
Advanced request using this connection. Paths are relative to https://www.googleapis.com/
- Connection: Requires a connected Google Workspace account. Resource types: none declared.
- Inputs:
method(Method; enum, required, options: GET | POST | PUT | PATCH | DELETE);path(API path; string, required, placeholder: Path within this provider’s API) — Relative to https://www.googleapis.com/;query(Query parameters; json, optional);body(JSON body; json, optional);pageCount(Numbered pages (1–10); number, optional, advanced) — GET only, using a numbered page parameter. Cursor and next-link pagination are not supported. Stops on an empty list;pageParameter(Page query parameter; string, optional, advanced, placeholder: page);startPage(First page number; number, optional, advanced);itemsPath(Items path in response; string, optional, advanced, placeholder: data.items (leave empty for a root array)). - Produced value: API result:
response(unknown),items(list),pages(number),pageLimitReached(boolean). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
Google Workspace: Create calendar event provider:google_workspace/calendar_event.create
Create an event in Google Calendar.
- Connection: Requires a connected Google Workspace account. Resource types: none declared.
- Inputs:
calendarId(Calendar; resource, optional, resource: google.calendar) — Leave empty for your main calendar;summary(Title; string, optional, role: title);start(Starts; string, optional, placeholder: 2026-10-01T09:00:00Z) — A date alone (2026-10-01) makes an all-day event;end(Ends; string, optional, placeholder: 2026-10-01T10:00:00Z) — For an all-day event, the day after the last day. Leave empty for a one-day event;description(Description; rich_text, optional, role: body);timeZone(Time zone; string, optional, advanced, placeholder: Europe/Berlin) — Times without an offset are read in this zone. Without one they are UTC;event(Full event (Google Calendar JSON); json, optional, advanced). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
calendar_event. - Text syntax: plain.
Google Workspace: Delete calendar event provider:google_workspace/calendar_event.delete
Delete an event from Google Calendar.
- Connection: Requires a connected Google Workspace account. Resource types: none declared.
- Inputs:
calendarId(Calendar; resource, optional, resource: google.calendar) — Leave empty for your main calendar;eventId(Event; string, required) — Map the event ID from the trigger or an earlier step. - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
calendar_event. - Text syntax: markdown.
Google Workspace: Update calendar event provider:google_workspace/calendar_event.update
Change an event’s time, guests, or details.
- Connection: Requires a connected Google Workspace account. Resource types: none declared.
- Inputs:
calendarId(Calendar; resource, optional, resource: google.calendar) — Leave empty for your main calendar;eventId(Event; string, required) — Map the event ID from the trigger or an earlier step;changes(Changes (Google Calendar JSON); json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
calendar_event. - Text syntax: markdown.
Google Workspace: Edit Google document provider:google_workspace/docs.batch_update
Apply edits to a Google Doc, keeping everything else intact.
- Connection: Requires a connected Google Workspace account. Resource types:
google.docs.document. - Inputs:
requests(Edits (Google Docs JSON); json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data.
- Text syntax: markdown.
Google Workspace: Create Drive file provider:google_workspace/drive_file.create
Create a text file in Google Drive.
- Connection: Requires a connected Google Workspace account. Resource types: none declared.
- Inputs:
name(Name; string, required, role: title);content(Content; rich_text, optional, role: body);parentId(Folder; resource, optional, resource: google.drive.folder) — Leave empty to create it in My Drive. - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
drive_file. - Text syntax: plain.
Google Workspace: Create Drive folder provider:google_workspace/drive.create_folder
Create a folder in Google Drive.
- Connection: Requires a connected Google Workspace account. Resource types:
google.drive.folder. - Inputs:
name(Name; string, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
drive_file. - Text syntax: markdown.
Google Workspace: Rename Drive item provider:google_workspace/drive.rename
Rename a file or folder in Google Drive.
- Connection: Requires a connected Google Workspace account. Resource types:
google.drive.folder,google.drive.file,google.docs.document,google.sheets.spreadsheet. - Inputs:
name(Name; string, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data.
- Text syntax: markdown.
Google Workspace: Create Gmail draft provider:google_workspace/gmail.draft_create
Write a draft to review and send yourself.
- Connection: Requires a connected Google Workspace account. Resource types: none declared.
- Inputs:
to(To; string_array, optional, placeholder: Type an email address and press Enter);subject(Subject; string, optional, role: title);body(Message; rich_text, optional, role: body);cc(Cc; string_array, optional, advanced);bcc(Bcc; string_array, optional, advanced). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
gmail_message. - Text syntax: plain.
Google Workspace: Change Gmail labels provider:google_workspace/gmail.modify_labels
Add or remove labels on an email.
- Connection: Requires a connected Google Workspace account. Resource types: none declared.
- Inputs:
messageId(Email; string, required, event default: payload.email.id) — The triggering email, unless you map another;addLabelIds(Add labels; resource, optional, multiple, resource: google.gmail.label);removeLabelIds(Remove labels; resource, optional, multiple, resource: google.gmail.label). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
gmail_message. - Text syntax: markdown.
Google Workspace: Reply to Gmail thread provider:google_workspace/gmail.reply
Reply in the email’s thread, to whoever wrote last.
- Connection: Requires a connected Google Workspace account. Resource types: none declared.
- Inputs:
threadId(Thread; string, required, event default: payload.email.threadId) — The triggering email’s thread, unless you map another;body(Message; rich_text, required, role: body);to(To; string_array, optional, advanced) — Leave empty to reply to the sender;cc(Cc; string_array, optional, advanced);bcc(Bcc; string_array, optional, advanced). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
gmail_message. - Text syntax: plain.
Google Workspace: Send Gmail message provider:google_workspace/gmail.send
Send an email from the connected Gmail account.
- Connection: Requires a connected Google Workspace account. Resource types: none declared.
- Inputs:
to(To; string_array, required, placeholder: Type an email address and press Enter);subject(Subject; string, optional, role: title);body(Message; rich_text, required, role: body);cc(Cc; string_array, optional, advanced);bcc(Bcc; string_array, optional, advanced). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
gmail_message. - Text syntax: plain.
Google Workspace: Update sheet cells provider:google_workspace/sheets.update_values
Write values into a range of a Google Sheet.
- Connection: Requires a connected Google Workspace account. Resource types:
google.sheets.spreadsheet. - Inputs:
range(Range; string, required, placeholder: Sheet1!A1:C3);values(Values (rows of cells); json, required, placeholder: [[“Name”, “Total”]]). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data.
- Text syntax: markdown.
HubSpot: Custom API request provider:hubspot/api.custom_request
Advanced request using this connection. Paths are relative to https://api.hubapi.com/
- Connection: Requires a connected HubSpot account. Resource types: none declared.
- Inputs:
method(Method; enum, required, options: GET | POST | PUT | PATCH | DELETE);path(API path; string, required, placeholder: Path within this provider’s API) — Relative to https://api.hubapi.com/;query(Query parameters; json, optional);body(JSON body; json, optional);pageCount(Numbered pages (1–10); number, optional, advanced) — GET only, using a numbered page parameter. Cursor and next-link pagination are not supported. Stops on an empty list;pageParameter(Page query parameter; string, optional, advanced, placeholder: page);startPage(First page number; number, optional, advanced);itemsPath(Items path in response; string, optional, advanced, placeholder: data.items (leave empty for a root array)). - Produced value: API result:
response(unknown),items(list),pages(number),pageLimitReached(boolean). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
HubSpot: Create HubSpot contact provider:hubspot/contact.create
Create a CRM contact.
- Connection: Requires a connected HubSpot account. Resource types: none declared.
- Inputs:
email(Email; string, required);firstname(First name; string, optional);lastname(Last name; string, optional). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
contact. - Text syntax: markdown.
HubSpot: Update HubSpot deal provider:hubspot/deal.update
Update properties on a CRM deal.
- Connection: Requires a connected HubSpot account. Resource types: none declared.
- Inputs:
dealId(Deal ID; string, required);properties(Properties; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
deal. - Text syntax: markdown.
HubSpot: Create HubSpot ticket provider:hubspot/ticket.create
Create a CRM ticket.
- Connection: Requires a connected HubSpot account. Resource types: none declared.
- Inputs:
subject(Subject; string, required, role: title);content(Description; string, optional, role: body);priority(Priority; string, optional). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
ticket. - Text syntax: plain.
Jira: Comment on Jira issue provider:jira/issue.comment
Add an Atlassian document-format comment.
- Connection: Requires a connected Jira account. Resource types:
jira.issue. - Inputs:
issueIdOrKey(Issue; string, optional);body(Comment body; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
issue. - Text syntax: markdown.
Jira: Create Jira issue provider:jira/issue.create
Create an issue with native Jira fields.
- Connection: Requires a connected Jira account. Resource types:
jira.project. - Inputs:
fields(Issue fields; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
issue. - Text syntax: markdown.
Jira: Transition Jira issue provider:jira/issue.transition
Move an issue through its configured workflow.
- Connection: Requires a connected Jira account. Resource types:
jira.issue. - Inputs:
issueIdOrKey(Issue; string, optional);transitionId(Transition ID; string, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
issue. - Text syntax: markdown.
Jira: Update Jira issue provider:jira/issue.update
Update fields on a Jira issue.
- Connection: Requires a connected Jira account. Resource types:
jira.issue. - Inputs:
issueIdOrKey(Issue; string, optional);fields(Fields; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
issue. - Text syntax: markdown.
Jira: Log Jira work provider:jira/worklog.create
Add a worklog with duration and start time.
- Connection: Requires a connected Jira account. Resource types:
jira.issue. - Inputs:
issueIdOrKey(Issue; string, optional);timeSpentSeconds(Seconds; number, required);started(Started; string, optional);comment(Comment; json, optional). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
worklog. - Text syntax: markdown.
Linear: Comment on Linear issue provider:linear/issue.comment
Add a comment to a Linear issue.
- Connection: Requires a connected Linear account. Resource types: none declared.
- Inputs:
issueId(Issue; resource, required, resource: linear.issue);body(Comment; string, required, role: body). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
issue. - Text syntax: markdown.
Linear: Create Linear issue provider:linear/issue.create
Create an issue in a Linear team.
- Connection: Requires a connected Linear account. Resource types: none declared.
- Inputs:
teamId(Team; resource, required, resource: linear.team);title(Title; string, required, role: title);description(Description; string, optional, role: body). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
issue. - Text syntax: markdown.
Linear: Update Linear issue provider:linear/issue.update
Update any supported Linear issue field.
- Connection: Requires a connected Linear account. Resource types: none declared.
- Inputs:
issueId(Issue; resource, required, resource: linear.issue);changes(Changes; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
issue. - Text syntax: markdown.
Microsoft 365: Custom API request provider:microsoft_365/api.custom_request
Advanced request using this connection. Paths are relative to https://graph.microsoft.com/v1.0/
- Connection: Requires a connected Microsoft 365 account. Resource types: none declared.
- Inputs:
method(Method; enum, required, options: GET | POST | PUT | PATCH | DELETE);path(API path; string, required, placeholder: Path within this provider’s API) — Relative to https://graph.microsoft.com/v1.0/;query(Query parameters; json, optional);body(JSON body; json, optional);pageCount(Numbered pages (1–10); number, optional, advanced) — GET only, using a numbered page parameter. Cursor and next-link pagination are not supported. Stops on an empty list;pageParameter(Page query parameter; string, optional, advanced, placeholder: page);startPage(First page number; number, optional, advanced);itemsPath(Items path in response; string, optional, advanced, placeholder: data.items (leave empty for a root array)). - Produced value: API result:
response(unknown),items(list),pages(number),pageLimitReached(boolean). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
Microsoft 365: Create Outlook event provider:microsoft_365/calendar_event.create
Create an Outlook calendar event with attendees and recurrence.
- Connection: Requires a connected Microsoft 365 account. Resource types: none declared.
- Inputs:
event(Event; json, required);calendarId(Calendar ID; string, optional). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
calendar_event. - Text syntax: markdown.
Microsoft 365: Delete Outlook event provider:microsoft_365/calendar_event.delete
Delete an event from Outlook Calendar.
- Connection: Requires a connected Microsoft 365 account. Resource types: none declared.
- Inputs:
eventId(Event ID; string, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
calendar_event. - Text syntax: markdown.
Microsoft 365: Update Outlook event provider:microsoft_365/calendar_event.update
Update an existing Outlook calendar event.
- Connection: Requires a connected Microsoft 365 account. Resource types: none declared.
- Inputs:
eventId(Event ID; string, required);changes(Changes; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
calendar_event. - Text syntax: markdown.
Microsoft 365: Reply to Outlook email provider:microsoft_365/email.reply
Reply to a message in its existing conversation.
- Connection: Requires a connected Microsoft 365 account. Resource types: none declared.
- Inputs:
messageId(Message ID; string, required);comment(Reply; string, required, role: body). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required.
- Text syntax: plain.
Microsoft 365: Send Outlook email provider:microsoft_365/email.send
Send an email through the connected Microsoft account.
- Connection: Requires a connected Microsoft 365 account. Resource types: none declared.
- Inputs:
to(To; string_array, required, placeholder: Type an email address and press Enter);subject(Subject; string, optional, role: title);body(Message; rich_text, required, role: body);cc(Cc; string_array, optional, advanced);bcc(Bcc; string_array, optional, advanced);saveToSentItems(Save to sent items; boolean, optional, advanced). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required.
- Text syntax: plain.
Microsoft 365: Update workbook cells provider:microsoft_365/excel.update_range
Write values to an Excel workbook range.
- Connection: Requires a connected Microsoft 365 account. Resource types:
microsoft.excel.workbook. - Inputs:
worksheet(Worksheet; string, required);range(Range; string, required);values(Values; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data.
- Text syntax: markdown.
Microsoft 365: Create OneDrive folder provider:microsoft_365/onedrive.create_folder
Create a folder in OneDrive.
- Connection: Requires a connected Microsoft 365 account. Resource types:
microsoft.onedrive.folder. - Inputs:
name(Name; string, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data.
- Text syntax: markdown.
Microsoft 365: Rename OneDrive item provider:microsoft_365/onedrive.rename
Rename a file or folder in OneDrive.
- Connection: Requires a connected Microsoft 365 account. Resource types:
microsoft.onedrive.folder,microsoft.onedrive.file,microsoft.excel.workbook,microsoft.word.document. - Inputs:
name(Name; string, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data.
- Text syntax: markdown.
Microsoft 365: Post Microsoft Teams message provider:microsoft_365/teams.message.post
Post a message to a Teams channel.
- Connection: Requires a connected Microsoft 365 account. Resource types: none declared.
- Inputs:
teamId(Team ID; string, required);channelId(Channel ID; string, required);body(Message body; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
team. - Text syntax: markdown.
Notion: Custom API request provider:notion/api.custom_request
Advanced request using this connection. Paths are relative to https://api.notion.com/v1/
- Connection: Requires a connected Notion account. Resource types: none declared.
- Inputs:
method(Method; enum, required, options: GET | POST | PUT | PATCH | DELETE);path(API path; string, required, placeholder: Path within this provider’s API) — Relative to https://api.notion.com/v1/;query(Query parameters; json, optional);body(JSON body; json, optional);pageCount(Numbered pages (1–10); number, optional, advanced) — GET only, using a numbered page parameter. Cursor and next-link pagination are not supported. Stops on an empty list;pageParameter(Page query parameter; string, optional, advanced, placeholder: page);startPage(First page number; number, optional, advanced);itemsPath(Items path in response; string, optional, advanced, placeholder: data.items (leave empty for a root array)). - Produced value: API result:
response(unknown),items(list),pages(number),pageLimitReached(boolean). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
Notion: Comment in Notion provider:notion/comment.create
Add a rich-text comment to a page or discussion.
- Connection: Requires a connected Notion account. Resource types:
notion.page. - Inputs:
parent(Page/discussion parent; json, optional);rich_text(Rich text; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
comment. - Text syntax: markdown.
Notion: Create Notion database provider:notion/database.create
Create a database with a native property schema.
- Connection: Requires a connected Notion account. Resource types:
notion.page. - Inputs:
parent(Parent; json, optional);title(Title; json, required);properties(Property schema; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
database. - Text syntax: markdown.
Notion: Update Notion database provider:notion/database.update
Update title, description, or property schema.
- Connection: Requires a connected Notion account. Resource types:
notion.database. - Inputs:
databaseId(Database ID; string, optional);changes(Changes; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
database. - Text syntax: markdown.
Notion: Append Notion blocks provider:notion/page.append_blocks
Append rich content blocks to a page.
- Connection: Requires a connected Notion account. Resource types:
notion.page. - Inputs:
pageId(Page ID; string, optional);children(Blocks; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
block. - Text syntax: markdown.
Notion: Create Notion page provider:notion/page.create
Create a page under another page or in a database.
- Connection: Requires a connected Notion account. Resource types:
notion.page,notion.database. - Inputs:
parent(Parent; json, optional);properties(Properties; json, required);children(Blocks; json, optional). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
page. - Text syntax: markdown.
Notion: Update Notion page provider:notion/page.update
Update page properties, icon, cover, or archived state.
- Connection: Requires a connected Notion account. Resource types:
notion.page. - Inputs:
pageId(Page ID; string, optional);changes(Changes; json, required). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; refreshes
page. - Text syntax: markdown.
Slack: Custom API request provider:slack/api.custom_request
Advanced request using this connection. Paths are relative to https://slack.com/api/
- Connection: Requires a connected Slack account. Resource types: none declared.
- Inputs:
method(Method; enum, required, options: GET | POST | PUT | PATCH | DELETE);path(API path; string, required, placeholder: Path within this provider’s API) — Relative to https://slack.com/api/;query(Query parameters; json, optional);body(JSON body; json, optional);pageCount(Numbered pages (1–10); number, optional, advanced) — GET only, using a numbered page parameter. Cursor and next-link pagination are not supported. Stops on an empty list;pageParameter(Page query parameter; string, optional, advanced, placeholder: page);startPage(First page number; number, optional, advanced);itemsPath(Items path in response; string, optional, advanced, placeholder: data.items (leave empty for a root array)). - Produced value: API result:
response(unknown),items(list),pages(number),pageLimitReached(boolean). - Effect: changes provider data; confirmation required.
- Text syntax: markdown.
Slack: Post Slack message provider:slack/message.post
Post a message to a channel or thread.
- Connection: Requires a connected Slack account. Resource types: none declared.
- Inputs:
channel(Channel; resource, required, resource: slack.channel);text(Message; rich_text, required, role: body);threadTs(Thread timestamp; string, optional, advanced) — Fill to reply in a thread instead of the channel. - Produced value: Slack message:
channel(text),ts(text),text(rich_text). - Effect: changes provider data; confirmation required; refreshes
message. - Text syntax: slack.
Slack: Reply in Slack thread provider:slack/message.reply
Reply in the thread of the message that triggered this run.
- Connection: Requires a connected Slack account. Resource types: none declared.
- Inputs:
channel(Channel; resource, required, resource: slack.channel, event default: payload.event.channel);text(Message; rich_text, required, role: body);threadTs(Thread timestamp; string, required, event default: payload.event.ts). - Produced value: Slack message:
channel(text),ts(text),text(rich_text). - Effect: changes provider data; confirmation required; refreshes
message. - Text syntax: slack.
Slack: Update Slack message provider:slack/message.update
Update a message posted by the connected app.
- Connection: Requires a connected Slack account. Resource types: none declared.
- Inputs:
channel(Channel; resource, required, resource: slack.channel);ts(Message timestamp; string, required);text(Message; rich_text, required, role: body). - Produced value: Slack message:
channel(text),ts(text),text(rich_text). - Effect: changes provider data; refreshes
message. - Text syntax: slack.
Slack: Add Slack reaction provider:slack/reaction.add
Add an emoji reaction to a message.
- Connection: Requires a connected Slack account. Resource types: none declared.
- Inputs:
channel(Channel; resource, required, resource: slack.channel, event default: payload.event.channel);timestamp(Message timestamp; string, required, event default: payload.event.ts);name(Emoji name; string, required). - Produced value: Slack result:
ok(boolean). - Effect: changes provider data; refreshes
message. - Text syntax: markdown.
Stripe: Create Stripe customer provider:stripe/customer.create
Create a customer in Stripe.
- Connection: Requires a connected Stripe account. Resource types: none declared.
- Inputs:
email(Email; string, required);name(Name; string, optional). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required; refreshes
customer. - Text syntax: markdown.
Stripe: Create Stripe invoice provider:stripe/invoice.create
Create a draft invoice for a customer.
- Connection: Requires a connected Stripe account. Resource types: none declared.
- Inputs:
customer(Customer ID; string, required);description(Description; string, optional, role: body). - Produced value: No named output shape is declared; use the raw result path.
- Effect: changes provider data; confirmation required.
- Text syntax: plain.
Custom API requests with a connection
Choose Custom API request when an app’s supported actions do not cover the endpoint you need. This operation is available for GitHub, Slack, Notion, Google Workspace, Microsoft 365, HubSpot, Airtable, and ClickUp. It uses the selected workspace Connection and its existing permissions. A connection does not automatically grant access to every endpoint or resource in that API. Discord does not offer this operation: its shared bot’s native actions enforce the installed server boundary.
Select GET, POST, PUT, PATCH, or DELETE and enter a relative API path within
the base shown for that provider. For example, a GitHub GET request to
repos/your-organization/your-repository/issues can use query parameters
{ "state": "open", "per_page": 20 }. Supply your own accessible repository.
Query parameters must be an object containing text, numbers, booleans, or null;
null values are omitted. GET accepts query parameters rather than a body.
Other methods may send a JSON body that matches the provider’s endpoint.
Snoze supplies authentication from the Connection. Custom hosts, authorization
headers, other custom headers, and redirects are not supported. Paths cannot
escape the provider’s configured API base. Notion requests use API version
2022-06-28. There is no multipart upload, binary response, or arbitrary URL
mode. Treat a test of a writing method as a real provider action. The operation
is conservatively marked as mutating and requiring confirmation in the
catalog, even when the chosen method is GET.
Numbered pagination
For APIs that accept numbered pages, set Numbered pages to a whole number
from 1 to 10. The default is one request. Multiple pages are supported only for
GET. Page query parameter defaults to page, and First page number
defaults to 1 and accepts non-negative integers. For a single request, put any
needed page parameter directly in the query object.
Items path in response selects an array, such as data.items; leave it
empty when the response itself is an array. Pagination stops at an empty array
or the configured page limit. A missing or non-array items path fails a paged
request. Cursor pagination, next-page URLs, and continuation tokens are not
followed automatically. Each response is limited to 1 MiB, and a request may
collect at most 10,000 items across its pages.
The result contains response (the last response), items (the collected
array), pages (requests completed), and pageLimitReached. The last flag
means the configured multi-page limit was reached without an empty page; it
does not prove that all matching results were collected or that another page
exists. For a single object response with no items path, use response; the
collected items list remains empty.
Choosing the integration path
- Use a provider operation when the provider registry offers one: it gives resource pickers, confirmation metadata, and named outputs.
- Use a legacy connector operation where that is the implemented typed path.
- Use a Data source when the goal is to synchronise external collections into a database rather than perform one remote operation.
- Use Custom API request for an unsupported endpoint in one of the connected providers listed above. It reuses that connection’s credentials and stays inside its API base.
- Use an HTTP-request Action for another endpoint when no typed operation exists. Its response is bounded and inspectable, but it cannot offer provider-owned input controls or output tokens.
Provider triggers are a separate catalog. See Automation event catalog for every event and its scope and produced payload.