← Salesforce + Melo integrations

Search Properties with Melo API on New Outbound Message (Instant) from Salesforce API

Pipedream makes it easy to connect APIs for Melo, Salesforce and 2,400+ other apps remarkably fast.

Trigger workflow on
New Outbound Message (Instant) from the Salesforce API
Next, do this
Search Properties with the Melo API
No credit card required
Intro to Pipedream
Watch us build a workflow
Watch us build a workflow
8 min
Watch now ➜

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

Developers Pipedream

Getting Started

This integration creates a workflow with a Salesforce trigger and Melo 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 Outbound Message (Instant) trigger
    1. Connect your Salesforce account
    2. Configure infoBox
  3. Configure the Search Properties action
    1. Connect your Melo account
    2. Optional- Configure Maximum Bedrooms
    3. Optional- Configure Minimum Bedrooms
    4. Optional- Configure Maximum Budget
    5. Optional- Configure Minimum Budget
    6. Optional- Configure Maximum Condominium Fees
    7. Optional- Configure Minimum Condominium Fees
    8. Optional- Configure Maximum Construction Year
    9. Optional- Configure Minimum Construction Year
    10. Optional- Configure Energy Efficiency Categories
    11. Optional- Configure Maximum Energy Value
    12. Optional- Configure Minimum Energy Value
    13. Optional- Configure Event Price Variation From Created At
    14. Optional- Configure Maximum Event Price Variation
    15. Optional- Configure Minimum Event Price Variation
    16. Optional- Configure Event Price Variation To Created At
    17. Optional- Configure Event Surface Variation From Created At
    18. Optional- Configure Maximum Event Surface Variation
    19. Optional- Configure Minimum Event Surface Variation
    20. Optional- Configure Event Surface Variation To Created At
    21. Optional- Configure Excluded Cities
    22. Optional- Configure Excluded Insee Codes
    23. Optional- Configure Excluded Properties
    24. Optional- Configure Excluded Zipcodes
    25. Optional- Configure Expired
    26. Optional- Configure Maximum Fees Percentage
    27. Optional- Configure Minimum Fees Percentage
    28. Optional- Select a Fees Responsibility
    29. Optional- Configure Maximum Floor Quantity
    30. Optional- Configure Minimum Floor Quantity
    31. Optional- Configure From Date
    32. Optional- Configure From Updated At
    33. Optional- Configure Furnished
    34. Optional- Configure Green House Gas Categories
    35. Optional- Configure Maximum Green House Gas Value
    36. Optional- Configure Minimum Green House Gas Value
    37. Optional- Configure Included Cities
    38. Optional- Configure Included Departments
    39. Optional- Configure Included Insee Codes
    40. Optional- Configure Included Zipcodes
    41. Optional- Configure Maximum Inventory Price
    42. Optional- Configure Minimum Inventory Price
    43. Optional- Configure Latitude
    44. Optional- Configure Longitude
    45. Optional- Configure Maximum Lot Count
    46. Optional- Configure Minimum Lot Count
    47. Optional- Select a Order by Creation Date
    48. Optional- Select a Order by Update Date
    49. Optional- Configure Maximum Price Excluding Fees
    50. Optional- Configure Minimum Price Excluding Fees
    51. Optional- Configure Maximum Price Per Meter
    52. Optional- Configure Minimum Price Per Meter
    53. Optional- Select one or more Property Types
    54. Optional- Select one or more Publisher Types
    55. Optional- Configure Radius
    56. Optional- Configure Maximum Rental Charges
    57. Optional- Configure Minimum Rental Charges
    58. Optional- Configure Maximum Rental Pledge
    59. Optional- Configure Minimum Rental Pledge
    60. Optional- Configure Maximum Renter Fees
    61. Optional- Configure Minimum Renter Fees
    62. Optional- Configure Maximum Rooms
    63. Optional- Configure Minimum Rooms
    64. Optional- Configure Surface Max
    65. Optional- Configure Surface Min
    66. Optional- Configure To Date
    67. Optional- Configure To Updated At
    68. Optional- Configure Transaction Type
    69. Optional- Configure With Coherent Price
    70. Optional- Configure With Virtual Tour
  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 outbound message is received in Salesforce.
Version:0.1.7
Key:salesforce_rest_api-new-outbound-message

Salesforce Overview

