← Slack + sevDesk integrations

Create Invoice with sevDesk API on New Message In Channels (Instant) from Slack API

Pipedream makes it easy to connect APIs for sevDesk, Slack and 2,000+ other apps remarkably fast.

Trigger workflow on
New Message In Channels (Instant) from the Slack API
Next, do this
Create Invoice with the sevDesk API
No credit card required
Intro to Pipedream
Watch us build a workflow
Watch us build a workflow
8 min
Watch now ➜

Trusted by 800,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

Developers Pipedream

Getting Started

This integration creates a workflow with a Slack trigger and sevDesk action. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Select this integration
  2. Configure the New Message In Channels (Instant) trigger
    1. Connect your Slack account
    2. Optional- Select one or more Channels
    3. Configure slackApphook
    4. Optional- Configure Resolve Names
    5. Optional- Configure Ignore Bots
    6. Optional- Configure Ignore replies in threads
  3. Configure the Create Invoice action
    1. Connect your sevDesk account
    2. Optional- Configure Invoice Number
    3. Select a Contact ID
    4. Configure Invoice Date
    5. Optional- Configure Header
    6. Optional- Configure Head Text
    7. Optional- Configure Foot Text
    8. Optional- Configure Time To Pay
    9. Configure Discount
    10. Optional- Configure Address
    11. Select a Address Country ID
    12. Optional- Configure Pay Date
    13. Optional- Configure Delivery Date
    14. Optional- Configure Delivery Date Until
    15. Select a Status
    16. Optional- Configure Small Settlement
    17. Configure Tax Rate
    18. Configure Tax Text
    19. Select a Tax Type
    20. Optional- Select a Tax Set Id
    21. Optional- Select a Payment Method Id
    22. Optional- Configure Send Date
    23. Select a Invoice Type
    24. Select a Currency
    25. Optional- Configure Show Net
    26. Optional- Select a Send Type
    27. Optional- Select a Origin Id
    28. Optional- Configure Customer Internal Note
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, source-available components from Pipedream's GitHub repo. These components are developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Trigger

Description:Emit new event when a new message is posted to one or more channels
Version:1.0.17
Key:slack-new-message-in-channels

Slack Overview

The Pipedream Slack app enables you to build event-driven workflows that interact with the Slack API. Once you authorize the Pipedream app's access to your workspace, you can use Pipedream workflows to perform common Slack actions or write your own code against the Slack API.

The Pipedream Slack app is not a typical app. You don't interact with it directly as a bot, and it doesn't add custom functionality to your workspace out of the box. It makes it easier to automate anything you'd typically use the Slack API for, using Pipedream workflows.

  • Automate posting updates to your team channels
  • Create a bot to answer common questions
  • Integrate with your existing tools and services
  • And much more!

Trigger Code

import common from "../common/base.mjs";
import constants from "../common/constants.mjs";
import sampleEmit from "./test-event.mjs";

