QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.
Get a URL and emit the full HTTP event on every request (including headers and query parameters). You can also configure the HTTP response code, body, and more.
Get a URL and emit the HTTP body as an event on every request
Emit new event when the content of the URL changes.
QStash API offers a secure, scalable, and simple way to manage message queues and defer tasks. Using this API, you can enqueue messages, schedule tasks to run after a delay, and ensure that tasks are executed exactly once, leveraging the power of serverless architecture. With Pipedream's ability to connect to a multitude of services, you can build complex workflows that trigger actions in other apps based on events in QStash, allowing you to automate cross-application business processes with ease.
import { axios } from '@pipedream/platform';
export default defineComponent({
props: {
qstash: {
type: "app",
app: "qstash",
},
callback_url: {
type: "string",
label: "Callback URL",
description: "A URL that will be called by QStash with the body given",
},
delay: {
type: "string",
label: "Delay",
default: 0,
description: "Delay the HTTP request to the callback URL (seconds)"
}
},
async run({steps, $}) {
return axios($, {
url: `https://qstash.upstash.io/v1/publish/${this.callback_url}`,
method: 'POST',
headers: {
'Authorization': `Bearer ${this.qstash.auth.qstash_token}`,
'Upstash-Delay': `${this.qstash.delay}s`
},
data: {
hello: 'world'
}
});
}
})
Build, test, and send HTTP requests without code using your Pipedream workflows. The HTTP / Webhook action is a tool to build HTTP requests with a Postman-like graphical interface.
Define the target URL, HTTP verb, headers, query parameters, and payload body without writing custom code.
This action can also use your connected accounts with third-party APIs. Selecting an integrated app will automatically update the request’s headers to authenticate with the app properly, and even inject your token dynamically.
Pipedream integrates with thousands of APIs, but if you can’t find a Pipedream integration simply use Environment Variables in your request headers to authenticate with.
The HTTP/Webhook action exports HTTP response data for use in subsequent workflow steps, enabling easy data transformation, further API calls, database storage, and more.
Response data is available for both coded (Node.js, Python) and no-code steps within your workflow.
// To use any npm package on Pipedream, just import it
import axios from "axios"
export default defineComponent({
async run({ steps, $ }) {
const { data } = await axios({
method: "GET",
url: "https://pokeapi.co/api/v2/pokemon/charizard",
})
return data.species
},
})