What do you want to automate

with SSH (key-based auth) and Needle?

Prompt, edit and deploy AI agents that connect to SSH (key-based auth), Needle and 2,500+ other apps in seconds.

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Execute a Command with the SSH (key-based auth) API

Executes a command on a remote device. See SSH lib docs here

 
Try it
Search Collection with the Needle API

Search a collection for relevant data chunks based on a query. See the documentation

 
Try it
Integrate the SSH (key-based auth) API with the Needle API
Setup the SSH (key-based auth) API trigger to run a workflow which integrates with the Needle API. Pipedream's integration platform allows you to integrate SSH (key-based auth) and Needle remarkably fast. Free for developers.

Overview of SSH (key-based auth)

The SSH (Secure Shell) key-based authentication API allows you to execute commands on a remote server securely. With Pipedream, leverage this capability to automate server management tasks, execute deployment scripts, or gather data from your server infrastructure. By integrating with other apps on Pipedream, you can create seamless workflows that trigger actions on your servers in response to various events.

Connect SSH (key-based auth)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
module.exports = defineComponent({
  props: {
    ssh: {
      type: "app",
      app: "ssh",
    }
  },
  async run({steps, $}) {
    const SSH2Promise = require('ssh2-promise')
    
    const { 
      host, 
      port,
      username, 
      privateKey,
    } = this.ssh.$auth
    
    const ssh = new SSH2Promise({
      host,
      port,
      username,
      privateKey,
    })
    
    await ssh.connect()
    console.log("Connection established")
    
    // Replace this with the command you'd like to run
    const resp = await ssh.exec("whoami")
    console.log(resp)
    
    await ssh.close()
  },
})

Connect Needle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    needle: {
      type: "app",
      app: "needle",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://needle-ai.com/api/v1/collections`,
      headers: {
        "accept": `application/json`,
        "x-api-key": `${this.needle.$auth.api_key}`,
      },
    })
  },
})

Trusted by 1,000,000+ developers from startups to Fortune 500 companies

Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo
Adyen logo
Appcues logo
Bandwidth logo
Checkr logo
ChartMogul logo
Dataminr logo
Gopuff logo
Gorgias logo
LinkedIn logo
Logitech logo
Replicated logo
Rudderstack logo
SAS logo
Scale AI logo
Webflow logo
Warner Bros. logo