The Salesforce (REST API) provides a powerful platform for creating and managing customer relationships with a wide array of features like data manipulation, querying, and complex automation. With Pipedream's serverless execution, you can create workflows that automate your sales processes, sync data with other platforms, enhance customer engagement, and trigger actions based on specific events. Dive into Salesforce data, streamline lead management, track customer interactions, and push or pull data to or from Salesforce seamlessly.

Trigger Code

import { XMLParser } from "fast-xml-parser";
import salesforce from "../../salesforce_rest_api.app.mjs";

export default {
  type: "source",
  name: "New Outbound Message (Instant)",
  key: "salesforce_rest_api-new-outbound-message",
  description: "Emit new event when a new outbound message is received in Salesforce.",
  version: "0.1.7",
  dedupe: "unique",
  props: {
    db: "$.service.db",
    http: {
      type: "$.interface.http",
      customResponse: true,
    },
    salesforce,
    infoBox: {
      type: "alert",
      alertType: "info",
      content: `See Salesforce's guide on [setting up Outbound Messaging](https://sforce.co/3JbZJom).
\\
Set the Outbound Message's \`Endpoint URL\` to the endpoint of this source, which you can view after it is created.
\\
The \`Send Session ID\` option must be enabled in Salesforce for validating outbound messages.`,
    },
  },
  methods: {
    _unwrapMessage(message) {
      const parser = new XMLParser({
        removeNSPrefix: true,
      });
      const obj = parser.parse(message);
      const notifications = obj["Envelope"]["Body"].notifications;
      return notifications;
    },
    _sendHttpResponse(successValue = true, status) {
      // eslint-disable-next-line multiline-ternary
      status = status ?? (successValue ? 200 : 400);
      this.http.respond({
        status,
        body: `
          <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
          xmlns:out="http://soap.sforce.com/2005/09/outbound">
            <soapenv:Header/>
            <soapenv:Body>
              <out:notificationsResponse>
                <out:Ack>${successValue}</out:Ack>
              </out:notificationsResponse>
            </soapenv:Body>
          </soapenv:Envelope>
        `,
        headers: {
          "content-type": "text/xml",
        },
      });
    },
    async _isValidSessionId(sessionId) {
      try {
        const data = await this.salesforce.getUserInfo(sessionId);
        return Boolean(data);
      } catch (err) {
        console.log("Error validating SessionId:", err);
        return false;
      }
    },
    async _isValidSource(data) {
      const { SessionId: sessionId } = data;
      if (!sessionId) {
        throw new Error("The outbound message is missing a Session ID. Please configure the outbound message to send Session ID to validate the webhook source.");
      }

      return this._isValidSessionId(sessionId);
    },
    generateMeta(data) {
      const {
        ActionId: actionId,
        Notification: { Id: eventId },
      } = data;
      const id = `${eventId}-${actionId}`;
      const summary = JSON.stringify(data);
      const ts = Date.now();
      return {
        id,
        summary,
        ts,
      };
    },
  },
  async run(event) {
    const { bodyRaw } = event;
    this._sendHttpResponse(true);
    const data = this._unwrapMessage(bodyRaw);
    if (!(await this._isValidSource(data))) {
      console.log("Skipping event from unrecognized source");
      return;
    }

    let notifications = data.Notification;
    if (!Array.isArray(notifications)) {
      notifications = [
        data.Notification,
      ];
    }

    notifications.forEach((n) => {
      const notification = Object.assign(data, {
        Notification: n,
      });
      this.$emit(notification, this.generateMeta(notification));
    });
  },
};

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
N/Adb$.service.dbThis component uses $.service.db to maintain state between executions.
N/Ahttp$.interface.httpThis component uses $.interface.http to generate a unique URL when the component is first instantiated. Each request to the URL will trigger the run() method of the component.
SalesforcesalesforceappThis component uses the Salesforce app.

Trigger Authentication

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

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

About Salesforce

Web services API for interacting with Salesforce

Action

