Xano
Actions (19)
Function Documentation: HubSpot → Create Contact
Overview
This function creates a new contact in HubSpot using specified input parameters. It involves setting environment variables, preparing the request, and handling the response.
Inputs
hubspotapikey (registry|text) Required Sensitive data
Description: The API key for your HubSpot account.
first_name (text)
Description: The first name of the contact.
last_name (text)
Description: The last name of the contact.
email (text)
Description: The email address of the contact.
company (text)
Description: The company associated with the contact.
lead_status (enum)
Description: The lead status of the contact.
Options:
NEW
OPEN
IN_PROGRESS
OPEN_DEAL
UNQUALIFIED
ATTEMPTEDTOCONTACT
CONNECTED
BAD_TIMING
contact_owner (integer)
Description: The owner of the contact.
phone_number (text)
Description: The phone number of the contact.
additional_properties (json)
Description: Additional properties in JSON format.
Schema:
`json
{
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
`
Function Stack
Set Properties Object
Create Variable: properties_object
Purpose: Sets properties object from input: additional_properties.
HubSpot API Request
API Request to https://api.hubapi.com/crm/v3/objects/contacts
Purpose: Sends a POST request to create a new contact in HubSpot.
Preconditions
Precondition: hubspot_api.response.status == 201
Purpose: Ensures successful creation of the contact with HTTP status code 201.
Response
The function returns the result from the HubSpot API response.
Success response
`json
{
"id": "12345678",
"properties": {
"company": "Xano",
.
.
.
},
"createdAt": "2024-09-23T13:26:23.352Z",
"updatedAt": "2024-09-23T13:26:23.352Z",
"archived": false
}
`
Error message
`json
{
"message":"Uh oh! Hubspot returned with an error: Property values were not valid: [{\"isValid\":false,\"message\":\"Property \\\"prop2\\\" does not exist\",\"error\":\"PROPERTYDOESNTEXIST\",\"name\":\"prop2\",\"localizedErrorMessage\":\"Property \\\"prop2\\\" does not exist\",\"portalId\":47373842},{\"isValid\":false,\"message\":\"Property \\\"prop1\\\" does not exist\",\"error\":\"PROPERTYDOESNTEXIST\",\"name\":\"prop1\",\"localizedErrorMessage\":\"Property \\\"prop1\\\" does not exist\",\"portalId\":47373842}]"
}
`
Example
Input
`json
{
"first_name": "Unico",
"last_name": "Connect",
"email": "imagine@xano.com",
"company": "UC",
"lead_status": "OPEN",
"contact_owner": 0,
"phone_number": "123456",
"customer_Id": 0,
"additional_properties":
{
"mobilephone":"123456"
}
}
`
Output
`json
{
"id": "123456789",
"properties": {
"company": "UC",
"createdate": "2024-09-23T13:30:40.386Z",
"email": "imagine@xano.com",
"firstname": "Unico",
"hsallcontact_vids": "60968500829",
"hscurrentlyenrolledinprospecting_agent": "false",
"hsemaildomain": "xano.com",
"hsiscontact": "true",
"hsisunworked": "true",
"hsleadstatus": "OPEN",
"hslifecyclestagelead_date": "2024-09-23T13:30:40.386Z",
"hsmarketablestatus": "false",
"hsmarketableuntil_renewal": "false",
"hsmembershiphasaccessedprivate_content": "0",
"hsobjectid": "60968500829",
"hsobjectsource": "INTEGRATION",
"hsobjectsource_id": "3898752",
"hsobjectsource_label": "INTEGRATION",
"hs_pipeline": "contacts-lifecycle-pipeline",
"hsregisteredmember": "0",
"hssearchablecalculatedmobilenumber": "123456",
"hssearchablecalculatedphonenumber": "123456",
"lastmodifieddate": "2024-09-23T13:30:40.386Z",
"lastname": "Connect",
"lifecyclestage": "lead",
"mobilephone": "123456",
"phone": "123456"
},
"createdAt": "2024-09-23T13:30:40.386Z",
"updatedAt": "2024-09-23T13:30:40.386Z",
"archived": false
}
`
Automation
Updated 1 day ago
Function Documentation: HubSpot → Create Deal
Overview
This function creates a new deal in HubSpot using specified input parameters. It involves setting environment variables, preparing the request with deal details, and handling the response from the HubSpot API.
Inputs
hubspotapikey (registry|text) Required Sensitive data
Description: The API key for your HubSpot account.
name (text)
Description: The name of the deal.
deal_stage (enum)
Description: The stage of the deal.
Options
appointmentscheduled
qualifiedtobuy
presentationscheduled
decisionmakerboughtin
contractsent
closedwon
closedlost
close_date (timestamp)
Description: The expected close date of the deal. A unix timestamp in milliseconds.
owner_id (integer)
Description: The ID of the owner of the deal.
amount (decimal)
Description: The amount associated with the deal.
additional_properties (json)
Description: Additional properties in JSON format for the deal.
Function Stack
Create Properties Object
Create Variable: properties_obj
Purpose: Sets properties object from input: additional_properties and other input fields.
HubSpot API Request
API Request to https://api.hubapi.com/crm/v3/objects/deals
Purpose: Sends a POST request to create a new deal in HubSpot.
Preconditions
Precondition: hubspot_api.response.status == 201
Purpose: Ensures successful creation of the deal with HTTP status code 201.
Response
The function returns the result from the HubSpot API response.
Success response
`json
{
"id": "22658811284",
"properties": {
"createdate": "2024-09-26T11:47:07.243Z",
.
.
.
},
"createdAt": "2024-09-26T11:47:07.243Z",
"updatedAt": "2024-09-26T11:47:07.243Z",
"archived": false
}
`
Error response
`json
{
"message": "Uh oh! Hubspot returned with an error: Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview"
}
`
Example
Input
`json
{
"name": "Xano Actions",
"deal_stage": "qualifiedtobuy",
"close_date": 1729771263000,
"owner_id": 0,
"amount": 1456.55,
"additional_properties":
{
"closedwonreason": "Quick deployment"
}
}
`
Output
`json
{
"id": "22651426560",
"properties": {
"amount": "1456.55",
.
.
.
},
"createdAt": "2024-09-26T12:02:50.213Z",
"updatedAt": "2024-09-26T12:02:50.213Z",
"archived": false
}
`
Automation
Updated 3 days ago
Function Documentation: HubSpot → Get Contact
Overview
This function retrieves a specific contact from HubSpot using the contact's ID. It involves setting environment variables, preparing the request, and handling the response from the HubSpot API.
Inputs
id (integer)
Description: The unique identifier of the contact to be retrieved.
properties (text[])
Description: A list of contact properties to retrieve.
Function Stack
HubSpot API Request
API Request to https://api.hubapi.com/crm/v3/objects/contacts/{id}
Purpose: Sends a GET request to retrieve the specified contact from HubSpot.
Preconditions
Precondition: hubspot_api.response.status == 200
Purpose: Ensures successful retrieval of the contact with HTTP status code 200.
Response
The function returns the result from the HubSpot API response.
Success response
`json
{
"id": "12345",
"properties": {
"company": "HubSpot",
"createdate": "2024-09-12T10:58:14.335Z",
"hsobjectid": "12345",
"lastmodifieddate": "2024-09-12T10:58:18.831Z"
},
"createdAt": "2024-09-12T10:58:14.335Z",
"updatedAt": "2024-09-12T10:58:18.831Z",
"archived": false
}
`
Error response
`json
{
"message": "Uh oh! Hubspot returned with an error: Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview"
}
`
Example
Input
`json
{
"id": 123456,
"properties": [
"company"
]
}
`
Output
`json
{
"id": "123456",
"properties": {
"company": "UC",
"createdate": "2024-09-23T13:30:40.386Z",
"hsobjectid": "60968500829",
"lastmodifieddate": "2024-09-23T13:31:43.044Z"
},
"createdAt": "2024-09-23T13:30:40.386Z",
"updatedAt": "2024-09-23T13:31:43.044Z",
"archived": false
}
`
Automation
Updated 3 days ago
HubSpot → Get Deal
Overview
This function retrieves a specific deal from HubSpot using the deal's ID. It involves setting environment variables, preparing the request, and handling the response from the HubSpot API.
Inputs
hubspotapikey (registry|text) Required Sensitive data
Description: The API key for your HubSpot account.
deal_id (integer)
Description: The unique identifier of the deal to be retrieved.
properties (text[])
Description: A list of deal properties to retrieve.
propertieswithhistory (text[])
Description: A list of deal properties with their history to retrieve.
Function Stack
HubSpot API Request
API Request to https://api.hubapi.com/crm/v3/objects/deals/{deal_id}
Purpose: Sends a GET request to retrieve the specified deal from HubSpot.
Preconditions
Precondition: hubspot_api.response.status == 200
Purpose: Ensures successful retrieval of the deal with HTTP status code 200.
Response
The function returns the result from the HubSpot API response.
Success response
`json
{
"deal_id": 22413038713,
"properties": [],
"propertieswithhistory": [
"closedwonreason"
]
}
`
Error response
`json
{
"message": "Uh oh! Hubspot returned with an error: Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview"
}
`
Example
Input
`json
{
"deal_id": 22413038713,
"properties": [],
"propertieswithhistory": [
"closedwonreason"
]
}
`
Output
`json
{
"id": "22413038713",
"properties": {
"amount": "1456.55",
.
.
.
},
"createdAt": "2024-09-26T12:02:50.213Z",
"updatedAt": "2024-09-26T12:02:50.213Z",
"archived": false
}
`
Automation
Updated 12 days ago
Function Documentation: HubSpot → List Contacts
Overview
This function retrieves a list of contacts from HubSpot. It involves setting environment variables, preparing the request with optional parameters, and handling the response from the HubSpot API.
Inputs
hubspotapikey (registry|text) Required Sensitive data
Description: The API key for your HubSpot account.
after (integer)
Description: The paging cursor to get the next set of contacts.
properties (text[])
Description: A list of contact properties to retrieve.
Function Stack
HubSpot API Request
API Request to https://api.hubapi.com/crm/v3/objects/contacts
Purpose: Sends a GET request to retrieve contacts from HubSpot.
Parameters: Includes archived=false, optional after cursor, and specified properties.
Preconditions
Precondition: hubspot_api.response.status == 200
Purpose: Ensures successful retrieval of contacts with HTTP status code 200.
Response
The function returns the result from the HubSpot API response.
Success response
`json
{
"results": [
{
"id": "123456789",
"properties": {
"createdate": "2024-09-12T11:36:05.267Z",
"hsmarketablestatus": "false",
"hsobjectid": "123456789",
"lastmodifieddate": "2024-09-12T11:36:22.982Z"
},
"createdAt": "2024-09-12T11:36:05.267Z",
"updatedAt": "2024-09-12T11:36:22.982Z",
"archived": false
},
.
.
.
],
"paging": {
"next": {
"after": "123456789",
"link": "https://api.hubapi.com/crm/v3/objects/contacts/?archived=false&after=123456789&properties=hsmarketablestatus"
}
}
}
`
Error response
`json
{
"message": "Uh oh! Hubspot returned with an error: Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview"
}
`
Example
Input
`json
{
"after": 0,
"properties": [
"hsmarketablestatus"
]
}
`
Output
`json
{
"results": [
{
"id": "12345",
"properties": {
"createdate": "2024-09-12T11:36:05.267Z",
"hsmarketablestatus": "false",
"hsobjectid": "57309372733",
"lastmodifieddate": "2024-09-12T11:36:22.982Z"
},
"createdAt": "2024-09-12T11:36:05.267Z",
"updatedAt": "2024-09-12T11:36:22.982Z",
"archived": false
},
.
.
.
],
"paging": {
"next": {
"after": "1234",
"link": "https://api.hubapi.com/crm/v3/objects/contacts/?archived=false&after=12345&properties=hsmarketablestatus"
}
}
}
`
Automation
Updated 9 days ago
HubSpot → List Deals
Overview
This function retrieves a list of deals from HubSpot. It involves setting environment variables, preparing the request with optional parameters, and handling the response from the HubSpot API.
Inputs
hubspotapikey (registry|text) Required Sensitive data
Description: The API key for your HubSpot account.
after (integer)
Description: The paging cursor to get the next set of deals.
limit (integer)
Description: The maximum number of deals to retrieve.
properties (text[])
Description: A list of deal properties to retrieve.
propertieswithhistory (text[])
Description: A list of deal properties with their history to retrieve.
Function Stack
HubSpot API Request
API Request to https://api.hubapi.com/crm/v3/objects/deals
Purpose: Sends a GET request to retrieve deals from HubSpot.
Parameters: Includes optional after cursor, limit, and specified properties.
Preconditions
Precondition: hubspot_api.response.status == 200
Purpose: Ensures successful retrieval of deals with HTTP status code 200.
Response
The function returns the result from the HubSpot API response.
Success response
`json
{
"deal_id": 22413038713,
"properties": [],
"propertieswithhistory": [
"closedwonreason"
]
}
`
Error response
`json
{
"message": "Uh oh! Hubspot returned with an error: Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview"
}
`
Example
Input
`json
{
"after": "22393633108",
"limit": 10,
"properties": [],
"propertieswithhistory": [
"dealname"
]
}
`
Output
`json
[
{
"id": "22393633108",
.
.
.
},
.
.
]
`
Automation
Updated 5 days ago
Function Documentation: HubSpot → Update Contact
Overview
This function allows you to edit an existing contact in HubSpot using specified input parameters. It involves setting environment variables, preparing the request with updated information, and handling the response from the HubSpot API.
Inputs
hubspotapikey (registry|text) Required Sensitive data
Description: The API key for your HubSpot account.
first_name (text)
Description: The updated first name of the contact.
last_name (text)
Description: The updated last name of the contact.
email (email)
Description: The updated email address of the contact.
company (text)
Description: The updated company associated with the contact.
lead_status (enum)
Description: The updated lead status of the contact.
Options:
NEW
OPEN
IN_PROGRESS
OPEN_DEAL
UNQUALIFIED
ATTEMPTEDTOCONTACT
CONNECTED
BAD_TIMING
contact_owner (integer)
Description: The updated owner of the contact.
phone_number (text)
Description: The updated phone number of the contact.
contact_id (integer)
Description: The unique identifier of the contact to be edited.
additional_properties (json)
Description: Additional properties in JSON format to be updated.
Schema:
`json
{
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
`
> [❗] You can clear a property value by passing an empty string. Example: {"company":""} . This will clear the value stored in the company field.
Function Stack
Set Properties Object
Create Variable: properties_object
Purpose: Sets properties object from input: additional_properties and other input fields.
HubSpot API Request
API Request to https://api.hubapi.com/crm/v3/objects/contacts/{contact_id}
Purpose: Sends a PATCH request to update the specified contact in HubSpot.
Create Variable
Create Variable: inputss
Purpose: Checks if the company input is null.
Preconditions
Precondition: hubspot_api.response.status == 200
Purpose: Ensures successful update of the contact with HTTP status code 200.
Response
The function returns the result from the HubSpot API response.
Success response
`json
{
"id": "123456789",
"properties": {
"company": "Xano",
.
.
.
"phone": "42"
},
"createdAt": "2024-09-16T12:11:28.596Z",
"updatedAt": "2024-09-23T13:41:47.246Z",
"archived": false
}
`
Error message
`json
{
"message":"Uh oh! Hubspot returned with an error: Property values were not valid: [{\"isValid\":false,\"message\":\"Property \\\"prop2\\\" does not exist\",\"error\":\"PROPERTYDOESNTEXIST\",\"name\":\"prop2\",\"localizedErrorMessage\":\"Property \\\"prop2\\\" does not exist\",\"portalId\":47373842},{\"isValid\":false,\"message\":\"Property \\\"prop1\\\" does not exist\",\"error\":\"PROPERTYDOESNTEXIST\",\"name\":\"prop1\",\"localizedErrorMessage\":\"Property \\\"prop1\\\" does not exist\",\"portalId\":47373842}]"
}
`
Example
Input
`json
{
"first_name": "Xano",
"last_name": "Actions",
"email": "actions@xano.com",
"company": "Xano",
"leadstatus": "OPENDEAL",
"contact_owner": 0,
"phone_number": "42",
"contact_id": 123456789,
"additional_properties": {
"mobilephone":"1024"
}
`
Output
`json
{
"id": "123456789",
"properties": {
"company": "Xano",
.
.
.
"phone": "42"
},
"createdAt": "2024-09-16T12:11:28.596Z",
"updatedAt": "2024-09-23T13:41:47.246Z",
"archived": false
}
`
Automation
Updated 12 days ago
HubSpot → Update Deal
Overview
This function allows you to edit an existing deal in HubSpot using specified input parameters. It involves setting environment variables, preparing the request with updated deal details, and handling the response from the HubSpot API.
Inputs
hubspotapikey (registry|text) Required Sensitive data
Description: The API key for your HubSpot account.
name (text)
Description: The updated name of the deal.
deal_stage (enum)
Description: The updated stage of the deal.
Options
appointmentscheduled
qualifiedtobuy
presentationscheduled
decisionmakerboughtin
contractsent
closedwon
closedlost
close_date (timestamp)
Description: The updated expected close date of the deal in unix timestamp format in milliseconds.
owner_id (integer)
Description: The updated ID of the owner of the deal.
amount (decimal)
Description: The updated amount associated with the deal.
deal_id (text)
Description: The unique identifier of the deal to be edited.
additional_properties (json)
Description: Additional properties in JSON format to be updated.
Function Stack
Create Properties Object
Create Variable: properties_obj
Purpose: Sets properties object from input: additional_properties and other input fields.
HubSpot API Request
API Request to https://api.hubapi.com/crm/v3/objects/deals/{deal_id}
Purpose: Sends a PATCH request to update the specified deal in HubSpot.
Preconditions
Precondition: hubspot_api.response.status == 200
Purpose: Ensures successful update of the deal with HTTP status code 200.
Response
The function returns the result from the HubSpot API response.
Success response
`json
{
"name": "Xano Actions",
"deal_stage": "qualifiedtobuy",
"close_date": 1729771263000,
"owner_id": 0,
"amount": 1456.55,
"additional_properties":
{
"closedwonreason": "Quick deployment"
},
"deal_id": "22413038713"
}
`
Error response
`json
{
"message": "Uh oh! Hubspot returned with an error: Authentication credentials not found. This API supports OAuth 2.0 authentication and you can find more details at https://developers.hubspot.com/docs/methods/auth/oauth-overview"
}
`
Example
Input
`json
{
"name": "Xano Actions",
"deal_stage": "qualifiedtobuy",
"close_date": 1729771263000,
"owner_id": 0,
"amount": 1456.55,
"additional_properties":
{
"closedwonreason": "Quick deployment"
},
"deal_id": "22413038713"
}
`
Output
`json
{
"id": "22413038713",
"properties": {
"amount": "1456.55",
.
.
.
},
"createdAt": "2024-09-26T12:02:50.213Z",
"updatedAt": "2024-09-26T12:02:50.213Z",
"archived": false
}
`
Automation
Updated 4 days ago
Function Documentation: OpenAI -> Create a Chat Completion
OpenAI API documentation
Overview
This function generates a chat completion using the OpenAI API based on a user-provided input text. It requires parameters such as the model & input message. The function validates environment variables and conditions before making an API request and processing the response.
Inputs
openaiapikey (registry|text) Required Sensitive data
Description: The API key for your OpenAI account.
model (enum) Required
Description: Specifies the model to be used for generating the chat completion.
Options:
gpt-4o-mini (default)
gpt-4o
message (text) Required
Description: The input message or prompt that will be sent to the OpenAI API for generating the chat completion.
Function Stack
OpenAI API Request
API Request to https://api.openai.com
Purpose: Sends a request to the OpenAI API using the specified model and message.
Precondition: openaiapiresponse.status == 200
Purpose: Confirms that the API request was successful (HTTP status code 200).
OpenAI API Response
Create Variable: response
Purpose: Stores the response from the OpenAI API.
Response
The function returns the generated chat completion
Success response
`json
{"Barack Obama is 6 feet 1 inch tall (185 cm)."}
`
Error response
`json
{
"message": "Incorrect API key provided: ssk-None***GQPD. You can find your API key at https://platform.openai.com/account/api-keys."
}
`
Example
Input
`json
{ "model": "gpt-4o-mini", "message": "What is Obama's height?" }
`
Response
`json
{"Barack Obama is 6 feet 1 inch tall (185 cm)."}
`
AI
Updated 3 days ago
Function Documentation: OpenAI -> Describe an Image from a URL
OpenAI Vision API
Overview
This function generates a description of an image using the OpenAI API based on the provided image URL. It requires parameters such as the image URL & model. The function ensures necessary environment variables are set and verifies conditions before making the API request and processing the response.
Inputs
openaiapikey (registry|text) Required Sensitive data
Description: The API key for your OpenAI account.
image_url (text) Required
Description: The URL of the image that will be sent to the OpenAI API for generating the description.
model (enum) Required
Description: Specifies the model to be used for generating the image description.
Options:
gpt-4o-mini (default)
gpt-4o
Function Stack
OpenAI API Request
API Request to https://api.openai.com
Purpose: Sends a request to the OpenAI API using the specified model and image URL.
Precondition: openaiapiresponse.status == 200
Purpose: Confirms that the API request was successful (HTTP status code 200).
OpenAI API Response
Create Variable: response
Purpose: Stores the response from the OpenAI API.
Response
The function returns the generated image description, optionally including token usage details if the showtokenusage flag is set to true.
Success response
`json
{
"The image depicts a model or miniature of a fortified castle or walled city. It features a large structure at the top, resembling a castle, with walls and towers surrounding smaller buildings that likely represent a village or town inside the fortifications. The overall layout suggests a historical or fantasy setting, commonly seen in architectural models or films."
}
`
Error response
`json
{
"message":"Invalid image."
}
`
Example
Input
`json
{
"imageurl": "https://upload.wikimedia.org/wikipedia/commons/b/b7/MedievalDurr%C3%ABs.jpg",
"model": "gpt-4o-mini",
}
`
Response
`json
{
"The image depicts a model or miniature of a fortified castle or walled city. It features a large structure at the top, resembling a castle, with walls and towers surrounding smaller buildings that likely represent a village or town inside the fortifications. The overall layout suggests a historical or fantasy setting, commonly seen in architectural models or films."
}
`
AI
Updated 9 days ago
Function Documentation: OpenAI → Generate an image (Simple)
OpenAI Vision API
Overview
This function generates an image using the OpenAI API based on a text prompt, with options for size and model. It is designed to take user input, validate it, and return an image URL if the request is successful.
Inputs
openaiapikey (registry | text)
Purpose: API key required to authenticate with OpenAI's image generation endpoint.
Example: "sk-...your-key-here"
prompt (text)
Purpose: The text description for the image to generate.
Example: "A futuristic city with flying cars"
img_size (enum)
Purpose: The size of the generated image.
Options:
"1024x1024"
"1024x1792"
"1792x1024"
model (enum)
Purpose: The OpenAI model to use for generating the image.
Options:
"dall-e-3"
"dall-e-2"
Function Stack
OpenAI API Request
Endpoint: https://api.openai.com/v1/images/generations
Purpose: Sends a POST request to the OpenAI API with the prompt and image size parameters.
Preconditions
Condition: openai_api.response.status == 200
Purpose: Ensures that the request was successful (HTTP 200 status code).
OpenAI API Response
Create Variable: response
Purpose: Stores the response from OpenAI API, which contains the URL of the generated image.
Response
The function returns the generated image URL or image content.
Success response
`json
{
"image_url": "https://api.openai.com/v1/images/abcd1234"
}
`
Error response
`json
{
"message": "Incorrect API key provided: ssk-None***GQPD. You can find your API key at https://platform.openai.com/account/api-keys."
}
`
Example
Input
Headers:
Authorization: Bearer openaiapikey
Body:
`json
{
"prompt": "A futuristic city with flying cars",
"size": "1024x1024",
"model": "DALL-E"
}
`
Output
`json
{
"image_url": "https://api.openai.com/v1/images/abcd1234"
}
`
AI
Updated 2 days ago
Function Documentation: OpenAI -> Get Embeddings
OpenAI Embeddings API
Overview
This function generates an embedding for a given text input using the OpenAI API. It requires parameters such as the input text & model. The function ensures that the necessary environment variables are set and verifies conditions before making the API request and processing the response.
Inputs
openaiapikey (registry|text) Required Sensitive data
Description: The API key for your OpenAI account.
input_text (text) Required
Description: The text input for which an embedding will be generated by the OpenAI API.
model (enum) Required
Description: Specifies the model to be used for generating the embedding.
Options:
text-embedding-3-small (default)
text-embedding-3-large
text-embedding-ada-002
Function Stack
OpenAI API Request
API Request to https://api.openai.com
Purpose: Sends a request to the OpenAI API using the specified model and input text.
Precondition: openaiapiresponse.status == 200
Purpose: Confirms that the API request was successful (HTTP status code 200).
OpenAI API Response
Create Variable: response
Purpose: Stores the response from the OpenAI API.
Response
The function returns the generated embedding.
Success response
`json
{
[
0.020631326,
-0.0042284927,
.
.
.
0.03682661
]
}
`
Error response
`json
{
"message": "Incorrect API key provided: sk-Nosne***GQPD. You can find your API key at https://platform.openai.com/account/api-keys."
}
`
Example
Input
`json
{
"input_text": "Welcome to Xano Actions!",
"model": "text-embedding-3-small",
"showtokenusage": true
}
`
Response
`json
{
[
0.020631326,
-0.0042284927,
.
.
.
0.03682661
]
}
`
AI
Updated 4 days ago
Function Documentation: OpenAI -> Summarize (Simple)
OpenAI Vision API;
Overview
This function summarizes a piece of text using the OpenAI API. It requires an input text and returns a summary of that text.
Inputs
openaiapikey (registry | text) Required
Description: The API key required to access the OpenAI API for processing the input text.
input_text (text) Required
Description: The text that needs to be summarized.
model (enum) Optional
Description: Specifies the model to be used for generating the summary.
Options:
gpt-4o-mini (default)
gpt-4o
gpt-4o-turbo
Function Stack
OpenAI API Request
API Request to https://api.openai.com/v1/chat/completions
Purpose: Sends a request to the OpenAI API to summarize the input text.
Precondition: API Request Success
Precondition: openai_api.response.status == 200
Purpose: Ensures that the API request was successful (HTTP status code 200).
OpenAI API Response Content
Create Variable: response
Purpose: Stores the summary response content from the OpenAI API, retrieved from the result.
Response
The function returns a summary of the provided input text.
Success response
`json
{
"summary": "A brief and concise explanation of the input text."
}
`
Error response
`json
{
"error": {
"message": "API key is missing or invalid."
}
}
`
Example
Input
`json
{
"openaiapikey": "sk-xxxxxx",
"input_text": "Artificial Intelligence has transformed many industries...",
"model": "gpt-4"
}
`
Output
`json
{
"summary": "AI has greatly impacted various industries through automation and efficiency."
}
`
AI
Updated 9 days ago
Postmark → Send Batch Emails
Overview
This function allows you to send a batch of emails using the Postmark API. It requires parameters such as the sender email address, recipient email addresses, subject, body, and optionally a template ID.
Inputs
postmarkbaseurl (registry|text) Required
Description: The base url for calling the Postmark API (e.g., "https://api.postmarkapp.com/").
postmarkservertoken (registry|text) Required Sensitive data
Description: This is the Postmark Server API Token (e.g., "14g8dce4-7054-47c9-a18a-2107e5cf4e41"). This is needed for authentication on endpoints.
message (Object[]) Required
Description: An Object of message, each containing the following properties:
from_email (text) Required
Description: The email address of the sender.
to_email (text) Required
Description: The email address of the recipient.
subject (text) Required
Description: The subject line of the email.
html_body (text) Optional
Description: The HTML content of the email message. If provided, it takes precedence over text_body.
text_body (text) Optional
Description: The plain text content of the email message. If provided and html_body is not, it will be used.
Function Stack
Create Variable: api_url
Purpose: Constructs the API URL for sending batch emails.
Create Variable: api_token
Purpose: Stores the Postmark API token.
Create Variable: messages_payload
Purpose: Initializes an empty array to store the Postmark formatted messages.
Precondition
Precondition: from_email should not exceed 255 characters.
Purpose: Ensures the sender email address is not too long.
Precondition: from_email is a valid email format.
Purpose: Ensures the sender email address is formatted correctly.
Precondition: to_email is a valid email format and allows comma-separated values.
Purpose: Ensures recipient email addresses are formatted correctly and the list is not too long.
Precondition: to_email should not exceed 50 email addresses.
Purpose: Limits the number of recipients per batch.
Precondition: textbody or htmlbody != null
Purpose: Either textbody or htmlbody (or both) are provided.
Precondition: html_body is a valid HTML format
Purpose: html_body is a valid HTML format
Convert Message: Postmark Format
Purpose: Create a Postmark message object with the required fields, ensuring that to_email is converted to an array if it's a comma-separated list.
Update Variable: Increment message_counter.
Purpose: Update message_counter.
API Request
Sends a POST request to the apiurl with the messagespayload as the request body.
Create Variable: postmark_response
Purpose: Stores the response from the Postmark API.
7 Create Variable: response
Purpose: Creates a response object with the result from the Postmark API.
Response
The function returns a success message or an error message depending on the outcome.
Success Response
`json
{
"To": "user1@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-1",
"ErrorCode": 0,
"Message": "OK"
},
{
"To": "user2@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-2",
"ErrorCode": 0,
"Message": "OK"
}
`
Error Response
`json
{
"ErrorCode": 401,
"Message": "Unauthorized: Missing or incorrect API key."
}
`
Example
Input
`json
{
"message": [
{
"from_email": "sender@example.com",
"to_email": "recipient1@example.com,recipient2@example.com",
"subject": "Welcome to Our Service",
"html_body": "<h1>Welcome!</h1><p>Thank you for joining our service.</p>",
"text_body": "Welcome! Thank you for joining our service."
},
{
"from_email": "admin@example.com",
"to_email": "recipient3@example.com",
"subject": "Important Update",
"html_body": "<h1>Update</h1><p>Here’s an important update for you.</p>"
}
]
}
`
Output
`json
[
{
"To": "recipient1@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-1",
"ErrorCode": 0,
"Message": "OK"
},
{
"To": "recipient2@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-2",
"ErrorCode": 0,
"Message": "OK"
},
{
"To": "recipient3@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-3",
"ErrorCode": 0,
"Message": "OK"
}
]
`
Automation
Updated 4 days ago
Function Documentation: Postmark → Send Email with Template
Overview
This function allows you to send emails using the Postmark API with a pre-defined template. You can specify the recipient email address, the template ID, and the data to populate the template placeholders.
Inputs
postmarkbaseurl (registry|text) Required
Description: The base url for calling the Postmark API (e.g., "https://api.postmarkapp.com/").
postmarkservertoken (registry|text) Required Sensitive data
Description: This is the Postmark Server API Token (e.g., "14g8dce4-7054-47c9-a18a-2107e5cf4e41"). This is needed for authentication on endpoints.
from_email (text) Required
Description: The email address that will appear as the sender.
Example: noreply@yourdomain.com
to_emails (text) Required
Description: A list of email addresses to send the batch emails to.
Example: user1@example.com
template_id (integer) Required
Description: The ID of the Postmark template to use.
Example: 12345
template_model (json) Required
Description: The data to populate the template placeholders. The structure of this data depends on your specific Postmark template.
Example: Refer to Postmark documentation for template data structure.
Function Stack
Create Variable:
Create Variable: api_url
Purpose: Constructs the API URL for sending emails with templates.
Create Variable:
Create Variable: api_token
Purpose: Stores the Postmark API token.
Precondition:
Precondition: from_email should not exceed 255 characters.
Purpose: Ensures the sender email address is not too long.
Precondition: from_email is a valid email format.
Purpose: Ensures the sender email address is formatted correctly.
Precondition: to_email is a valid email format and allows comma-separated values.
Purpose: Ensures recipient email addresses are formatted correctly and the list is not too long.
Precondition: to_email should not exceed 50 email addresses.
Purpose: Limits the number of recipients per batch.
Postmask API Request:
API Request to: https://api.postmarkapp.com/email
Purpose: Sends a POST request to the api_url with the following payload:
`JSON
{
"from_email": "noreply@yourdomain.com",
"to_email": "user@example.com",
"template_id": 12345,
"template_model": {
"name": "John Doe",
"email": "john.doe@example.com"
}
}
`
Create Variable:
Create Variable: postmark_response
Purpose: Stores the response from the Postmark API.
Create Variable:
Create Variable: response
Purpose: Creates a response object with the result from the Postmark API.
Response
The function returns the result from the Postmark API response.
Success response
`json
{
"To": "user1@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-1",
"ErrorCode": 0,
"Message": "OK"
},
{
"To": "user2@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-2",
"ErrorCode": 0,
"Message": "OK"
}
`
Error response
`json
{
"ErrorCode": 401,
"Message": "Unauthorized: Missing or incorrect API key."
}
`
Example
Input
`json
{
"from_email": "noreply@yourdomain.com",
"to_email": "user@example.com",
"template_id": 12345,
"template_model": {
"name": "John Doe",
"email": "john.doe@example.com"
}
}
`
Output
`json
{
"To": "user@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-1",
"ErrorCode": 0,
"Message": "OK"
}
`
Automation
Updated 3 days ago
Postmark → Send Single Email
Overview
This function allows you to send a single email using the Postmark API. It requires parameters such as the sender email address, recipient email address, subject, body (in either HTML or plain text format), and optionally a template ID.
Inputs
postmarkbaseurl (registry|text) Required
Description: The base url for calling the Postmark API (e.g., "https://api.postmarkapp.com/").
postmarkservertoken (registry|text) Required Sensitive data
Description: This is the Postmark Server API Token (e.g., "14g8dce4-7054-47c9-a18a-2107e5cf4e41"). This is needed for authentication on endpoints.
from_email (text) Required
Description: The email address of the sender.
Example: noreply@yourdomain.com
to_email (text) Required
Description: The email address of the recipient.
Example: user@example.com
subject (text) Required
Description: The subject line of the email.
Example: Welcome to Our Service
html_body (text) Optional
Description: The HTML content of the email message. If provided, it takes precedence over text_body.
Example: <h1>Hello, John!</h1><p>Thank you for signing up.</p>
text_body (text) Optional
Description: The plain text content of the email message. If provided and html_body is not, it will be used.
Example: Hello, John! Thank you for signing up.
Function Stack
Create Variable
Create Variable: api_url
Purpose: Constructs the API URL for sending single emails.
Create Variable
Create Variable: api_token
Purpose: Stores the Postmark API token.
Precondition Logic
Precondition: from_email should not exceed 255 characters.
Purpose: Ensures the sender email address is not too long.
Precondition: from_email is a valid email format.
Purpose: Ensures the sender email address is formatted correctly.
Precondition: to_email is a valid email format.
Purpose: Ensures recipient email address is formatted correctly.
Precondition: to_email should not exceed 50 email addresses.
Purpose: Limits the number of recipients to avoid batch size issues.
Precondition: Either textbody or htmlbody (or both) are provided.
Purpose: Ensures that at least one form of email content is available.
Precondition: html_body is a valid HTML format.
Purpose: Ensures that if HTML is provided, it is well-formed.
API Request
API Request to: https://api.postmarkapp.com/email
Purpose: Sends a POST request to the api_url with the following payload:
`json
{
"from_email": "noreply@yourdomain.com",
"to_email": "user@example.com",
"subject": "Welcome to Our Service",
"html_body": "<h1>Hello, John!</h1><p>Thank you for signing up.</p>", // Optional
"text_body": "Hello, John! Thank you for signing up." // Optional
}
`
Create Variable
Create Variable: postmark_response
Purpose: Stores the response from the Postmark API.
Create Variable
Create Variable: response
Purpose: Creates a response object containing the result from the Postmark API.
Conditional Check
Conditional: Checks if the response status is 200 and the error code is 0.
If True: Updates the response object to indicate success.
If False: Updates the response object to indicate an error.
Response
The function returns either a success message or an error message depending on the outcome.
Success Response
`json
{
"To": "user@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-1",
"ErrorCode": 0,
"Message": "OK"
}
`
Error Response
`json
{
"ErrorCode": 401,
"Message": "Unauthorized: Missing or incorrect API key."
}
`
Example
Input
`json
{
"from_email": "noreply@yourdomain.com",
"to_email": "user@example.com",
"subject": "Welcome to Our Service",
"html_body": "<h1>Hello, John!</h1><p>Thank you for signing up.</p>",
"text_body": "Hello, John! Thank you for signing up."
}
`
Output
`json
{
"To": "user@example.com",
"SubmittedAt": "2024-10-07T14:33:15.817Z",
"MessageID": "message-id-1",
"ErrorCode": 0,
"Message": "OK"
}
`
Automation
Updated 6 days ago
Function Documentation: Slack -> Send Channel Message
Overview
This function sends a message to a specified Slack channel using the Slack API. It uses a pre-configured Slack token from the environment to authenticate the request and sends a message to the channel based on user inputs.
Inputs
slack_token (registry|text) Required
Purpose: The Bot User OAuth Token that is automatically generated when you install an app to a Slack Workspace.
channel_id (text) Required
Purpose: The ID of the Slack channel where the message will be sent.
message (text) Required
Purpose: The content of the message to be sent to the Slack channel.
Function Stack
API Request to Slack
Endpoint: https://slack.com/api/chat.postMessage
Method: POST
Parameters:
channel: The Slack channel ID (channel_id input).
text: The message content (message input).
Headers:
Authorization: Bearer slack_token
Purpose: Sends a message to the specified Slack channel using the Slack API.
Create Variable: response
Variable: var: response = var: api_response.response.result
Purpose: Stores the response from the Slack API after sending the message.
Response
The function returns the response from Slack, which contains information about the message and its status.
Success Response
`json
{
{
"ok": true,
"channel": "C07983**",
"ts": "1728480204.015929",
"message": {
"user": "U06UJRZ**",
"type": "message",
.
.
.
}
}
}
`
Error response
`json
{
"ok": false,
"error": "channelnotfound"
}
`
Example
Input
`json
{
"channel_id": "C01A*",
"message": "Hello, Slack channel!"
}
`
Output
`json
{
{
"ok": true,
"channel": "C07983**",
"ts": "1728480204.015929",
"message": {
"user": "U06UJRZ**",
"type": "message",
.
.
.
}
}
}
`
Automation
Updated 5 days ago
WhatsApp API → Send Message via WhatsApp
Overview
This function allows you to send a WhatsApp message using the WhatsApp API by calling the Facebook Graph API. You can specify the recipient's phone number and the message content, and the function will handle sending the message to the recipient.
Inputs
whatsappaccountid (registry/text) Required
Description: The WhatsApp account ID associated with the message-sending feature.
Example: 1234567890
whatsapp_token (registry/text) Required
Description: The token or authentication key to authenticate the API request to WhatsApp.
Example: EAAkfsidlfjsdflslkn...
to_number (text) Required
Description: The recipient's phone number in international format (without '+' or '00'). For example, a US phone number would be entered as 11234567890.
Example: 11234567890
message (text) Required
Description: The content of the message that will be sent to the recipient.
Example: Hello, this is a test message from our service!
version (text) Required
Description: The API version to use when making the request to the WhatsApp Graph API.
Example: v2.8
Function Stack
API Request to WhatsApp API
API Request To: https://graph.facebook.com/{version}/{whatsappaccountid}/messages
Method: POST
Headers:
Authorization: Bearer {whatsapp_token}
Body:
`json
{
"messaging_product" : "whatsapp",
"recipient_type" : "individual",
"to": "+9183277*",
"type": "text",
"text": {
"preview_url": false,
"body": "Hello World"
}
}
`
Purpose: Sends a POST request to the WhatsApp API with the recipient's phone number and the message to be delivered.
Create Variable: response
Variable: var: response = var: api_response.response.result
Purpose: Stores the response from the Whatsapp API after sending the message.
Response
The function returns the result from the WhatsApp API.
Success Response
`json
{
"messaging_product": "whatsapp",
"contacts": [
{
"input": "+9183277*",
"wa_id": "91832770*"
}
],
"messages": [
{
"id": "wamid.HBgMOTE4MzI3N**"
}
]
}
`
Error response
`json
{
"success": false,
"error_code": 401,
"message": "Unauthorized: Invalid or missing API token."
}
`
Example
Input
`json
{
"messaging_product" : "whatsapp",
"recipient_type" : "individual",
"to": "+9183277*",
"type": "text",
"text": {
"preview_url": false,
"body": "Hello World"
}
}
`
Output
`json
{
"messaging_product": "whatsapp",
"contacts": [
{
"input": "+918327*",
"wa_id": "9183277*"
}
],
"messages": [
{
"id": "wamid.HBgMOTE4MzI3N**"
}
]
}
`
Updated 1 day ago
Function Documentation: xAI -> Create a Chat Completion
xAI API documentation
Overview
This function generates a completion using the xAI API based on a user-provided request. It requires parameters such as the model & prompt text. The function validates environment variables and conditions before making an API request and processing the response.
Inputs
xaiapikey (registry|text) Required Sensitive data
Description: The API key for your xAI account.
model (enum) Required
Description: Specifies the model to be used for generating the completion.
Options:
Available models will be specified by xAI
message (text) Required
Description: The input prompt that will be sent to the xAI API for generating the completion.
system (text) Required
Description: Initial instructions that shape the AI's behavior, role, and response style. Sets the context and guidelines for how the AI should interact throughout the conversation on task.
Function Stack
xAI API Request
API Request to https://api.x.ai/v1/completions
Purpose: Sends a request to the xAI API using the specified model and prompt.
Precondition: xaiapiresponse.status == 200
Purpose: Confirms that the API request was successful (HTTP status code 200).
xAI API Response
Create Variable: response
Purpose: Stores the response from the xAI API.
Response
The function returns the generated completion in a structured format
Success Response
Response provided as a string.
Error Response
`json
{
"error": {
"message": "Invalid API key provided",
"type": "invalidrequesterror"
}
}
`
Example
Input
`json
{
"model": "grok-beta",
"prompt": "What is Obama's height?"
}
`
Response
`
"Barack Obama is 6 feet 1 inch tall (185 cm)."
`
AI
Updated 3 days ago