export default {
  ...common,
  key: "slack-new-message-in-channels",
  name: "New Message In Channels (Instant)",
  version: "1.0.17",
  description: "Emit new event when a new message is posted to one or more channels",
  type: "source",
  dedupe: "unique",
  props: {
    ...common.props,
    conversations: {
      propDefinition: [
        common.props.slack,
        "conversation",
      ],
      type: "string[]",
      label: "Channels",
      description: "Select one or more channels to monitor for new messages.",
      optional: true,
    },
    // eslint-disable-next-line pipedream/props-description,pipedream/props-label
    slackApphook: {
      type: "$.interface.apphook",
      appProp: "slack",
      async eventNames() {
        return this.conversations || [
          "message",
        ];
      },
    },
    resolveNames: {
      propDefinition: [
        common.props.slack,
        "resolveNames",
      ],
    },
    ignoreBot: {
      propDefinition: [
        common.props.slack,
        "ignoreBot",
      ],
    },
    ignoreThreads: {
      type: "boolean",
      label: "Ignore replies in threads",
      description: "Ignore replies to messages in threads",
      optional: true,
    },
  },
  methods: {
    ...common.methods,
    getSummary() {
      return "New message in channel";
    },
    async processEvent(event) {
      if (event.type !== "message") {
        console.log(`Ignoring event with unexpected type "${event.type}"`);
        return;
      }
      if (event.subtype && !constants.ALLOWED_MESSAGE_IN_CHANNEL_SUBTYPES.includes(event.subtype)) {
        // This source is designed to just emit an event for each new message received.
        // Due to inconsistencies with the shape of message_changed and message_deleted
        // events, we are ignoring them for now. If you want to handle these types of
        // events, feel free to change this code!!
        console.log("Ignoring message with subtype.");
        return;
      }
      if ((this.ignoreBot) && (event.subtype == "bot_message" || event.bot_id)) {
        return;
      }
      console.log(event.s);
      // There is no thread message type only the thread_ts field
      // indicates if the message is part of a thread in the event.
      if (this.ignoreThreads && event.thread_ts) {
        console.log("Ignoring reply in thread");
        return;
      }
      if (this.resolveNames) {
        if (event.user) {
          event.user_id = event.user;
          event.user = await this.getUserName(event.user);
        } else if (event.bot_id) {
          event.bot = await this.getBotName(event.bot_id);
        }
        event.channel_id = event.channel;
        event.channel = await this.getConversationName(event.channel);
        if (event.team) {
          event.team_id = event.team;
          event.team = await this.getTeamName(event.team);
        }
      }
      return event;
    },
  },
  sampleEmit,
};

Trigger Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
SlackslackappThis component uses the Slack app.
N/Adb$.service.dbThis component uses $.service.db to maintain state between executions.
Channelsconversationsstring[]Select a value from the drop down menu.
slackApphook$.interface.apphook
Resolve NamesresolveNamesboolean

Instead of returning channel, team, and user as IDs, return their human-readable names.

Ignore BotsignoreBotboolean

Ignore messages from bots

Ignore replies in threadsignoreThreadsboolean

Ignore replies to messages in threads

Trigger Authentication

Slack uses OAuth authentication. When you connect your Slack account, Pipedream will open a popup window where you can sign into Slack and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Slack API.

Pipedream requests the following authorization scopes when you connect your account:

bookmarks:writecalls:readcalls:writechannels:historychannels:readchannels:writednd:readdnd:writeemoji:readfiles:readgroups:historygroups:readgroups:writeim:historyim:readim:writelinks:readlinks:writempim:historympim:readmpim:writepins:readpins:writereactions:readreactions:writereminders:readreminders:writeremote_files:readremote_files:sharestars:readstars:writeteam:readusergroups:readusergroups:writeusers:readusers:read.emailusers:writechat:write:botchat:write:usercommandsfiles:write:userusers.profile:writeusers.profile:readsearch:read

About Slack

Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.

Action