Description:Searches properties in Melo. [See the documentation](https://docs.melo.io/api-reference/endpoint/properties/get_collection)
Version:0.0.1
Key:melo-search-properties

Melo Overview

Melo API enables you to manage and automate tasks related to project management and team collaboration. Utilize Melo's endpoints to create tasks, update project details, manage team assignments, and retrieve project metrics. Integrating Melo API with Pipedream allows you to connect your project management workflows with other apps and services, streamlining productivity and providing real-time updates across your tech stack.

Action Code

import melo from "../../melo.app.mjs";
import constants from "../../common/constants.mjs";

export default {
  key: "melo-search-properties",
  name: "Search Properties",
  description: "Searches properties in Melo. [See the documentation](https://docs.melo.io/api-reference/endpoint/properties/get_collection)",
  version: "0.0.1",
  type: "action",
  props: {
    melo,
    bedroomMax: {
      type: "integer",
      label: "Maximum Bedrooms",
      description: "Maximum number of bedrooms in the property.",
      optional: true,
    },
    bedroomMin: {
      type: "integer",
      label: "Minimum Bedrooms",
      description: "Minimum number of bedrooms in the property.",
      optional: true,
    },
    budgetMax: {
      type: "integer",
      label: "Maximum Budget",
      description: "Maximum budget for the property.",
      optional: true,
    },
    budgetMin: {
      type: "integer",
      label: "Minimum Budget",
      description: "Minimum budget for the property.",
      optional: true,
    },
    condominiumFeesMax: {
      type: "integer",
      label: "Maximum Condominium Fees",
      description: "Maximum condominium fees for the property.",
      optional: true,
    },
    condominiumFeesMin: {
      type: "integer",
      label: "Minimum Condominium Fees",
      description: "Minimum condominium fees for the property.",
      optional: true,
    },
    constructionYearMax: {
      type: "integer",
      label: "Maximum Construction Year",
      description: "Maximum construction year of the property.",
      optional: true,
    },
    constructionYearMin: {
      type: "integer",
      label: "Minimum Construction Year",
      description: "Minimum construction year of the property.",
      optional: true,
    },
    energyCategories: {
      type: "string[]",
      label: "Energy Efficiency Categories",
      description: "The energy efficiency categories of the property.",
      optional: true,
    },
    energyValueMax: {
      type: "integer",
      label: "Maximum Energy Value",
      description: "Maximum energy value of the property.",
      optional: true,
    },
    energyValueMin: {
      type: "integer",
      label: "Minimum Energy Value",
      description: "Minimum energy value of the property.",
      optional: true,
    },
    eventPriceVariationFromCreatedAt: {
      type: "string",
      label: "Event Price Variation From Created At",
      description: "Date from which an event of type price is created — inclusive.",
      optional: true,
    },
    eventPriceVariationMax: {
      type: "integer",
      label: "Maximum Event Price Variation",
      description: "Maximum percent variation of an event of type price.",
      optional: true,
    },
    eventPriceVariationMin: {
      type: "integer",
      label: "Minimum Event Price Variation",
      description: "Minimum percent variation of an event of type price.",
      optional: true,
    },
    eventPriceVariationToCreatedAt: {
      type: "string",
      label: "Event Price Variation To Created At",
      description: "Date before which an event of type price is created — inclusive.",
      optional: true,
    },
    eventSurfaceVariationFromCreatedAt: {
      type: "string",
      label: "Event Surface Variation From Created At",
      description: "Date from which an event of type surface is created — inclusive.",
      optional: true,
    },
    eventSurfaceVariationMax: {
      type: "integer",
      label: "Maximum Event Surface Variation",
      description: "Maximum percent variation of an event of type surface.",
      optional: true,
    },
    eventSurfaceVariationMin: {
      type: "integer",
      label: "Minimum Event Surface Variation",
      description: "Minimum percent variation of an event of type surface.",
      optional: true,
    },
    eventSurfaceVariationToCreatedAt: {
      type: "string",
      label: "Event Surface Variation To Created At",
      description: "Date before which an event of type surface is created — inclusive.",
      optional: true,
    },
    excludedCities: {
      type: "string[]",
      label: "Excluded Cities",
      description: "Cities to be excluded.",
      optional: true,
    },
    excludedInseeCodes: {
      type: "string[]",
      label: "Excluded Insee Codes",
      description: "Insee codes to be excluded.",
      optional: true,
    },
    excludedProperties: {
      type: "string[]",
      label: "Excluded Properties",
      description: "Properties to be excluded.",
      optional: true,
    },
    excludedZipcodes: {
      type: "string[]",
      label: "Excluded Zipcodes",
      description: "Zipcodes to be excluded.",
      optional: true,
    },
    expired: {
      type: "boolean",
      label: "Expired",
      description: "Whether to show properties that are expired. A property is considered expired when all its adverts are expired. Can be `true`, `false` or `null`. Default is `null` which returns all properties no matter if they’re expired or not.",
      optional: true,
    },
    feesPercentageMax: {
      type: "integer",
      label: "Maximum Fees Percentage",
      description: "Maximum percentage of fees.",
      optional: true,
    },
    feesPercentageMin: {
      type: "integer",
      label: "Minimum Fees Percentage",
      description: "Minimum percentage of fees.",
      optional: true,
    },
    feesResponsibility: {
      type: "string",
      label: "Fees Responsibility",
      description: "Responsibility for fees. 0 for seller, 1 for buyer.",
      options: constants.FEE_RESPONSIBILITY,
      optional: true,
    },
    floorQuantityMax: {
      type: "integer",
      label: "Maximum Floor Quantity",
      description: "Maximum number of floors in the property.",
      optional: true,
    },
    floorQuantityMin: {
      type: "integer",
      label: "Minimum Floor Quantity",
      description: "Minimum number of floors in the property.",
      optional: true,
    },
    fromDate: {
      type: "string",
      label: "From Date",
      description: "Date from which the property is created — inclusive.",
      optional: true,
    },
    fromUpdatedAt: {
      type: "string",
      label: "From Updated At",
      description: "Date from which the property is updated — inclusive.",
      optional: true,
    },
    furnished: {
      type: "boolean",
      label: "Furnished",
      description: "Filter for furnished properties.",
      optional: true,
    },
    greenHouseGasCategories: {
      type: "string[]",
      label: "Green House Gas Categories",
      description: "Green house gas performance letter array of the property.",
      optional: true,
    },
    greenHouseGasValueMax: {
      type: "integer",
      label: "Maximum Green House Gas Value",
      description: "Maximum value of green house gas of the property.",
      optional: true,
    },
    greenHouseGasValueMin: {
      type: "integer",
      label: "Minimum Green House Gas Value",
      description: "Minimum value of green house gas of the property.",
      optional: true,
    },
    includedCities: {
      type: "string[]",
      label: "Included Cities",
      description: "Located in given cities.",
      optional: true,
    },
    includedDepartments: {
      type: "string[]",
      label: "Included Departments",
      description: "Located in given departments.",
      optional: true,
    },
    includedInseeCodes: {
      type: "string[]",
      label: "Included Insee Codes",
      description: "Located in given insee codes.",
      optional: true,
    },
    includedZipcodes: {
      type: "string[]",
      label: "Included Zipcodes",
      description: "Located in given zipcodes.",
      optional: true,
    },
    inventoryPriceMax: {
      type: "integer",
      label: "Maximum Inventory Price",
      description: "Lower than or equal to given inventory price.",
      optional: true,
    },
    inventoryPriceMin: {
      type: "integer",
      label: "Minimum Inventory Price",
      description: "Greater than or equal to given inventory price.",
      optional: true,
    },
    lat: {
      type: "string",
      label: "Latitude",
      description: "Latitude. Will work if latitude exists in the property.",
      optional: true,
    },
    lon: {
      type: "string",
      label: "Longitude",
      description: "Longitude. Will work if longitude exists in the property.",
      optional: true,
    },
    lotCountMax: {
      type: "integer",
      label: "Maximum Lot Count",
      description: "Lower than or equal to given lot count.",
      optional: true,
    },
    lotCountMin: {
      type: "integer",
      label: "Minimum Lot Count",
      description: "Greater than or equal to given lot count.",
      optional: true,
    },
    orderCreatedAt: {
      type: "string",
      label: "Order by Creation Date",
      description: "Order properties by creation date. Can be asc or desc.",
      options: constants.ORDER,
      optional: true,
    },
    orderUpdatedAt: {
      type: "string",
      label: "Order by Update Date",
      description: "Order properties by update date. Can be asc or desc.",
      options: constants.ORDER,
      optional: true,
    },
    priceExcludingFeesMax: {
      type: "integer",
      label: "Maximum Price Excluding Fees",
      description: "Lower than or equal to given price excluding fees.",
      optional: true,
    },
    priceExcludingFeesMin: {
      type: "integer",
      label: "Minimum Price Excluding Fees",
      description: "Greater than or equal to given price excluding fees.",
      optional: true,
    },
    pricePerMeterMax: {
      type: "integer",
      label: "Maximum Price Per Meter",
      description: "Lower than or equal to given price per meter.",
      optional: true,
    },
    pricePerMeterMin: {
      type: "integer",
      label: "Minimum Price Per Meter",
      description: "Greater than or equal to given price per meter.",
      optional: true,
    },
    propertyTypes: {
      type: "string[]",
      label: "Property Types",
      description: "Type of property. Apartment 0, House 1, Building 2, Parking 3, Office 4, Land 5, Shop 6.",
      options: constants.PROPERTY_TYPES,
      optional: true,
    },
    publisherTypes: {
      type: "string[]",
      label: "Publisher Types",
      description: "Type of publisher. Individual 0, Professional 1.",
      options: constants.PUBLISHER_TYPES,
      optional: true,
    },
    radius: {
      type: "integer",
      label: "Radius",
      description: "Distance expressed in kilometers. Will work if latitude & longitude parameters are also set.",
      optional: true,
    },
    rentalChargesMax: {
      type: "integer",
      label: "Maximum Rental Charges",
      description: "Lower than or equal to given rental charges amount.",
      optional: true,
    },
    rentalChargesMin: {
      type: "integer",
      label: "Minimum Rental Charges",
      description: "Greater than or equal to given rental charges amount.",
      optional: true,
    },
    rentalPledgeMax: {
      type: "integer",
      label: "Maximum Rental Pledge",
      description: "Lower than or equal to given rental pledge amount.",
      optional: true,
    },
    rentalPledgeMin: {
      type: "integer",
      label: "Minimum Rental Pledge",
      description: "Greater than or equal to given rental pledge amount.",
      optional: true,
    },
    renterFeesMax: {
      type: "integer",
      label: "Maximum Renter Fees",
      description: "Lower than or equal to given renter fees.",
      optional: true,
    },
    renterFeesMin: {
      type: "integer",
      label: "Minimum Renter Fees",
      description: "Greater than or equal to given renter fees.",
      optional: true,
    },
    roomMax: {
      type: "integer",
      label: "Maximum Rooms",
      description: "Maximum rooms of the property.",
      optional: true,
    },
    roomMin: {
      type: "integer",
      label: "Minimum Rooms",
      description: "Minimum rooms of the property.",
      optional: true,
    },
    surfaceMax: {
      type: "integer",
      label: "Surface Max",
      description: "Lower than or equal to given surface.",
      optional: true,
    },
    surfaceMin: {
      type: "integer",
      label: "Surface Min",
      description: "Greater than or equal to given surface.",
      optional: true,
    },
    toDate: {
      type: "string",
      label: "To Date",
      description: "To datetime — inclusive.",
      optional: true,
    },
    toUpdatedAt: {
      type: "string",
      label: "To Updated At",
      description: "Since datetime — inclusive.",
      optional: true,
    },
    transactionType: {
      type: "integer",
      label: "Transaction Type",
      description: "Type of transaction. Sell 0, Rent 1.",
      optional: true,
    },
    withCoherentPrice: {
      type: "boolean",
      label: "With Coherent Price",
      description: "Filter properties with coherent price.",
      optional: true,
      default: true,
    },
    withVirtualTour: {
      type: "boolean",
      label: "With Virtual Tour",
      description: "Having a virtual tour video link.",
      optional: true,
    },
  },
  async run({ $ }) {
    const {
      melo,
      ...params
    } = this;

    let page = 1;
    let total = 0;
    const itemsPerPage = 30;
    const properties = [];

    do {
      const response = await melo.searchProperties({
        params: {
          ...params,
          page,
          itemsPerPage,
        },
        $,
      });
      properties.push(...response["hydra:member"]);
      total = response["hydra:member"].length;
      page++;
    } while (total === itemsPerPage);

    if (properties.length) {
      $.export("$summary", `Successfully retrieved ${properties.length} propert${properties.length === 1
        ? "y"
        : "ies"}.`);
    }

    return properties;
  },
};

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
MelomeloappThis component uses the Melo app.
Maximum BedroomsbedroomMaxinteger

Maximum number of bedrooms in the property.

Minimum BedroomsbedroomMininteger

Minimum number of bedrooms in the property.

Maximum BudgetbudgetMaxinteger

Maximum budget for the property.

Minimum BudgetbudgetMininteger

Minimum budget for the property.

Maximum Condominium FeescondominiumFeesMaxinteger

Maximum condominium fees for the property.

Minimum Condominium FeescondominiumFeesMininteger

Minimum condominium fees for the property.

Maximum Construction YearconstructionYearMaxinteger

Maximum construction year of the property.

Minimum Construction YearconstructionYearMininteger

Minimum construction year of the property.

Energy Efficiency CategoriesenergyCategoriesstring[]

The energy efficiency categories of the property.

Maximum Energy ValueenergyValueMaxinteger

Maximum energy value of the property.

Minimum Energy ValueenergyValueMininteger

Minimum energy value of the property.

Event Price Variation From Created AteventPriceVariationFromCreatedAtstring

Date from which an event of type price is created — inclusive.

Maximum Event Price VariationeventPriceVariationMaxinteger

Maximum percent variation of an event of type price.

Minimum Event Price VariationeventPriceVariationMininteger

Minimum percent variation of an event of type price.

Event Price Variation To Created AteventPriceVariationToCreatedAtstring

Date before which an event of type price is created — inclusive.

Event Surface Variation From Created AteventSurfaceVariationFromCreatedAtstring

Date from which an event of type surface is created — inclusive.

Maximum Event Surface VariationeventSurfaceVariationMaxinteger

Maximum percent variation of an event of type surface.

Minimum Event Surface VariationeventSurfaceVariationMininteger

Minimum percent variation of an event of type surface.

Event Surface Variation To Created AteventSurfaceVariationToCreatedAtstring

Date before which an event of type surface is created — inclusive.

Excluded CitiesexcludedCitiesstring[]

Cities to be excluded.

Excluded Insee CodesexcludedInseeCodesstring[]

Insee codes to be excluded.

Excluded PropertiesexcludedPropertiesstring[]

Properties to be excluded.

Excluded ZipcodesexcludedZipcodesstring[]

Zipcodes to be excluded.

Expiredexpiredboolean

Whether to show properties that are expired. A property is considered expired when all its adverts are expired. Can be true, false or null. Default is null which returns all properties no matter if they’re expired or not.

Maximum Fees PercentagefeesPercentageMaxinteger

Maximum percentage of fees.

Minimum Fees PercentagefeesPercentageMininteger

Minimum percentage of fees.

Fees ResponsibilityfeesResponsibilitystringSelect a value from the drop down menu:{ "value": "0", "label": "Seller" }{ "value": "1", "label": "Buyer" }
Maximum Floor QuantityfloorQuantityMaxinteger

Maximum number of floors in the property.

Minimum Floor QuantityfloorQuantityMininteger

Minimum number of floors in the property.

From DatefromDatestring

Date from which the property is created — inclusive.

From Updated AtfromUpdatedAtstring

Date from which the property is updated — inclusive.

Furnishedfurnishedboolean

Filter for furnished properties.

Green House Gas CategoriesgreenHouseGasCategoriesstring[]

Green house gas performance letter array of the property.

Maximum Green House Gas ValuegreenHouseGasValueMaxinteger

Maximum value of green house gas of the property.

Minimum Green House Gas ValuegreenHouseGasValueMininteger

Minimum value of green house gas of the property.

Included CitiesincludedCitiesstring[]

Located in given cities.

Included DepartmentsincludedDepartmentsstring[]

Located in given departments.

Included Insee CodesincludedInseeCodesstring[]

Located in given insee codes.

Included ZipcodesincludedZipcodesstring[]

Located in given zipcodes.

Maximum Inventory PriceinventoryPriceMaxinteger

Lower than or equal to given inventory price.

Minimum Inventory PriceinventoryPriceMininteger

Greater than or equal to given inventory price.

Latitudelatstring

Latitude. Will work if latitude exists in the property.

Longitudelonstring

Longitude. Will work if longitude exists in the property.

Maximum Lot CountlotCountMaxinteger

Lower than or equal to given lot count.

Minimum Lot CountlotCountMininteger

Greater than or equal to given lot count.

Order by Creation DateorderCreatedAtstringSelect a value from the drop down menu:ascdesc
Order by Update DateorderUpdatedAtstringSelect a value from the drop down menu:ascdesc
Maximum Price Excluding FeespriceExcludingFeesMaxinteger

Lower than or equal to given price excluding fees.

Minimum Price Excluding FeespriceExcludingFeesMininteger

Greater than or equal to given price excluding fees.

Maximum Price Per MeterpricePerMeterMaxinteger

Lower than or equal to given price per meter.

Minimum Price Per MeterpricePerMeterMininteger

Greater than or equal to given price per meter.

Property TypespropertyTypesstring[]Select a value from the drop down menu:{ "value": "0", "label": "Apartment" }{ "value": "1", "label": "House" }{ "value": "2", "label": "Building" }{ "value": "3", "label": "Parking" }{ "value": "4", "label": "Office" }{ "value": "5", "label": "Land" }{ "value": "6", "label": "Shop" }
Publisher TypespublisherTypesstring[]Select a value from the drop down menu:{ "value": "0", "label": "Individual" }{ "value": "1", "label": "Professional" }
Radiusradiusinteger

Distance expressed in kilometers. Will work if latitude & longitude parameters are also set.

Maximum Rental ChargesrentalChargesMaxinteger

Lower than or equal to given rental charges amount.

Minimum Rental ChargesrentalChargesMininteger

Greater than or equal to given rental charges amount.

Maximum Rental PledgerentalPledgeMaxinteger

Lower than or equal to given rental pledge amount.

Minimum Rental PledgerentalPledgeMininteger

Greater than or equal to given rental pledge amount.

Maximum Renter FeesrenterFeesMaxinteger

Lower than or equal to given renter fees.

Minimum Renter FeesrenterFeesMininteger

Greater than or equal to given renter fees.

Maximum RoomsroomMaxinteger

Maximum rooms of the property.

Minimum RoomsroomMininteger

Minimum rooms of the property.

Surface MaxsurfaceMaxinteger

Lower than or equal to given surface.

Surface MinsurfaceMininteger

Greater than or equal to given surface.

To DatetoDatestring

To datetime — inclusive.

To Updated AttoUpdatedAtstring

Since datetime — inclusive.

Transaction TypetransactionTypeinteger

Type of transaction. Sell 0, Rent 1.

With Coherent PricewithCoherentPriceboolean

Filter properties with coherent price.

With Virtual TourwithVirtualTourboolean

Having a virtual tour video link.

Action Authentication

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

About Melo

Power your business with comprehensive property data delivered via the most reactive real estate API

More Ways to Connect Melo + Salesforce

Search Properties with Melo API on New Object (Instant, of Selectable Type) from Salesforce (REST API) API
Salesforce + Melo
 
Try it
Search Properties with Melo API on New Object (of Selectable Type) from Salesforce (REST API) API
Salesforce + Melo
 
Try it
Search Properties with Melo API on New Deleted Object (Instant, of Selectable Type) from Salesforce (REST API) API
Salesforce + Melo
 
Try it
Search Properties with Melo API on New Deleted Object (of Selectable Type) from Salesforce (REST API) API
Salesforce + Melo
 
Try it
Search Properties with Melo API on New Updated Object (Instant, of Selectable Type) from Salesforce (REST API) API
Salesforce + Melo
 
Try it
New Deleted Record (Instant, of Selectable Type) from the Salesforce API

Emit new event when a record of the selected object type is deleted. See the documentation

 
Try it
New Outbound Message (Instant) from the Salesforce API

Emit new event when a new outbound message is received in Salesforce.

 
Try it
New Record (Instant, of Selectable Type) from the Salesforce API

Emit new event when a record of the selected object type is created. See the documentation

 
Try it
New Updated Record (Instant, of Selectable Type) from the Salesforce API

Emit new event when a record of the selected type is updated. See the documentation

 
Try it
New Property Created (Instant) from the Melo API

Emit new event when a new property ad is created in Melo. Requires a Production Environment.

 
Try it
Add Contact to Campaign with the Salesforce API

Adds an existing contact to an existing campaign. See the documentation

 
Try it
Add Lead to Campaign with the Salesforce API

Adds an existing lead to an existing campaign. See the documentation

 
Try it
Convert SOAP XML Object to JSON with the Salesforce API

Converts a SOAP XML Object received from Salesforce to JSON

 
Try it
Create Account with the Salesforce API

Creates a Salesforce account. See the documentation

 
Try it
Create Attachment with the Salesforce API

Creates an Attachment on a parent object. See the documentation

 
Try it

Explore Other Apps

1
-
24
of
2,400+
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
Salesforce
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
Shopify
Shopify is a complete commerce platform that lets anyone start, manage, and grow a business. You can use Shopify to build an online store, manage sales, market to customers, and accept payments in digital and physical locations.
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.
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.
Schedule
Schedule
Trigger workflows on an interval or cron schedule.