Description:Creates a new invoice with optional details like invoice date, due date, discount amount, and invoice items. [See the documentation](https://api.sevdesk.de/)
Version:0.0.1
Key:sevdesk-create-invoice

sevDesk Overview

The sevDesk API allows you to automate tasks around billing, accounting, and inventory management within the sevDesk platform. With it, you can create invoices, manage customers, and handle your accounting processes programmatically. When integrated into Pipedream workflows, you can connect sevDesk with other apps to streamline your financial operations, trigger actions based on events, and sync data across your business stack, enabling a seamless financial workflow automation.

Action Code

import { ConfigurationError } from "@pipedream/platform";
import {
  CURRENCY_OPTIONS,
  INVOICE_TYPE_OPTIONS,
  SEND_TYPE_OPTIONS,
  STATUS_OPTIONS,
  TAX_TYPE_OPTIONS,
} from "../../common/constants.mjs";
import sevdesk from "../../sevdesk.app.mjs";

export default {
  key: "sevdesk-create-invoice",
  name: "Create Invoice",
  description: "Creates a new invoice with optional details like invoice date, due date, discount amount, and invoice items. [See the documentation](https://api.sevdesk.de/)",
  version: "0.0.1",
  type: "action",
  props: {
    sevdesk,
    invoiceNumber: {
      type: "string",
      label: "Invoice Number",
      description: "The invoice number",
      optional: true,
    },
    contactId: {
      propDefinition: [
        sevdesk,
        "contactId",
      ],
    },
    invoiceDate: {
      type: "string",
      label: "Invoice Date",
      description: "Needs to be provided as timestamp or dd.mm.yyyy",
    },
    header: {
      type: "string",
      label: "Header",
      description: "Normally consist of prefix plus the invoice number.",
      optional: true,
    },
    headText: {
      type: "string",
      label: "Head Text",
      description: "Certain html tags can be used here to format your text.",
      optional: true,
    },
    footText: {
      type: "string",
      label: "Foot Text",
      description: "Certain html tags can be used here to format your text.",
      optional: true,
    },
    timeToPay: {
      type: "integer",
      label: "Time To Pay",
      description: "The time the customer has to pay the invoice in days.",
      optional: true,
    },
    discount: {
      type: "integer",
      label: "Discount",
      description: "If you want to give a discount, define the percentage here. Otherwise provide zero as value.",
      default: 0,
    },
    address: {
      type: "string",
      label: "Address",
      description: "Complete address of the recipient including name, street, city, zip and country. * Line breaks can be used and will be displayed on the invoice pdf.",
      optional: true,
    },
    addressCountryId: {
      propDefinition: [
        sevdesk,
        "addressCountryId",
      ],
    },
    payDate: {
      type: "string",
      label: "Pay Date",
      description: "Needs to be timestamp or `dd.mm.yyyy`.",
      optional: true,
    },
    deliveryDate: {
      type: "string",
      label: "Delivery Date",
      description: "Timestamp. This can also be a date range if you also use `Delivery Date Until`.",
      optional: true,
    },
    deliveryDateUntil: {
      type: "string",
      label: "Delivery Date Until",
      description: "If the delivery date should be a time range, another timestamp can be provided in this attribute * to define a range from timestamp used in deliveryDate attribute to the timestamp used here.",
      optional: true,
    },
    status: {
      type: "string",
      label: "Status",
      description: "Please have a look in Sevdesk's [Types and status of invoices](https://api.sevdesk.de/#section/Types-and-status-of-invoices) to see what the different status codes mean.",
      options: STATUS_OPTIONS,
    },
    smallSettlement: {
      type: "boolean",
      label: "Small Settlement",
      description: "Defines if the client uses the small settlement scheme. If yes, the invoice must not contain any vat.",
      optional: true,
    },
    taxRate: {
      type: "string",
      label: "Tax Rate",
      description: "Is overwritten by invoice position tax rates.",
    },
    taxText: {
      type: "string",
      label: "Tax Text",
      description: "A common tax text would be 'Tax 19%'.",
    },
    taxType: {
      type: "string",
      label: "Tax Type",
      description: "Tax type of the invoice.",
      options: TAX_TYPE_OPTIONS,
    },
    taxSetId: {
      propDefinition: [
        sevdesk,
        "taxSetId",
      ],
      optional: true,
    },
    paymentMethodId: {
      propDefinition: [
        sevdesk,
        "paymentMethodId",
      ],
      optional: true,
    },
    sendDate: {
      type: "string",
      label: "Send Date",
      description: "The date the invoice was sent to the customer.",
      optional: true,
    },
    invoiceType: {
      type: "string",
      label: "Invoice Type",
      description: "Type of the invoice. For more information on the different types, check [this](https://api.sevdesk.de/#tag/Invoice/Types-and-status-of-invoices) section",
      options: INVOICE_TYPE_OPTIONS,
    },
    currency: {
      type: "string",
      label: "Currency",
      description: "Currency used in the invoice. Needs to be currency code according to ISO-4217.",
      options: CURRENCY_OPTIONS,
    },
    showNet: {
      type: "boolean",
      label: "Show Net",
      description: "If true, the net amount of each position will be shown on the invoice. Otherwise gross amount.",
      optional: true,
    },
    sendType: {
      type: "string",
      label: "Send Type",
      description: "Type which was used to send the invoice.",
      options: SEND_TYPE_OPTIONS,
      optional: true,
    },
    originId: {
      propDefinition: [
        sevdesk,
        "originId",
      ],
      optional: true,
    },
    customerInternalNote: {
      type: "string",
      label: "Customer Internal Note",
      description: "Internal note of the customer. Contains data entered into field 'Referenz/Bestellnummer'.",
      optional: true,
    },
  },
  async run({ $ }) {
    const {
      sevdesk,
      contactId,
      addressCountryId,
      taxRate,
      taxSetId,
      paymentMethodId,
      originId,
      ...data
    } = this;

    if (this.taxType && !taxSetId) {
      throw new ConfigurationError("Tax Set needs to be added when you chose the tax type custom!");
    }

    if (paymentMethodId) {
      data.paymentMethod = {
        id: paymentMethodId,
        objectName: "PaymentMethod",
      };
    }
    if (taxSetId) {
      data.taxSet = {
        id: taxSetId,
        objectName: "TaxSet",
      };
    }
    if (originId) {
      data.origin = {
        id: originId,
        objectName: "Origin",
      };
    }

    const { objects } = await sevdesk.checkMe();
    const contactPersonId = objects[0].id;

    const response = await sevdesk.createInvoice({
      $,
      data: {
        objectName: "Invoice",
        contact: {
          id: contactId,
          objectName: "Contact",
        },
        contactPerson: {
          id: contactPersonId,
          objectName: "SevUser",
        },
        addressCountry: {
          id: addressCountryId,
          objectName: "StaticCountry",
        },
        taxRate: parseFloat(taxRate),
        mapAll: true,
        ...data,
      },
    });

    $.export("$summary", `Successfully created invoice with ID ${response.objects.id}`);
    return response;
  },
};

Action Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI.

LabelPropTypeDescription
sevDesksevdeskappThis component uses the sevDesk app.
Invoice NumberinvoiceNumberstring

The invoice number

Contact IDcontactIdstringSelect a value from the drop down menu.
Invoice DateinvoiceDatestring

Needs to be provided as timestamp or dd.mm.yyyy

Headerheaderstring

Normally consist of prefix plus the invoice number.

Head TextheadTextstring

Certain html tags can be used here to format your text.

Foot TextfootTextstring

Certain html tags can be used here to format your text.

Time To PaytimeToPayinteger

The time the customer has to pay the invoice in days.

Discountdiscountinteger

If you want to give a discount, define the percentage here. Otherwise provide zero as value.

Addressaddressstring

Complete address of the recipient including name, street, city, zip and country. * Line breaks can be used and will be displayed on the invoice pdf.

Address Country IDaddressCountryIdstringSelect a value from the drop down menu.
Pay DatepayDatestring

Needs to be timestamp or dd.mm.yyyy.

Delivery DatedeliveryDatestring

Timestamp. This can also be a date range if you also use Delivery Date Until.

Delivery Date UntildeliveryDateUntilstring

If the delivery date should be a time range, another timestamp can be provided in this attribute * to define a range from timestamp used in deliveryDate attribute to the timestamp used here.

StatusstatusstringSelect a value from the drop down menu:1002005006007501000
Small SettlementsmallSettlementboolean

Defines if the client uses the small settlement scheme. If yes, the invoice must not contain any vat.

Tax RatetaxRatestring

Is overwritten by invoice position tax rates.

Tax TexttaxTextstring

A common tax text would be 'Tax 19%'.

Tax TypetaxTypestringSelect a value from the drop down menu:{ "label": "Default - show sales tax.", "value": "default" }{ "label": "EU - Tax-free intra-community delivery (European Union).", "value": "eu" }{ "label": "Noteu - tax liability of the recipient of the service (outside the EU, e.g. Switzerland).", "value": "noteu" }{ "label": "Custom - Using custom tax set.", "value": "custom" }{ "label": "SS - Not subject to VAT according to §19 1 UStG Tax rates are heavily connected to the tax type used.", "value": "ss" }
Tax Set IdtaxSetIdstringSelect a value from the drop down menu.
Payment Method IdpaymentMethodIdstringSelect a value from the drop down menu.
Send DatesendDatestring

The date the invoice was sent to the customer.

Invoice TypeinvoiceTypestringSelect a value from the drop down menu:{ "label": "Normal invoice", "value": "RE" }{ "label": "Recurring invoice", "value": "WKR" }{ "label": "Cancellation invoice", "value": "SR" }{ "label": "Reminder invoice", "value": "MA" }{ "label": "Part invoice", "value": "TR" }{ "label": "Final invoice", "value": "ER" }
CurrencycurrencystringSelect a value from the drop down menu:{ "value": "AED", "label": "United Arab Emirates Dirham" }{ "value": "AFN", "label": "Afghan Afghani" }{ "value": "ALL", "label": "Albanian Lek" }{ "value": "AMD", "label": "Armenian Dram" }{ "value": "ANG", "label": "Netherlands Antillean Guilder" }{ "value": "AOA", "label": "Angolan Kwanza" }{ "value": "ARS", "label": "Argentine Peso" }{ "value": "AUD", "label": "Australian Dollar" }{ "value": "AWG", "label": "Aruban Florin" }{ "value": "AZN", "label": "Azerbaijani Manat" }{ "value": "BAM", "label": "Bosnia-Herzegovina Convertible Mark" }{ "value": "BBD", "label": "Barbadian Dollar" }{ "value": "BDT", "label": "Bangladeshi Taka" }{ "value": "BGN", "label": "Bulgarian Lev" }{ "value": "BHD", "label": "Bahraini Dinar" }{ "value": "BIF", "label": "Burundian Franc" }{ "value": "BMD", "label": "Bermudan Dollar" }{ "value": "BND", "label": "Brunei Dollar" }{ "value": "BOB", "label": "Bolivian Boliviano" }{ "value": "BRL", "label": "Brazilian Real" }{ "value": "BSD", "label": "Bahamian Dollar" }{ "value": "BTC", "label": "Bitcoin" }{ "value": "BTN", "label": "Bhutanese Ngultrum" }{ "value": "BWP", "label": "Botswanan Pula" }{ "value": "BYN", "label": "Belarusian Ruble" }{ "value": "BZD", "label": "Belize Dollar" }{ "value": "CAD", "label": "Canadian Dollar" }{ "value": "CDF", "label": "Congolese Franc" }{ "value": "CHF", "label": "Swiss Franc" }{ "value": "CLF", "label": "Chilean Unit of Account (UF)" }{ "value": "CLP", "label": "Chilean Peso" }{ "value": "CNH", "label": "Chinese Yuan (Offshore)" }{ "value": "CNY", "label": "Chinese Yuan" }{ "value": "COP", "label": "Colombian Peso" }{ "value": "CRC", "label": "Costa Rican Colón" }{ "value": "CUC", "label": "Cuban Convertible Peso" }{ "value": "CUP", "label": "Cuban Peso" }{ "value": "CVE", "label": "Cape Verdean Escudo" }{ "value": "CZK", "label": "Czech Republic Koruna" }{ "value": "DJF", "label": "Djiboutian Franc" }{ "value": "DKK", "label": "Danish Krone" }{ "value": "DOP", "label": "Dominican Peso" }{ "value": "DZD", "label": "Algerian Dinar" }{ "value": "EGP", "label": "Egyptian Pound" }{ "value": "ERN", "label": "Eritrean Nakfa" }{ "value": "ETB", "label": "Ethiopian Birr" }{ "value": "EUR", "label": "Euro" }{ "value": "FJD", "label": "Fijian Dollar" }{ "value": "FKP", "label": "Falkland Islands Pound" }{ "value": "GBP", "label": "British Pound Sterling" }{ "value": "GEL", "label": "Georgian Lari" }{ "value": "GGP", "label": "Guernsey Pound" }{ "value": "GHS", "label": "Ghanaian Cedi" }{ "value": "GIP", "label": "Gibraltar Pound" }{ "value": "GMD", "label": "Gambian Dalasi" }{ "value": "GNF", "label": "Guinean Franc" }{ "value": "GTQ", "label": "Guatemalan Quetzal" }{ "value": "GYD", "label": "Guyanaese Dollar" }{ "value": "HKD", "label": "Hong Kong Dollar" }{ "value": "HNL", "label": "Honduran Lempira" }{ "value": "HRK", "label": "Croatian Kuna" }{ "value": "HTG", "label": "Haitian Gourde" }{ "value": "HUF", "label": "Hungarian Forint" }{ "value": "IDR", "label": "Indonesian Rupiah" }{ "value": "ILS", "label": "Israeli New Sheqel" }{ "value": "IMP", "label": "Manx pound" }{ "value": "INR", "label": "Indian Rupee" }{ "value": "IQD", "label": "Iraqi Dinar" }{ "value": "IRR", "label": "Iranian Rial" }{ "value": "ISK", "label": "Icelandic Króna" }{ "value": "JEP", "label": "Jersey Pound" }{ "value": "JMD", "label": "Jamaican Dollar" }{ "value": "JOD", "label": "Jordanian Dinar" }{ "value": "JPY", "label": "Japanese Yen" }{ "value": "KES", "label": "Kenyan Shilling" }{ "value": "KGS", "label": "Kyrgystani Som" }{ "value": "KHR", "label": "Cambodian Riel" }{ "value": "KMF", "label": "Comorian Franc" }{ "value": "KPW", "label": "North Korean Won" }{ "value": "KRW", "label": "South Korean Won" }{ "value": "KWD", "label": "Kuwaiti Dinar" }{ "value": "KYD", "label": "Cayman Islands Dollar" }{ "value": "KZT", "label": "Kazakhstani Tenge" }{ "value": "LAK", "label": "Laotian Kip" }{ "value": "LBP", "label": "Lebanese Pound" }{ "value": "LKR", "label": "Sri Lankan Rupee" }{ "value": "LRD", "label": "Liberian Dollar" }{ "value": "LSL", "label": "Lesotho Loti" }{ "value": "LYD", "label": "Libyan Dinar" }{ "value": "MAD", "label": "Moroccan Dirham" }{ "value": "MDL", "label": "Moldovan Leu" }{ "value": "MGA", "label": "Malagasy Ariary" }{ "value": "MKD", "label": "Macedonian Denar" }{ "value": "MMK", "label": "Myanma Kyat" }{ "value": "MNT", "label": "Mongolian Tugrik" }{ "value": "MOP", "label": "Macanese Pataca" }{ "value": "MRU", "label": "Mauritanian Ouguiya" }{ "value": "MUR", "label": "Mauritian Rupee" }{ "value": "MVR", "label": "Maldivian Rufiyaa" }{ "value": "MWK", "label": "Malawian Kwacha" }{ "value": "MXN", "label": "Mexican Peso" }{ "value": "MYR", "label": "Malaysian Ringgit" }{ "value": "MZN", "label": "Mozambican Metical" }{ "value": "NAD", "label": "Namibian Dollar" }{ "value": "NGN", "label": "Nigerian Naira" }{ "value": "NIO", "label": "Nicaraguan Córdoba" }{ "value": "NOK", "label": "Norwegian Krone" }{ "value": "NPR", "label": "Nepalese Rupee" }{ "value": "NZD", "label": "New Zealand Dollar" }{ "value": "OMR", "label": "Omani Rial" }{ "value": "PAB", "label": "Panamanian Balboa" }{ "value": "PEN", "label": "Peruvian Nuevo Sol" }{ "value": "PGK", "label": "Papua New Guinean Kina" }{ "value": "PHP", "label": "Philippine Peso" }{ "value": "PKR", "label": "Pakistani Rupee" }{ "value": "PLN", "label": "Polish Zloty" }{ "value": "PYG", "label": "Paraguayan Guarani" }{ "value": "QAR", "label": "Qatari Rial" }{ "value": "RON", "label": "Romanian Leu" }{ "value": "RSD", "label": "Serbian Dinar" }{ "value": "RUB", "label": "Russian Ruble" }{ "value": "RWF", "label": "Rwandan Franc" }{ "value": "SAR", "label": "Saudi Riyal" }{ "value": "SBD", "label": "Solomon Islands Dollar" }{ "value": "SCR", "label": "Seychellois Rupee" }{ "value": "SDG", "label": "Sudanese Pound" }{ "value": "SEK", "label": "Swedish Krona" }{ "value": "SGD", "label": "Singapore Dollar" }{ "value": "SHP", "label": "Saint Helena Pound" }{ "value": "SLL", "label": "Sierra Leonean Leone" }{ "value": "SOS", "label": "Somali Shilling" }{ "value": "SRD", "label": "Surinamese Dollar" }{ "value": "SSP", "label": "South Sudanese Pound" }{ "value": "STD", "label": "São Tomé and Príncipe Dobra (pre-2018)" }{ "value": "STN", "label": "São Tomé and Príncipe Dobra" }{ "value": "SVC", "label": "Salvadoran Colón" }{ "value": "SYP", "label": "Syrian Pound" }{ "value": "SZL", "label": "Swazi Lilangeni" }{ "value": "THB", "label": "Thai Baht" }{ "value": "TJS", "label": "Tajikistani Somoni" }{ "value": "TMT", "label": "Turkmenistani Manat" }{ "value": "TND", "label": "Tunisian Dinar" }{ "value": "TOP", "label": "Tongan Pa'anga" }{ "value": "TRY", "label": "Turkish Lira" }{ "value": "TTD", "label": "Trinidad and Tobago Dollar" }{ "value": "TWD", "label": "New Taiwan Dollar" }{ "value": "TZS", "label": "Tanzanian Shilling" }{ "value": "UAH", "label": "Ukrainian Hryvnia" }{ "value": "UGX", "label": "Ugandan Shilling" }{ "value": "USD", "label": "United States Dollar" }{ "value": "UYU", "label": "Uruguayan Peso" }{ "value": "UZS", "label": "Uzbekistan Som" }{ "value": "VEF", "label": "Venezuelan Bolívar Fuerte (Old)" }{ "value": "VES", "label": "Venezuelan Bolívar Soberano" }{ "value": "VND", "label": "Vietnamese Dong" }{ "value": "VUV", "label": "Vanuatu Vatu" }{ "value": "WST", "label": "Samoan Tala" }{ "value": "XAF", "label": "CFA Franc BEAC" }{ "value": "XAG", "label": "Silver Ounce" }{ "value": "XAU", "label": "Gold Ounce" }{ "value": "XCD", "label": "East Caribbean Dollar" }{ "value": "XDR", "label": "Special Drawing Rights" }{ "value": "XOF", "label": "CFA Franc BCEAO" }{ "value": "XPD", "label": "Palladium Ounce" }{ "value": "XPF", "label": "CFP Franc" }{ "value": "XPT", "label": "Platinum Ounce" }{ "value": "YER", "label": "Yemeni Rial" }{ "value": "ZAR", "label": "South African Rand" }{ "value": "ZMW", "label": "Zambian Kwacha" }{ "value": "ZWL", "label": "Zimbabwean Dollar" }
Show NetshowNetboolean

If true, the net amount of each position will be shown on the invoice. Otherwise gross amount.

Send TypesendTypestringSelect a value from the drop down menu:VPRVPDFVMVP
Origin IdoriginIdstringSelect a value from the drop down menu.
Customer Internal NotecustomerInternalNotestring

Internal note of the customer. Contains data entered into field 'Referenz/Bestellnummer'.

Action Authentication

sevDesk uses API keys for authentication. When you connect your sevDesk account, Pipedream securely stores the keys so you can easily authenticate to sevDesk APIs in both code and no-code steps.

About sevDesk

The billing & accounting software for freelancers, founders, startups, small entrepreneurs and smallbusinesses. Free test now!

More Ways to Connect sevDesk + Slack

Cancel Invoice with sevDesk API on New Direct Message (Instant) from Slack API
Slack + sevDesk
 
Try it
Cancel Invoice with sevDesk API on New Mention (Instant) from Slack API
Slack + sevDesk
 
Try it
Cancel Invoice with sevDesk API on New Reaction Added (Instant) from Slack API
Slack + sevDesk
 
Try it
Cancel Invoice with sevDesk API on New Star Added (Instant) from Slack API
Slack + sevDesk
 
Try it
Create Invoice with sevDesk API on New Direct Message (Instant) from Slack API
Slack + sevDesk
 
Try it
New Message In Channels (Instant) from the Slack API

Emit new event when a new message is posted to one or more channels

 
Try it
New Channel Created (Instant) from the Slack API

Emit new event when a new channel is created.

 
Try it
New Direct Message (Instant) from the Slack API

Emit new event when a message was posted in a direct message channel

 
Try it
New Interaction Events (Instant) from the Slack API

Emit new events on new Slack interactivity events sourced from Block Kit interactive elements, Slash commands, or Shortcuts.

 
Try it
New Keyword Mention (Instant) from the Slack API

Emit new event when a specific keyword is mentioned in a channel

 
Try it
Reply to a Message Thread with the Slack API

Send a message as a threaded reply. See postMessage or scheduleMessage docs here

 
Try it
Send a Custom Message with the Slack API

Customize advanced setttings and send a message to a channel, group or user. See postMessage or scheduleMessage docs here

 
Try it
Add Emoji Reaction with the Slack API

Add an emoji reaction to a message. See the documentation

 
Try it
Archive Channel with the Slack API

Archive a channel. See the documentation

 
Try it
Create a Channel with the Slack API

Create a new channel. See the documentation

 
Try it

Explore Other Apps

1
-
24
of
2,000+
apps by most popular

HTTP / Webhook
HTTP / Webhook
Get a unique URL where you can send HTTP or webhook requests
Node
Node
Anything you can do with Node.js, you can do in a Pipedream workflow. This includes using most of npm's 400,000+ packages.
Python
Python
Anything you can do in Python can be done in a Pipedream Workflow. This includes using any of the 350,000+ PyPi packages available in your Python powered workflows.
OpenAI (ChatGPT)
OpenAI (ChatGPT)
OpenAI is an AI research and deployment company with the mission to ensure that artificial general intelligence benefits all of humanity. They are the makers of popular models like ChatGPT, DALL-E, and Whisper.
Premium
Salesforce (REST API)
Salesforce (REST API)
Web services API for interacting with Salesforce
Premium
HubSpot
HubSpot
HubSpot's CRM platform contains the marketing, sales, service, operations, and website-building software you need to grow your business.
Premium
Zoho CRM
Zoho CRM
Zoho CRM is an online Sales CRM software that manages your sales, marketing, and support in one CRM platform.
Premium
Stripe
Stripe
Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes.
Shopify Developer App
Shopify Developer App
Shopify is a user-friendly e-commerce platform that helps small businesses build an online store and sell online through one streamlined dashboard.
Premium
WooCommerce
WooCommerce
WooCommerce is the open-source ecommerce platform for WordPress.
Premium
Snowflake
Snowflake
A data warehouse built for the cloud
Premium
MongoDB
MongoDB
MongoDB is an open source NoSQL database management program.
Supabase
Supabase
Supabase is an open source Firebase alternative.
MySQL
MySQL
MySQL is an open-source relational database management system.
PostgreSQL
PostgreSQL
PostgreSQL is a free and open-source relational database management system emphasizing extensibility and SQL compliance.
Premium
AWS
AWS
Amazon Web Services (AWS) offers reliable, scalable, and inexpensive cloud computing services.
Premium
Twilio SendGrid
Twilio SendGrid
Send marketing and transactional email through the Twilio SendGrid platform with the Email API, proprietary mail transfer agent, and infrastructure for scalable delivery.
Amazon SES
Amazon SES
Amazon SES is a cloud-based email service provider that can integrate into any application for high volume email automation
Premium
Klaviyo
Klaviyo
Email Marketing and SMS Marketing Platform
Premium
Zendesk
Zendesk
Zendesk is award-winning customer service software trusted by 200K+ customers. Make customers happy via text, mobile, phone, email, live chat, social media.
Premium
ServiceNow
ServiceNow
The smarter way to workflow
Notion
Notion
Notion is a new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team.
Slack
Slack
Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.
Microsoft Teams
Microsoft Teams
Microsoft Teams has communities, events, chats, channels, meetings, storage, tasks, and calendars in one place.